From 4d85407ea4ae5eaf92ab0d17ee11fb6c2659de6d Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 31 Oct 2021 23:18:55 +0900 Subject: [PATCH 01/59] add some locales Resolve #7940 --- locales/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/locales/index.js b/locales/index.js index 35f9972ff..a0181cd7a 100644 --- a/locales/index.js +++ b/locales/index.js @@ -19,9 +19,11 @@ const languages = [ 'da-DK', 'de-DE', 'en-US', + 'eo-UY', 'es-ES', 'fr-FR', 'id-ID', + 'it-IT', 'ja-JP', 'ja-KS', 'kab-KAB', From 1c91945bf594d97b2d8c29ae8bef7f6e2e8929c3 Mon Sep 17 00:00:00 2001 From: marihachi Date: Mon, 1 Nov 2021 23:47:13 +0900 Subject: [PATCH 02/59] refactor: Introduce list of MFM Functions (#7882) * introduce list of MFM Functions * add note --- src/client/components/mfm.ts | 3 ++- src/mfm/fn-name-list.ts | 23 ++++++++++++++++++++ src/remote/activitypub/misc/get-note-html.ts | 3 ++- src/remote/activitypub/renderer/person.ts | 3 ++- src/services/note/create.ts | 7 +++--- 5 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 src/mfm/fn-name-list.ts diff --git a/src/client/components/mfm.ts b/src/client/components/mfm.ts index f3411cadc..ad6e711f6 100644 --- a/src/client/components/mfm.ts +++ b/src/client/components/mfm.ts @@ -11,6 +11,7 @@ import MkGoogle from '@client/components/google.vue'; import MkSparkle from '@client/components/sparkle.vue'; import MkA from '@client/components/global/a.vue'; import { host } from '@client/config'; +import { fnNameList } from '@/mfm/fn-name-list'; export default defineComponent({ props: { @@ -46,7 +47,7 @@ export default defineComponent({ render() { if (this.text == null || this.text == '') return; - const ast = (this.plain ? mfm.parsePlain : mfm.parse)(this.text); + const ast = (this.plain ? mfm.parsePlain : mfm.parse)(this.text, { fnNameList }); const validTime = (t: string | null | undefined) => { if (t == null) return null; diff --git a/src/mfm/fn-name-list.ts b/src/mfm/fn-name-list.ts new file mode 100644 index 000000000..1203bfffd --- /dev/null +++ b/src/mfm/fn-name-list.ts @@ -0,0 +1,23 @@ +// NOTE: client/components/autocomplete.vueにも関数のリスト(MFM_TAGS)があるので統合? + +const fnNameList = [ + 'tada', + 'jelly', + 'twitch', + 'shake', + 'spin', + 'jump', + 'bounce', + 'flip', + 'x2', + 'x3', + 'x4', + 'font', + 'blur', + 'rainbow', + 'sparkle', +]; + +export { + fnNameList +}; diff --git a/src/remote/activitypub/misc/get-note-html.ts b/src/remote/activitypub/misc/get-note-html.ts index 043335a5b..a24ec43a6 100644 --- a/src/remote/activitypub/misc/get-note-html.ts +++ b/src/remote/activitypub/misc/get-note-html.ts @@ -1,9 +1,10 @@ import * as mfm from 'mfm-js'; +import { fnNameList } from '@/mfm/fn-name-list'; import { Note } from '@/models/entities/note'; import { toHtml } from '../../../mfm/to-html'; export default function(note: Note) { - let html = note.text ? toHtml(mfm.parse(note.text), JSON.parse(note.mentionedRemoteUsers)) : null; + let html = note.text ? toHtml(mfm.parse(note.text, { fnNameList }), JSON.parse(note.mentionedRemoteUsers)) : null; if (html == null) html = '

.

'; return html; diff --git a/src/remote/activitypub/renderer/person.ts b/src/remote/activitypub/renderer/person.ts index f2a283a87..7e94abddf 100644 --- a/src/remote/activitypub/renderer/person.ts +++ b/src/remote/activitypub/renderer/person.ts @@ -11,6 +11,7 @@ import { IIdentifier } from '../models/identifier'; import renderHashtag from './hashtag'; import { DriveFiles, UserProfiles } from '@/models/index'; import { getUserKeypair } from '@/misc/keypair-store'; +import { fnNameList } from '@/mfm/fn-name-list'; export async function renderPerson(user: ILocalUser) { const id = `${config.url}/users/${user.id}`; @@ -66,7 +67,7 @@ export async function renderPerson(user: ILocalUser) { url: `${config.url}/@${user.username}`, preferredUsername: user.username, name: user.name, - summary: profile.description ? toHtml(mfm.parse(profile.description)) : null, + summary: profile.description ? toHtml(mfm.parse(profile.description, { fnNameList })) : null, icon: avatar ? renderImage(avatar) : null, image: banner ? renderImage(banner) : null, tag, diff --git a/src/services/note/create.ts b/src/services/note/create.ts index 69d854ab1..98819c69a 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -34,6 +34,7 @@ import { deliverToRelays } from '../relay'; import { Channel } from '@/models/entities/channel'; import { normalizeForSearch } from '@/misc/normalize-for-search'; import { getAntennas } from '@/misc/antenna-cache'; +import { fnNameList } from '@/mfm/fn-name-list'; type NotificationType = 'reply' | 'renote' | 'quote' | 'mention'; @@ -182,10 +183,10 @@ export default async (user: { id: User['id']; username: User['username']; host: // Parse MFM if needed if (!tags || !emojis || !mentionedUsers) { - const tokens = data.text ? mfm.parse(data.text)! : []; - const cwTokens = data.cw ? mfm.parse(data.cw)! : []; + const tokens = data.text ? mfm.parse(data.text, { fnNameList })! : []; + const cwTokens = data.cw ? mfm.parse(data.cw, { fnNameList })! : []; const choiceTokens = data.poll && data.poll.choices - ? concat(data.poll.choices.map(choice => mfm.parse(choice)!)) + ? concat(data.poll.choices.map(choice => mfm.parse(choice, { fnNameList })!)) : []; const combinedTokens = tokens.concat(cwTokens).concat(choiceTokens); From 43695a5c6f0e870d44da6479bc00475f77542057 Mon Sep 17 00:00:00 2001 From: tamaina Date: Fri, 5 Nov 2021 00:09:13 +0900 Subject: [PATCH 03/59] =?UTF-8?q?enhane:=20=E5=AE=8C=E5=85=A8=E3=83=AD?= =?UTF-8?q?=E3=82=B0=E3=82=A2=E3=82=A6=E3=83=88=E6=99=82=E3=81=AB=E3=81=99?= =?UTF-8?q?=E3=81=B9=E3=81=A6=E3=81=AE=E3=82=BF=E3=83=96=E3=81=8C=E3=82=A6?= =?UTF-8?q?=E3=82=A7=E3=83=AB=E3=82=AB=E3=83=A0=E3=83=9A=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=81=B8=E7=A7=BB=E5=8B=95=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=20(#7928)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhane: unison-reloadに指定したパスに移動できるように * null * null * null * add comments --- src/client/account.ts | 6 ++++-- src/client/init.ts | 5 ++++- src/client/scripts/unison-reload.ts | 13 +++++++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/client/account.ts b/src/client/account.ts index a3fe082a2..a2165ebed 100644 --- a/src/client/account.ts +++ b/src/client/account.ts @@ -61,7 +61,7 @@ export async function signout() { document.cookie = `igi=; path=/`; if (accounts.length > 0) login(accounts[0].token); - else unisonReload(); + else unisonReload('/'); } export async function getAccounts(): Promise<{ id: Account['id'], token: Account['token'] }[]> { @@ -122,7 +122,9 @@ export async function login(token: Account['token'], redirect?: string) { await addAccount(me.id, token); if (redirect) { - reloadChannel.postMessage('reload'); + // 他のタブは再読み込みするだけ + reloadChannel.postMessage(null); + // このページはredirectで指定された先に移動 location.href = redirect; return; } diff --git a/src/client/init.ts b/src/client/init.ts index 654e17639..81d17f0d2 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -93,7 +93,10 @@ if (defaultStore.state.reportError && !_DEV_) { document.addEventListener('touchend', () => {}, { passive: true }); // 一斉リロード -reloadChannel.addEventListener('message', () => location.reload()); +reloadChannel.addEventListener('message', path => { + if (path !== null) location.href = path; + else location.reload(); +}); //#region SEE: https://css-tricks.com/the-trick-to-viewport-units-on-mobile/ // TODO: いつの日にか消したい diff --git a/src/client/scripts/unison-reload.ts b/src/client/scripts/unison-reload.ts index 92556aefa..59af584c1 100644 --- a/src/client/scripts/unison-reload.ts +++ b/src/client/scripts/unison-reload.ts @@ -1,10 +1,15 @@ // SafariがBroadcastChannel未実装なのでライブラリを使う import { BroadcastChannel } from 'broadcast-channel'; -export const reloadChannel = new BroadcastChannel<'reload'>('reload'); +export const reloadChannel = new BroadcastChannel('reload'); // BroadcastChannelを用いて、クライアントが一斉にreloadするようにします。 -export function unisonReload() { - reloadChannel.postMessage('reload'); - location.reload(); +export function unisonReload(path?: string) { + if (path !== undefined) { + reloadChannel.postMessage(path); + location.href = path; + } else { + reloadChannel.postMessage(null); + location.reload(); + } } From 834e9cf1d7071ad1f415da7615c98f209b847ccc Mon Sep 17 00:00:00 2001 From: Johann150 Date: Fri, 5 Nov 2021 02:48:37 +0100 Subject: [PATCH 04/59] limit menu list size (#7950) This can be an issue for example when adding an object to the room. --- src/client/components/ui/menu.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/client/components/ui/menu.vue b/src/client/components/ui/menu.vue index aaef527f1..5b3a0ae7c 100644 --- a/src/client/components/ui/menu.vue +++ b/src/client/components/ui/menu.vue @@ -147,6 +147,8 @@ export default defineComponent({ .rrevdjwt { padding: 8px 0; min-width: 200px; + max-height: 90vh; + overflow: auto; &.center { > .item { From 8d1220798599585423d20d72ea7325b6b9f00a73 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 5 Nov 2021 10:49:30 +0900 Subject: [PATCH 05/59] Update CHANGELOG.md --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6847049bb..3e7ebcab1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ --> +## 12.x.x (unreleased) + +### Improvements + +### Bugfixes +- クライアント: 長いメニューが画面からはみ出す問題を修正 + ## 12.95.0 (2021/10/31) ### Improvements From a8ebaa4cea980785cf82a797a9a1c4ba2834defe Mon Sep 17 00:00:00 2001 From: Johann150 Date: Fri, 5 Nov 2021 02:49:50 +0100 Subject: [PATCH 06/59] fix missing i18n string (#7945) --- src/client/pages/explore.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/pages/explore.vue b/src/client/pages/explore.vue index a77b4e53c..5a23d34d2 100644 --- a/src/client/pages/explore.vue +++ b/src/client/pages/explore.vue @@ -70,7 +70,7 @@ - + From ff8a0a2deb0fc19a92eacfda289ca12335ec6a85 Mon Sep 17 00:00:00 2001 From: Johann150 Date: Fri, 5 Nov 2021 03:54:26 +0100 Subject: [PATCH 07/59] fix html conversion issue with code blocks (#7943) --- src/mfm/from-html.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mfm/from-html.ts b/src/mfm/from-html.ts index 14279f338..de6aa3d0c 100644 --- a/src/mfm/from-html.ts +++ b/src/mfm/from-html.ts @@ -147,7 +147,7 @@ export function fromHtml(html: string, hashtagNames?: string[]): string | null { // block code (
)
 			case 'pre': {
 				if (node.childNodes.length === 1 && node.childNodes[0].nodeName === 'code') {
-					text += '```\n';
+					text += '\n```\n';
 					text += getText(node.childNodes[0]);
 					text += '\n```\n';
 				} else {

From 20d4ea720d5019c4039d1aa7aeda398ddd9a76b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=82=B7=E3=82=A2=E3=83=8E=E3=83=B3?=
 
Date: Fri, 5 Nov 2021 11:55:00 +0900
Subject: [PATCH 08/59] =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=88=E3=83=AD?=
 =?UTF-8?q?=E3=83=BC=E3=83=AB=E3=83=91=E3=83=8D=E3=83=AB=E3=81=AE=E3=82=B8?=
 =?UTF-8?q?=E3=83=A7=E3=83=96=E3=82=AD=E3=83=A5=E3=83=BC=E3=81=AB=E5=80=8B?=
 =?UTF-8?q?=E3=80=85=E3=81=AE=E3=82=B8=E3=83=A7=E3=83=96=E3=81=8C=E8=A1=A8?=
 =?UTF-8?q?=E7=A4=BA=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84=E3=81=AE=E3=82=92?=
 =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20(#7941)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/client/pages/admin/queue.chart.vue | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/client/pages/admin/queue.chart.vue b/src/client/pages/admin/queue.chart.vue
index 084181a60..38cd0b10e 100644
--- a/src/client/pages/admin/queue.chart.vue
+++ b/src/client/pages/admin/queue.chart.vue
@@ -55,8 +55,8 @@ export default defineComponent({
 		const jobs = ref([]);
 
 		onMounted(() => {
-			os.api(props.domain === 'inbox' ? 'admin/queue/inbox-delayed' : props.domain === 'deliver' ? 'admin/queue/deliver-delayed' : null, {}).then(jobs => {
-				jobs.value = jobs;
+			os.api(props.domain === 'inbox' ? 'admin/queue/inbox-delayed' : props.domain === 'deliver' ? 'admin/queue/deliver-delayed' : null, {}).then(result => {
+				jobs.value = result;
 			});
 
 			const onStats = (stats) => {

From dc6e2f28ceb13f26e016a8a35aa3527d1eb76cdc Mon Sep 17 00:00:00 2001
From: syuilo 
Date: Fri, 5 Nov 2021 12:22:52 +0900
Subject: [PATCH 09/59] Update CHANGELOG.md

---
 CHANGELOG.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3e7ebcab1..8fb7c306c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,9 @@
 
 ### Bugfixes
 - クライアント: 長いメニューが画面からはみ出す問題を修正
+- クライアント: コントロールパネルのジョブキューに個々のジョブが表示されないのを修正
+- クライアント: fix missing i18n string
+- fix html conversion issue with code blocks
 
 ## 12.95.0 (2021/10/31)
 

From 851c388af6d4802623a882e917f26faf210a7aa4 Mon Sep 17 00:00:00 2001
From: syuilo 
Date: Fri, 5 Nov 2021 12:32:35 +0900
Subject: [PATCH 10/59] Update abuses.vue

---
 src/client/pages/admin/abuses.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/client/pages/admin/abuses.vue b/src/client/pages/admin/abuses.vue
index 29da8cc2c..fb99347f3 100644
--- a/src/client/pages/admin/abuses.vue
+++ b/src/client/pages/admin/abuses.vue
@@ -10,7 +10,7 @@
 					
 				
 				
-					
+					
 					
 					
 					

From d9e05c2f4bb578eb7b6fc3b577692dbeb22ead29 Mon Sep 17 00:00:00 2001
From: Robin B 
Date: Fri, 5 Nov 2021 04:32:47 +0100
Subject: [PATCH 11/59] fix(client): Add missing localization string (#7944)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* 欠けるi18nストリングの追加

* Update ja-JP.yml

Co-authored-by: syuilo 
---
 locales/ja-JP.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 1326369f8..866364def 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -620,6 +620,8 @@ reportAbuse: "通報"
 reportAbuseOf: "{name}を通報する"
 fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のノートがある場合はそのURLも記入してください。"
 abuseReported: "内容が送信されました。ご報告ありがとうございました。"
+reporteeOrigin: "通報先"
+reporterOrigin: "通報元"
 send: "送信"
 abuseMarkAsResolved: "対応済みにする"
 openInNewTab: "新しいタブで開く"

From a0855e18de902ddf493b8ca21772c55bb6c6161c Mon Sep 17 00:00:00 2001
From: syuilo 
Date: Fri, 5 Nov 2021 16:18:52 +0900
Subject: [PATCH 12/59] =?UTF-8?q?=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1?=
 =?UTF-8?q?=E3=83=B3=E3=83=88=E3=82=92misskey-hub=E3=81=AB=E7=A7=BB?=
 =?UTF-8?q?=E8=A1=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CONTRIBUTING.md                               |   4 -
 crowdin.yml                                   |   3 -
 locales/ja-JP.yml                             |   8 -
 package.json                                  |   3 -
 src/client/components/launch-pad.vue          |   4 +-
 src/client/components/updated.vue             |   2 +-
 src/client/pages/about-misskey.vue            |   2 +-
 src/client/pages/doc.vue                      | 240 ------------
 src/client/pages/docs.vue                     | 152 --------
 src/client/pages/share.vue                    |   2 +-
 src/client/pages/timeline.tutorial.vue        |   2 +-
 src/client/pages/welcome.entrance.a.vue       |   2 +-
 src/client/pages/welcome.entrance.b.vue       |   2 +-
 src/client/pages/welcome.entrance.c.vue       |   2 +-
 src/client/router.ts                          |   2 -
 src/client/ui/desktop.vue                     |   2 +-
 src/client/ui/visitor/a.vue                   |   2 +-
 src/client/ui/visitor/b.vue                   |   2 +-
 src/client/ui/zen.vue                         |   2 +-
 src/docs/ar-SA/admin/disable-timelines.md     |   8 -
 src/docs/ar-SA/admin/faq.md                   |   5 -
 src/docs/ar-SA/advanced/aiscript.md           |   7 -
 src/docs/ar-SA/advanced/api.md                |  58 ---
 src/docs/ar-SA/advanced/create-plugin.md      |  74 ----
 src/docs/ar-SA/advanced/develop-bot.md        |   6 -
 src/docs/ar-SA/advanced/reversi-bot.md        | 160 --------
 src/docs/ar-SA/advanced/share-page.md         |  54 ---
 src/docs/ar-SA/advanced/stream.md             | 350 -----------------
 src/docs/ar-SA/aiscript.md                    |   4 -
 src/docs/ar-SA/api.md                         |  58 ---
 src/docs/ar-SA/create-plugin.md               |  74 ----
 src/docs/ar-SA/custom-emoji.md                |   2 -
 src/docs/ar-SA/deck.md                        |  18 -
 src/docs/ar-SA/features/antenna.md            |   4 -
 src/docs/ar-SA/features/custom-emoji.md       |   2 -
 src/docs/ar-SA/features/deck.md               |  18 -
 src/docs/ar-SA/features/drive.md              |  17 -
 src/docs/ar-SA/features/favorite.md           |   4 -
 src/docs/ar-SA/features/follow.md             |   2 -
 src/docs/ar-SA/features/keyboard-shortcut.md  |  66 ----
 src/docs/ar-SA/features/mfm.md                |  12 -
 src/docs/ar-SA/features/mute-and-block.md     |  41 --
 src/docs/ar-SA/features/mute.md               |  13 -
 src/docs/ar-SA/features/note.md               |  54 ---
 src/docs/ar-SA/features/pages.md              |  10 -
 src/docs/ar-SA/features/reaction.md           |  11 -
 src/docs/ar-SA/features/silence.md            |   6 -
 src/docs/ar-SA/features/theme.md              |  68 ----
 src/docs/ar-SA/features/timeline.md           |  31 --
 src/docs/ar-SA/features/widgets.md            |   7 -
 src/docs/ar-SA/features/word-mute.md          |  20 -
 src/docs/ar-SA/follow.md                      |   2 -
 src/docs/ar-SA/general/apps.md                |   6 -
 src/docs/ar-SA/general/changelog.md           |   5 -
 src/docs/ar-SA/general/faq.md                 |  28 --
 src/docs/ar-SA/general/glossary.md            |  89 -----
 src/docs/ar-SA/general/links.md               |  12 -
 src/docs/ar-SA/general/misskey.md             |  87 -----
 src/docs/ar-SA/general/report-issue.md        |   8 -
 src/docs/ar-SA/general/troubleshooting.md     |  40 --
 src/docs/ar-SA/keyboard-shortcut.md           |  68 ----
 src/docs/ar-SA/mfm.md                         |   2 -
 src/docs/ar-SA/mute.md                        |  13 -
 src/docs/ar-SA/pages.md                       |  10 -
 src/docs/ar-SA/reaction.md                    |  11 -
 src/docs/ar-SA/reversi-bot.md                 | 160 --------
 src/docs/ar-SA/stream.md                      | 354 ------------------
 src/docs/ar-SA/theme.md                       |  68 ----
 src/docs/ar-SA/timelines.md                   |  15 -
 src/docs/cs-CZ/admin/disable-timelines.md     |   8 -
 src/docs/cs-CZ/admin/faq.md                   |   5 -
 src/docs/cs-CZ/advanced/aiscript.md           |   7 -
 src/docs/cs-CZ/advanced/api.md                |  58 ---
 src/docs/cs-CZ/advanced/create-plugin.md      |  74 ----
 src/docs/cs-CZ/advanced/develop-bot.md        |   6 -
 src/docs/cs-CZ/advanced/reversi-bot.md        | 160 --------
 src/docs/cs-CZ/advanced/share-page.md         |  54 ---
 src/docs/cs-CZ/advanced/stream.md             | 350 -----------------
 src/docs/cs-CZ/aiscript.md                    |   4 -
 src/docs/cs-CZ/api.md                         |  58 ---
 src/docs/cs-CZ/create-plugin.md               |  74 ----
 src/docs/cs-CZ/custom-emoji.md                |   2 -
 src/docs/cs-CZ/deck.md                        |  18 -
 src/docs/cs-CZ/features/antenna.md            |   4 -
 src/docs/cs-CZ/features/custom-emoji.md       |   2 -
 src/docs/cs-CZ/features/deck.md               |  18 -
 src/docs/cs-CZ/features/drive.md              |  17 -
 src/docs/cs-CZ/features/favorite.md           |   4 -
 src/docs/cs-CZ/features/follow.md             |   2 -
 src/docs/cs-CZ/features/keyboard-shortcut.md  |  66 ----
 src/docs/cs-CZ/features/mfm.md                |  12 -
 src/docs/cs-CZ/features/mute-and-block.md     |  41 --
 src/docs/cs-CZ/features/mute.md               |  13 -
 src/docs/cs-CZ/features/note.md               |  54 ---
 src/docs/cs-CZ/features/pages.md              |  10 -
 src/docs/cs-CZ/features/reaction.md           |  11 -
 src/docs/cs-CZ/features/silence.md            |   6 -
 src/docs/cs-CZ/features/theme.md              |  68 ----
 src/docs/cs-CZ/features/timeline.md           |  31 --
 src/docs/cs-CZ/features/widgets.md            |   7 -
 src/docs/cs-CZ/features/word-mute.md          |  20 -
 src/docs/cs-CZ/follow.md                      |   2 -
 src/docs/cs-CZ/general/apps.md                |   6 -
 src/docs/cs-CZ/general/changelog.md           |   5 -
 src/docs/cs-CZ/general/faq.md                 |  28 --
 src/docs/cs-CZ/general/glossary.md            |  89 -----
 src/docs/cs-CZ/general/links.md               |  12 -
 src/docs/cs-CZ/general/misskey.md             |  87 -----
 src/docs/cs-CZ/general/report-issue.md        |   8 -
 src/docs/cs-CZ/general/troubleshooting.md     |  40 --
 src/docs/cs-CZ/keyboard-shortcut.md           |  68 ----
 src/docs/cs-CZ/mfm.md                         |   2 -
 src/docs/cs-CZ/mute.md                        |  13 -
 src/docs/cs-CZ/pages.md                       |  10 -
 src/docs/cs-CZ/reaction.md                    |  11 -
 src/docs/cs-CZ/reversi-bot.md                 | 160 --------
 src/docs/cs-CZ/stream.md                      | 354 ------------------
 src/docs/cs-CZ/theme.md                       |  68 ----
 src/docs/cs-CZ/timelines.md                   |  15 -
 src/docs/da-DK/admin/disable-timelines.md     |   8 -
 src/docs/da-DK/admin/faq.md                   |   5 -
 src/docs/da-DK/advanced/aiscript.md           |   7 -
 src/docs/da-DK/advanced/api.md                |  58 ---
 src/docs/da-DK/advanced/create-plugin.md      |  74 ----
 src/docs/da-DK/advanced/develop-bot.md        |   6 -
 src/docs/da-DK/advanced/reversi-bot.md        | 160 --------
 src/docs/da-DK/advanced/share-page.md         |  54 ---
 src/docs/da-DK/advanced/stream.md             | 350 -----------------
 src/docs/da-DK/aiscript.md                    |   4 -
 src/docs/da-DK/api.md                         |  58 ---
 src/docs/da-DK/create-plugin.md               |  74 ----
 src/docs/da-DK/custom-emoji.md                |   2 -
 src/docs/da-DK/deck.md                        |  18 -
 src/docs/da-DK/features/antenna.md            |   4 -
 src/docs/da-DK/features/custom-emoji.md       |   2 -
 src/docs/da-DK/features/deck.md               |  18 -
 src/docs/da-DK/features/drive.md              |  17 -
 src/docs/da-DK/features/favorite.md           |   4 -
 src/docs/da-DK/features/follow.md             |   2 -
 src/docs/da-DK/features/keyboard-shortcut.md  |  66 ----
 src/docs/da-DK/features/mfm.md                |  12 -
 src/docs/da-DK/features/mute-and-block.md     |  41 --
 src/docs/da-DK/features/mute.md               |  13 -
 src/docs/da-DK/features/note.md               |  54 ---
 src/docs/da-DK/features/pages.md              |  10 -
 src/docs/da-DK/features/reaction.md           |  11 -
 src/docs/da-DK/features/silence.md            |   6 -
 src/docs/da-DK/features/theme.md              |  68 ----
 src/docs/da-DK/features/timeline.md           |  31 --
 src/docs/da-DK/features/widgets.md            |   7 -
 src/docs/da-DK/features/word-mute.md          |  20 -
 src/docs/da-DK/follow.md                      |   2 -
 src/docs/da-DK/general/apps.md                |   6 -
 src/docs/da-DK/general/changelog.md           |   5 -
 src/docs/da-DK/general/faq.md                 |  28 --
 src/docs/da-DK/general/glossary.md            |  89 -----
 src/docs/da-DK/general/links.md               |  12 -
 src/docs/da-DK/general/misskey.md             |  87 -----
 src/docs/da-DK/general/report-issue.md        |   8 -
 src/docs/da-DK/general/troubleshooting.md     |  40 --
 src/docs/da-DK/keyboard-shortcut.md           |  68 ----
 src/docs/da-DK/mfm.md                         |   2 -
 src/docs/da-DK/mute.md                        |  13 -
 src/docs/da-DK/pages.md                       |  10 -
 src/docs/da-DK/reaction.md                    |  11 -
 src/docs/da-DK/reversi-bot.md                 | 160 --------
 src/docs/da-DK/stream.md                      | 354 ------------------
 src/docs/da-DK/theme.md                       |  68 ----
 src/docs/da-DK/timelines.md                   |  15 -
 src/docs/de-DE/admin/disable-timelines.md     |   8 -
 src/docs/de-DE/admin/faq.md                   |   5 -
 src/docs/de-DE/advanced/aiscript.md           |   7 -
 src/docs/de-DE/advanced/api.md                |  58 ---
 src/docs/de-DE/advanced/create-plugin.md      |  74 ----
 src/docs/de-DE/advanced/develop-bot.md        |   6 -
 src/docs/de-DE/advanced/reversi-bot.md        | 160 --------
 src/docs/de-DE/advanced/share-page.md         |  54 ---
 src/docs/de-DE/advanced/stream.md             | 350 -----------------
 src/docs/de-DE/aiscript.md                    |   4 -
 src/docs/de-DE/api.md                         |  58 ---
 src/docs/de-DE/create-plugin.md               |  74 ----
 src/docs/de-DE/custom-emoji.md                |   2 -
 src/docs/de-DE/deck.md                        |  18 -
 src/docs/de-DE/features/antenna.md            |   4 -
 src/docs/de-DE/features/custom-emoji.md       |   2 -
 src/docs/de-DE/features/deck.md               |  18 -
 src/docs/de-DE/features/drive.md              |  17 -
 src/docs/de-DE/features/favorite.md           |   4 -
 src/docs/de-DE/features/follow.md             |   2 -
 src/docs/de-DE/features/keyboard-shortcut.md  |  66 ----
 src/docs/de-DE/features/mfm.md                |  12 -
 src/docs/de-DE/features/mute-and-block.md     |  41 --
 src/docs/de-DE/features/mute.md               |  13 -
 src/docs/de-DE/features/note.md               |  54 ---
 src/docs/de-DE/features/pages.md              |  10 -
 src/docs/de-DE/features/reaction.md           |  11 -
 src/docs/de-DE/features/silence.md            |   6 -
 src/docs/de-DE/features/theme.md              |  68 ----
 src/docs/de-DE/features/timeline.md           |  31 --
 src/docs/de-DE/features/widgets.md            |   7 -
 src/docs/de-DE/features/word-mute.md          |  20 -
 src/docs/de-DE/follow.md                      |   2 -
 src/docs/de-DE/general/apps.md                |   6 -
 src/docs/de-DE/general/changelog.md           |   5 -
 src/docs/de-DE/general/faq.md                 |  28 --
 src/docs/de-DE/general/glossary.md            |  89 -----
 src/docs/de-DE/general/links.md               |  12 -
 src/docs/de-DE/general/misskey.md             |  87 -----
 src/docs/de-DE/general/report-issue.md        |   8 -
 src/docs/de-DE/general/troubleshooting.md     |  40 --
 src/docs/de-DE/keyboard-shortcut.md           |  68 ----
 src/docs/de-DE/mfm.md                         |   2 -
 src/docs/de-DE/mute.md                        |  13 -
 src/docs/de-DE/pages.md                       |  10 -
 src/docs/de-DE/reaction.md                    |  11 -
 src/docs/de-DE/reversi-bot.md                 | 160 --------
 src/docs/de-DE/stream.md                      | 354 ------------------
 src/docs/de-DE/theme.md                       |  68 ----
 src/docs/de-DE/timelines.md                   |  15 -
 src/docs/en-US/admin/disable-timelines.md     |   8 -
 src/docs/en-US/admin/faq.md                   |   5 -
 src/docs/en-US/advanced/aiscript.md           |   7 -
 src/docs/en-US/advanced/api.md                |  58 ---
 src/docs/en-US/advanced/create-plugin.md      |  74 ----
 src/docs/en-US/advanced/develop-bot.md        |   6 -
 src/docs/en-US/advanced/reversi-bot.md        | 160 --------
 src/docs/en-US/advanced/share-page.md         |  54 ---
 src/docs/en-US/advanced/stream.md             | 350 -----------------
 src/docs/en-US/aiscript.md                    |   4 -
 src/docs/en-US/api.md                         |  58 ---
 src/docs/en-US/create-plugin.md               |  74 ----
 src/docs/en-US/custom-emoji.md                |   2 -
 src/docs/en-US/deck.md                        |  18 -
 src/docs/en-US/features/antenna.md            |   4 -
 src/docs/en-US/features/custom-emoji.md       |   2 -
 src/docs/en-US/features/deck.md               |  18 -
 src/docs/en-US/features/drive.md              |  17 -
 src/docs/en-US/features/favorite.md           |   4 -
 src/docs/en-US/features/follow.md             |   2 -
 src/docs/en-US/features/keyboard-shortcut.md  |  66 ----
 src/docs/en-US/features/mfm.md                |  12 -
 src/docs/en-US/features/mute-and-block.md     |  41 --
 src/docs/en-US/features/mute.md               |  13 -
 src/docs/en-US/features/note.md               |  54 ---
 src/docs/en-US/features/pages.md              |  10 -
 src/docs/en-US/features/reaction.md           |  11 -
 src/docs/en-US/features/silence.md            |   6 -
 src/docs/en-US/features/theme.md              |  68 ----
 src/docs/en-US/features/timeline.md           |  31 --
 src/docs/en-US/features/widgets.md            |   7 -
 src/docs/en-US/features/word-mute.md          |  20 -
 src/docs/en-US/follow.md                      |   2 -
 src/docs/en-US/general/apps.md                |   6 -
 src/docs/en-US/general/changelog.md           |   5 -
 src/docs/en-US/general/faq.md                 |  28 --
 src/docs/en-US/general/glossary.md            |  89 -----
 src/docs/en-US/general/links.md               |  12 -
 src/docs/en-US/general/misskey.md             |  86 -----
 src/docs/en-US/general/report-issue.md        |   8 -
 src/docs/en-US/general/troubleshooting.md     |  40 --
 src/docs/en-US/keyboard-shortcut.md           |  68 ----
 src/docs/en-US/mfm.md                         |   2 -
 src/docs/en-US/mute.md                        |  13 -
 src/docs/en-US/pages.md                       |  10 -
 src/docs/en-US/reaction.md                    |  11 -
 src/docs/en-US/reversi-bot.md                 | 160 --------
 src/docs/en-US/stream.md                      | 354 ------------------
 src/docs/en-US/theme.md                       |  68 ----
 src/docs/en-US/timelines.md                   |  15 -
 src/docs/eo-UY/admin/disable-timelines.md     |   8 -
 src/docs/eo-UY/admin/faq.md                   |   5 -
 src/docs/eo-UY/advanced/aiscript.md           |   7 -
 src/docs/eo-UY/advanced/api.md                |  58 ---
 src/docs/eo-UY/advanced/create-plugin.md      |  74 ----
 src/docs/eo-UY/advanced/develop-bot.md        |   6 -
 src/docs/eo-UY/advanced/reversi-bot.md        | 160 --------
 src/docs/eo-UY/advanced/share-page.md         |  54 ---
 src/docs/eo-UY/advanced/stream.md             | 350 -----------------
 src/docs/eo-UY/aiscript.md                    |   4 -
 src/docs/eo-UY/api.md                         |  58 ---
 src/docs/eo-UY/create-plugin.md               |  74 ----
 src/docs/eo-UY/custom-emoji.md                |   2 -
 src/docs/eo-UY/deck.md                        |  18 -
 src/docs/eo-UY/features/antenna.md            |   4 -
 src/docs/eo-UY/features/custom-emoji.md       |   2 -
 src/docs/eo-UY/features/deck.md               |  18 -
 src/docs/eo-UY/features/drive.md              |  17 -
 src/docs/eo-UY/features/favorite.md           |   4 -
 src/docs/eo-UY/features/follow.md             |   2 -
 src/docs/eo-UY/features/keyboard-shortcut.md  |  66 ----
 src/docs/eo-UY/features/mfm.md                |  12 -
 src/docs/eo-UY/features/mute-and-block.md     |  41 --
 src/docs/eo-UY/features/mute.md               |  13 -
 src/docs/eo-UY/features/note.md               |  54 ---
 src/docs/eo-UY/features/pages.md              |  10 -
 src/docs/eo-UY/features/reaction.md           |  11 -
 src/docs/eo-UY/features/silence.md            |   6 -
 src/docs/eo-UY/features/theme.md              |  68 ----
 src/docs/eo-UY/features/timeline.md           |  31 --
 src/docs/eo-UY/features/widgets.md            |   7 -
 src/docs/eo-UY/features/word-mute.md          |  20 -
 src/docs/eo-UY/follow.md                      |   2 -
 src/docs/eo-UY/general/apps.md                |   6 -
 src/docs/eo-UY/general/changelog.md           |   5 -
 src/docs/eo-UY/general/faq.md                 |  28 --
 src/docs/eo-UY/general/glossary.md            |  89 -----
 src/docs/eo-UY/general/links.md               |  12 -
 src/docs/eo-UY/general/misskey.md             |  87 -----
 src/docs/eo-UY/general/report-issue.md        |   8 -
 src/docs/eo-UY/general/troubleshooting.md     |  40 --
 src/docs/eo-UY/keyboard-shortcut.md           |  68 ----
 src/docs/eo-UY/mfm.md                         |   2 -
 src/docs/eo-UY/mute.md                        |  13 -
 src/docs/eo-UY/pages.md                       |  10 -
 src/docs/eo-UY/reaction.md                    |  11 -
 src/docs/eo-UY/reversi-bot.md                 | 160 --------
 src/docs/eo-UY/stream.md                      | 354 ------------------
 src/docs/eo-UY/theme.md                       |  68 ----
 src/docs/eo-UY/timelines.md                   |  15 -
 src/docs/es-ES/admin/disable-timelines.md     |   8 -
 src/docs/es-ES/admin/faq.md                   |   5 -
 src/docs/es-ES/advanced/aiscript.md           |   7 -
 src/docs/es-ES/advanced/api.md                |  58 ---
 src/docs/es-ES/advanced/create-plugin.md      |  74 ----
 src/docs/es-ES/advanced/develop-bot.md        |   6 -
 src/docs/es-ES/advanced/reversi-bot.md        | 160 --------
 src/docs/es-ES/advanced/share-page.md         |  54 ---
 src/docs/es-ES/advanced/stream.md             | 350 -----------------
 src/docs/es-ES/aiscript.md                    |   4 -
 src/docs/es-ES/api.md                         |  58 ---
 src/docs/es-ES/create-plugin.md               |  74 ----
 src/docs/es-ES/custom-emoji.md                |   2 -
 src/docs/es-ES/deck.md                        |  18 -
 src/docs/es-ES/features/antenna.md            |   4 -
 src/docs/es-ES/features/custom-emoji.md       |   2 -
 src/docs/es-ES/features/deck.md               |  18 -
 src/docs/es-ES/features/drive.md              |  17 -
 src/docs/es-ES/features/favorite.md           |   4 -
 src/docs/es-ES/features/follow.md             |   2 -
 src/docs/es-ES/features/keyboard-shortcut.md  |  66 ----
 src/docs/es-ES/features/mfm.md                |  12 -
 src/docs/es-ES/features/mute-and-block.md     |  41 --
 src/docs/es-ES/features/mute.md               |  13 -
 src/docs/es-ES/features/note.md               |  54 ---
 src/docs/es-ES/features/pages.md              |  10 -
 src/docs/es-ES/features/reaction.md           |  11 -
 src/docs/es-ES/features/silence.md            |   6 -
 src/docs/es-ES/features/theme.md              |  68 ----
 src/docs/es-ES/features/timeline.md           |  31 --
 src/docs/es-ES/features/widgets.md            |   7 -
 src/docs/es-ES/features/word-mute.md          |  20 -
 src/docs/es-ES/follow.md                      |   2 -
 src/docs/es-ES/general/apps.md                |   6 -
 src/docs/es-ES/general/changelog.md           |   5 -
 src/docs/es-ES/general/faq.md                 |  28 --
 src/docs/es-ES/general/glossary.md            |  89 -----
 src/docs/es-ES/general/links.md               |  12 -
 src/docs/es-ES/general/misskey.md             |  87 -----
 src/docs/es-ES/general/report-issue.md        |   8 -
 src/docs/es-ES/general/troubleshooting.md     |  40 --
 src/docs/es-ES/keyboard-shortcut.md           |  68 ----
 src/docs/es-ES/mfm.md                         |   2 -
 src/docs/es-ES/mute.md                        |  13 -
 src/docs/es-ES/pages.md                       |  10 -
 src/docs/es-ES/reaction.md                    |  11 -
 src/docs/es-ES/reversi-bot.md                 | 160 --------
 src/docs/es-ES/stream.md                      | 354 ------------------
 src/docs/es-ES/theme.md                       |  68 ----
 src/docs/es-ES/timelines.md                   |  15 -
 src/docs/fr-FR/admin/disable-timelines.md     |   8 -
 src/docs/fr-FR/admin/faq.md                   |   5 -
 src/docs/fr-FR/advanced/aiscript.md           |   7 -
 src/docs/fr-FR/advanced/api.md                |  58 ---
 src/docs/fr-FR/advanced/create-plugin.md      |  74 ----
 src/docs/fr-FR/advanced/develop-bot.md        |   6 -
 src/docs/fr-FR/advanced/reversi-bot.md        | 160 --------
 src/docs/fr-FR/advanced/share-page.md         |  54 ---
 src/docs/fr-FR/advanced/stream.md             | 350 -----------------
 src/docs/fr-FR/aiscript.md                    |   4 -
 src/docs/fr-FR/api.md                         |  58 ---
 src/docs/fr-FR/create-plugin.md               |  74 ----
 src/docs/fr-FR/custom-emoji.md                |   2 -
 src/docs/fr-FR/deck.md                        |  18 -
 src/docs/fr-FR/features/antenna.md            |   4 -
 src/docs/fr-FR/features/custom-emoji.md       |   2 -
 src/docs/fr-FR/features/deck.md               |  18 -
 src/docs/fr-FR/features/drive.md              |  17 -
 src/docs/fr-FR/features/favorite.md           |   4 -
 src/docs/fr-FR/features/follow.md             |   2 -
 src/docs/fr-FR/features/keyboard-shortcut.md  |  66 ----
 src/docs/fr-FR/features/mfm.md                |  12 -
 src/docs/fr-FR/features/mute-and-block.md     |  41 --
 src/docs/fr-FR/features/mute.md               |  13 -
 src/docs/fr-FR/features/note.md               |  54 ---
 src/docs/fr-FR/features/pages.md              |  10 -
 src/docs/fr-FR/features/reaction.md           |  11 -
 src/docs/fr-FR/features/silence.md            |   6 -
 src/docs/fr-FR/features/theme.md              |  68 ----
 src/docs/fr-FR/features/timeline.md           |  31 --
 src/docs/fr-FR/features/widgets.md            |   7 -
 src/docs/fr-FR/features/word-mute.md          |  20 -
 src/docs/fr-FR/follow.md                      |   2 -
 src/docs/fr-FR/general/apps.md                |   6 -
 src/docs/fr-FR/general/changelog.md           |   5 -
 src/docs/fr-FR/general/faq.md                 |  28 --
 src/docs/fr-FR/general/glossary.md            |  89 -----
 src/docs/fr-FR/general/links.md               |  12 -
 src/docs/fr-FR/general/misskey.md             |  87 -----
 src/docs/fr-FR/general/report-issue.md        |   8 -
 src/docs/fr-FR/general/troubleshooting.md     |  40 --
 src/docs/fr-FR/keyboard-shortcut.md           |  68 ----
 src/docs/fr-FR/mfm.md                         |   2 -
 src/docs/fr-FR/mute.md                        |  13 -
 src/docs/fr-FR/pages.md                       |  10 -
 src/docs/fr-FR/reaction.md                    |  11 -
 src/docs/fr-FR/reversi-bot.md                 | 160 --------
 src/docs/fr-FR/stream.md                      | 354 ------------------
 src/docs/fr-FR/theme.md                       |  68 ----
 src/docs/fr-FR/timelines.md                   |  15 -
 src/docs/ht-HT/admin/disable-timelines.md     |   8 -
 src/docs/ht-HT/admin/faq.md                   |   5 -
 src/docs/ht-HT/advanced/aiscript.md           |   7 -
 src/docs/ht-HT/advanced/api.md                |  58 ---
 src/docs/ht-HT/advanced/create-plugin.md      |  74 ----
 src/docs/ht-HT/advanced/develop-bot.md        |   6 -
 src/docs/ht-HT/advanced/reversi-bot.md        | 160 --------
 src/docs/ht-HT/advanced/share-page.md         |  54 ---
 src/docs/ht-HT/advanced/stream.md             | 350 -----------------
 src/docs/ht-HT/aiscript.md                    |   4 -
 src/docs/ht-HT/api.md                         |  58 ---
 src/docs/ht-HT/create-plugin.md               |  74 ----
 src/docs/ht-HT/custom-emoji.md                |   2 -
 src/docs/ht-HT/deck.md                        |  18 -
 src/docs/ht-HT/features/antenna.md            |   4 -
 src/docs/ht-HT/features/custom-emoji.md       |   2 -
 src/docs/ht-HT/features/deck.md               |  18 -
 src/docs/ht-HT/features/drive.md              |  17 -
 src/docs/ht-HT/features/favorite.md           |   4 -
 src/docs/ht-HT/features/follow.md             |   2 -
 src/docs/ht-HT/features/keyboard-shortcut.md  |  66 ----
 src/docs/ht-HT/features/mfm.md                |  12 -
 src/docs/ht-HT/features/mute-and-block.md     |  41 --
 src/docs/ht-HT/features/mute.md               |  13 -
 src/docs/ht-HT/features/note.md               |  54 ---
 src/docs/ht-HT/features/pages.md              |  10 -
 src/docs/ht-HT/features/reaction.md           |  11 -
 src/docs/ht-HT/features/silence.md            |   6 -
 src/docs/ht-HT/features/theme.md              |  68 ----
 src/docs/ht-HT/features/timeline.md           |  31 --
 src/docs/ht-HT/features/widgets.md            |   7 -
 src/docs/ht-HT/features/word-mute.md          |  20 -
 src/docs/ht-HT/follow.md                      |   2 -
 src/docs/ht-HT/general/apps.md                |   6 -
 src/docs/ht-HT/general/changelog.md           |   5 -
 src/docs/ht-HT/general/faq.md                 |  28 --
 src/docs/ht-HT/general/glossary.md            |  89 -----
 src/docs/ht-HT/general/links.md               |  12 -
 src/docs/ht-HT/general/misskey.md             |  87 -----
 src/docs/ht-HT/general/report-issue.md        |   8 -
 src/docs/ht-HT/general/troubleshooting.md     |  40 --
 src/docs/ht-HT/keyboard-shortcut.md           |  68 ----
 src/docs/ht-HT/mfm.md                         |   2 -
 src/docs/ht-HT/mute.md                        |  13 -
 src/docs/ht-HT/pages.md                       |  10 -
 src/docs/ht-HT/reaction.md                    |  11 -
 src/docs/ht-HT/reversi-bot.md                 | 160 --------
 src/docs/ht-HT/stream.md                      | 354 ------------------
 src/docs/ht-HT/theme.md                       |  68 ----
 src/docs/ht-HT/timelines.md                   |  15 -
 src/docs/id-ID/admin/disable-timelines.md     |   8 -
 src/docs/id-ID/admin/faq.md                   |   5 -
 src/docs/id-ID/advanced/aiscript.md           |   7 -
 src/docs/id-ID/advanced/api.md                |  58 ---
 src/docs/id-ID/advanced/create-plugin.md      |  74 ----
 src/docs/id-ID/advanced/develop-bot.md        |   6 -
 src/docs/id-ID/advanced/reversi-bot.md        | 160 --------
 src/docs/id-ID/advanced/share-page.md         |  54 ---
 src/docs/id-ID/advanced/stream.md             | 350 -----------------
 src/docs/id-ID/aiscript.md                    |   4 -
 src/docs/id-ID/api.md                         |  58 ---
 src/docs/id-ID/create-plugin.md               |  74 ----
 src/docs/id-ID/custom-emoji.md                |   2 -
 src/docs/id-ID/deck.md                        |  18 -
 src/docs/id-ID/features/antenna.md            |   4 -
 src/docs/id-ID/features/custom-emoji.md       |   2 -
 src/docs/id-ID/features/deck.md               |  18 -
 src/docs/id-ID/features/drive.md              |  17 -
 src/docs/id-ID/features/favorite.md           |   4 -
 src/docs/id-ID/features/follow.md             |   2 -
 src/docs/id-ID/features/keyboard-shortcut.md  |  66 ----
 src/docs/id-ID/features/mfm.md                |  12 -
 src/docs/id-ID/features/mute-and-block.md     |  41 --
 src/docs/id-ID/features/mute.md               |  13 -
 src/docs/id-ID/features/note.md               |  54 ---
 src/docs/id-ID/features/pages.md              |  10 -
 src/docs/id-ID/features/reaction.md           |  11 -
 src/docs/id-ID/features/silence.md            |   6 -
 src/docs/id-ID/features/theme.md              |  68 ----
 src/docs/id-ID/features/timeline.md           |  31 --
 src/docs/id-ID/features/widgets.md            |   7 -
 src/docs/id-ID/features/word-mute.md          |  20 -
 src/docs/id-ID/follow.md                      |   2 -
 src/docs/id-ID/general/apps.md                |   6 -
 src/docs/id-ID/general/changelog.md           |   5 -
 src/docs/id-ID/general/faq.md                 |  28 --
 src/docs/id-ID/general/glossary.md            |  89 -----
 src/docs/id-ID/general/links.md               |  12 -
 src/docs/id-ID/general/misskey.md             |  87 -----
 src/docs/id-ID/general/report-issue.md        |   8 -
 src/docs/id-ID/general/troubleshooting.md     |  40 --
 src/docs/id-ID/keyboard-shortcut.md           |  68 ----
 src/docs/id-ID/mfm.md                         |   2 -
 src/docs/id-ID/mute.md                        |  13 -
 src/docs/id-ID/pages.md                       |  14 -
 src/docs/id-ID/reaction.md                    |  11 -
 src/docs/id-ID/reversi-bot.md                 | 160 --------
 src/docs/id-ID/stream.md                      | 354 ------------------
 src/docs/id-ID/theme.md                       |  68 ----
 src/docs/id-ID/timelines.md                   |  15 -
 src/docs/it-IT/admin/disable-timelines.md     |   8 -
 src/docs/it-IT/admin/faq.md                   |   5 -
 src/docs/it-IT/advanced/aiscript.md           |   7 -
 src/docs/it-IT/advanced/api.md                |  58 ---
 src/docs/it-IT/advanced/create-plugin.md      |  74 ----
 src/docs/it-IT/advanced/develop-bot.md        |   6 -
 src/docs/it-IT/advanced/reversi-bot.md        | 160 --------
 src/docs/it-IT/advanced/share-page.md         |  54 ---
 src/docs/it-IT/advanced/stream.md             | 350 -----------------
 src/docs/it-IT/aiscript.md                    |   4 -
 src/docs/it-IT/api.md                         |  58 ---
 src/docs/it-IT/create-plugin.md               |  74 ----
 src/docs/it-IT/custom-emoji.md                |   2 -
 src/docs/it-IT/deck.md                        |  18 -
 src/docs/it-IT/features/antenna.md            |   4 -
 src/docs/it-IT/features/custom-emoji.md       |   2 -
 src/docs/it-IT/features/deck.md               |  18 -
 src/docs/it-IT/features/drive.md              |  17 -
 src/docs/it-IT/features/favorite.md           |   4 -
 src/docs/it-IT/features/follow.md             |   2 -
 src/docs/it-IT/features/keyboard-shortcut.md  |  66 ----
 src/docs/it-IT/features/mfm.md                |  12 -
 src/docs/it-IT/features/mute-and-block.md     |  41 --
 src/docs/it-IT/features/mute.md               |  13 -
 src/docs/it-IT/features/note.md               |  54 ---
 src/docs/it-IT/features/pages.md              |  10 -
 src/docs/it-IT/features/reaction.md           |  11 -
 src/docs/it-IT/features/silence.md            |   6 -
 src/docs/it-IT/features/theme.md              |  68 ----
 src/docs/it-IT/features/timeline.md           |  31 --
 src/docs/it-IT/features/widgets.md            |   7 -
 src/docs/it-IT/features/word-mute.md          |  20 -
 src/docs/it-IT/follow.md                      |   2 -
 src/docs/it-IT/general/apps.md                |   6 -
 src/docs/it-IT/general/changelog.md           |   5 -
 src/docs/it-IT/general/faq.md                 |  28 --
 src/docs/it-IT/general/glossary.md            |  89 -----
 src/docs/it-IT/general/links.md               |  12 -
 src/docs/it-IT/general/misskey.md             |  87 -----
 src/docs/it-IT/general/report-issue.md        |   8 -
 src/docs/it-IT/general/troubleshooting.md     |  40 --
 src/docs/it-IT/keyboard-shortcut.md           |  68 ----
 src/docs/it-IT/mfm.md                         |   2 -
 src/docs/it-IT/mute.md                        |  13 -
 src/docs/it-IT/pages.md                       |  10 -
 src/docs/it-IT/reaction.md                    |  11 -
 src/docs/it-IT/reversi-bot.md                 | 160 --------
 src/docs/it-IT/stream.md                      | 354 ------------------
 src/docs/it-IT/theme.md                       |  68 ----
 src/docs/it-IT/timelines.md                   |  15 -
 src/docs/ja-JP/admin/disable-timelines.md     |  11 -
 src/docs/ja-JP/admin/faq.md                   |   5 -
 src/docs/ja-JP/advanced/aiscript.md           |   7 -
 src/docs/ja-JP/advanced/api.md                |  62 ---
 src/docs/ja-JP/advanced/create-plugin.md      |  90 -----
 src/docs/ja-JP/advanced/develop-bot.md        |   7 -
 src/docs/ja-JP/advanced/reversi-bot.md        | 177 ---------
 src/docs/ja-JP/advanced/share-page.md         |  56 ---
 src/docs/ja-JP/advanced/stream.md             | 354 ------------------
 src/docs/ja-JP/features/antenna.md            |   4 -
 src/docs/ja-JP/features/custom-emoji.md       |   5 -
 src/docs/ja-JP/features/deck.md               |  20 -
 src/docs/ja-JP/features/drive.md              |  19 -
 src/docs/ja-JP/features/favorite.md           |   6 -
 src/docs/ja-JP/features/follow.md             |   3 -
 src/docs/ja-JP/features/keyboard-shortcut.md  |  66 ----
 src/docs/ja-JP/features/mfm.md                |  13 -
 src/docs/ja-JP/features/mute-and-block.md     |  43 ---
 src/docs/ja-JP/features/note.md               |  62 ---
 src/docs/ja-JP/features/pages.md              |  10 -
 src/docs/ja-JP/features/reaction.md           |  14 -
 src/docs/ja-JP/features/silence.md            |   7 -
 src/docs/ja-JP/features/theme.md              |  74 ----
 src/docs/ja-JP/features/timeline.md           |  33 --
 src/docs/ja-JP/features/widgets.md            |   8 -
 src/docs/ja-JP/features/word-mute.md          |  20 -
 src/docs/ja-JP/general/apps.md                |   6 -
 src/docs/ja-JP/general/changelog.md           |   5 -
 src/docs/ja-JP/general/faq.md                 |  33 --
 src/docs/ja-JP/general/glossary.md            |  99 -----
 src/docs/ja-JP/general/links.md               |  12 -
 src/docs/ja-JP/general/misskey.md             | 121 ------
 src/docs/ja-JP/general/report-issue.md        |  10 -
 src/docs/ja-JP/general/troubleshooting.md     |  45 ---
 src/docs/ja-KS/admin/disable-timelines.md     |   8 -
 src/docs/ja-KS/admin/faq.md                   |   5 -
 src/docs/ja-KS/advanced/aiscript.md           |   7 -
 src/docs/ja-KS/advanced/api.md                |  58 ---
 src/docs/ja-KS/advanced/create-plugin.md      |  74 ----
 src/docs/ja-KS/advanced/develop-bot.md        |   6 -
 src/docs/ja-KS/advanced/reversi-bot.md        | 160 --------
 src/docs/ja-KS/advanced/share-page.md         |  54 ---
 src/docs/ja-KS/advanced/stream.md             | 350 -----------------
 src/docs/ja-KS/aiscript.md                    |   4 -
 src/docs/ja-KS/api.md                         |  58 ---
 src/docs/ja-KS/create-plugin.md               |  74 ----
 src/docs/ja-KS/custom-emoji.md                |   2 -
 src/docs/ja-KS/deck.md                        |  18 -
 src/docs/ja-KS/features/antenna.md            |   4 -
 src/docs/ja-KS/features/custom-emoji.md       |   2 -
 src/docs/ja-KS/features/deck.md               |  18 -
 src/docs/ja-KS/features/drive.md              |  17 -
 src/docs/ja-KS/features/favorite.md           |   4 -
 src/docs/ja-KS/features/follow.md             |   2 -
 src/docs/ja-KS/features/keyboard-shortcut.md  |  66 ----
 src/docs/ja-KS/features/mfm.md                |  12 -
 src/docs/ja-KS/features/mute-and-block.md     |  41 --
 src/docs/ja-KS/features/mute.md               |  13 -
 src/docs/ja-KS/features/note.md               |  54 ---
 src/docs/ja-KS/features/pages.md              |  10 -
 src/docs/ja-KS/features/reaction.md           |  11 -
 src/docs/ja-KS/features/silence.md            |   6 -
 src/docs/ja-KS/features/theme.md              |  68 ----
 src/docs/ja-KS/features/timeline.md           |  31 --
 src/docs/ja-KS/features/widgets.md            |   7 -
 src/docs/ja-KS/features/word-mute.md          |  20 -
 src/docs/ja-KS/follow.md                      |   2 -
 src/docs/ja-KS/general/apps.md                |   6 -
 src/docs/ja-KS/general/changelog.md           |   5 -
 src/docs/ja-KS/general/faq.md                 |  28 --
 src/docs/ja-KS/general/glossary.md            |  89 -----
 src/docs/ja-KS/general/links.md               |  12 -
 src/docs/ja-KS/general/misskey.md             |  87 -----
 src/docs/ja-KS/general/report-issue.md        |   8 -
 src/docs/ja-KS/general/troubleshooting.md     |  40 --
 src/docs/ja-KS/keyboard-shortcut.md           |  68 ----
 src/docs/ja-KS/mfm.md                         |   2 -
 src/docs/ja-KS/mute.md                        |  13 -
 src/docs/ja-KS/pages.md                       |  10 -
 src/docs/ja-KS/reaction.md                    |  11 -
 src/docs/ja-KS/reversi-bot.md                 | 160 --------
 src/docs/ja-KS/stream.md                      | 354 ------------------
 src/docs/ja-KS/theme.md                       |  68 ----
 src/docs/ja-KS/timelines.md                   |  15 -
 src/docs/jbo-EN/admin/disable-timelines.md    |   8 -
 src/docs/jbo-EN/admin/faq.md                  |   5 -
 src/docs/jbo-EN/advanced/aiscript.md          |   7 -
 src/docs/jbo-EN/advanced/api.md               |  58 ---
 src/docs/jbo-EN/advanced/create-plugin.md     |  74 ----
 src/docs/jbo-EN/advanced/develop-bot.md       |   6 -
 src/docs/jbo-EN/advanced/reversi-bot.md       | 160 --------
 src/docs/jbo-EN/advanced/share-page.md        |  54 ---
 src/docs/jbo-EN/advanced/stream.md            | 350 -----------------
 src/docs/jbo-EN/aiscript.md                   |   4 -
 src/docs/jbo-EN/api.md                        |  58 ---
 src/docs/jbo-EN/create-plugin.md              |  74 ----
 src/docs/jbo-EN/custom-emoji.md               |   2 -
 src/docs/jbo-EN/deck.md                       |  18 -
 src/docs/jbo-EN/features/antenna.md           |   4 -
 src/docs/jbo-EN/features/custom-emoji.md      |   2 -
 src/docs/jbo-EN/features/deck.md              |  18 -
 src/docs/jbo-EN/features/drive.md             |  17 -
 src/docs/jbo-EN/features/favorite.md          |   4 -
 src/docs/jbo-EN/features/follow.md            |   2 -
 src/docs/jbo-EN/features/keyboard-shortcut.md |  66 ----
 src/docs/jbo-EN/features/mfm.md               |  12 -
 src/docs/jbo-EN/features/mute-and-block.md    |  41 --
 src/docs/jbo-EN/features/mute.md              |  13 -
 src/docs/jbo-EN/features/note.md              |  54 ---
 src/docs/jbo-EN/features/pages.md             |  10 -
 src/docs/jbo-EN/features/reaction.md          |  11 -
 src/docs/jbo-EN/features/silence.md           |   6 -
 src/docs/jbo-EN/features/theme.md             |  68 ----
 src/docs/jbo-EN/features/timeline.md          |  31 --
 src/docs/jbo-EN/features/widgets.md           |   7 -
 src/docs/jbo-EN/features/word-mute.md         |  20 -
 src/docs/jbo-EN/follow.md                     |   2 -
 src/docs/jbo-EN/general/apps.md               |   6 -
 src/docs/jbo-EN/general/changelog.md          |   5 -
 src/docs/jbo-EN/general/faq.md                |  28 --
 src/docs/jbo-EN/general/glossary.md           |  89 -----
 src/docs/jbo-EN/general/links.md              |  12 -
 src/docs/jbo-EN/general/misskey.md            |  87 -----
 src/docs/jbo-EN/general/report-issue.md       |   8 -
 src/docs/jbo-EN/general/troubleshooting.md    |  40 --
 src/docs/jbo-EN/keyboard-shortcut.md          |  68 ----
 src/docs/jbo-EN/mfm.md                        |   2 -
 src/docs/jbo-EN/mute.md                       |  13 -
 src/docs/jbo-EN/pages.md                      |  10 -
 src/docs/jbo-EN/reaction.md                   |  11 -
 src/docs/jbo-EN/reversi-bot.md                | 160 --------
 src/docs/jbo-EN/stream.md                     | 354 ------------------
 src/docs/jbo-EN/theme.md                      |  68 ----
 src/docs/jbo-EN/timelines.md                  |  15 -
 src/docs/kab-KAB/admin/disable-timelines.md   |   8 -
 src/docs/kab-KAB/admin/faq.md                 |   5 -
 src/docs/kab-KAB/advanced/aiscript.md         |   7 -
 src/docs/kab-KAB/advanced/api.md              |  58 ---
 src/docs/kab-KAB/advanced/create-plugin.md    |  74 ----
 src/docs/kab-KAB/advanced/develop-bot.md      |   6 -
 src/docs/kab-KAB/advanced/reversi-bot.md      | 160 --------
 src/docs/kab-KAB/advanced/share-page.md       |  54 ---
 src/docs/kab-KAB/advanced/stream.md           | 350 -----------------
 src/docs/kab-KAB/aiscript.md                  |   4 -
 src/docs/kab-KAB/api.md                       |  58 ---
 src/docs/kab-KAB/create-plugin.md             |  74 ----
 src/docs/kab-KAB/custom-emoji.md              |   2 -
 src/docs/kab-KAB/deck.md                      |  18 -
 src/docs/kab-KAB/features/antenna.md          |   4 -
 src/docs/kab-KAB/features/custom-emoji.md     |   2 -
 src/docs/kab-KAB/features/deck.md             |  18 -
 src/docs/kab-KAB/features/drive.md            |  17 -
 src/docs/kab-KAB/features/favorite.md         |   4 -
 src/docs/kab-KAB/features/follow.md           |   2 -
 .../kab-KAB/features/keyboard-shortcut.md     |  66 ----
 src/docs/kab-KAB/features/mfm.md              |  12 -
 src/docs/kab-KAB/features/mute-and-block.md   |  41 --
 src/docs/kab-KAB/features/mute.md             |  13 -
 src/docs/kab-KAB/features/note.md             |  54 ---
 src/docs/kab-KAB/features/pages.md            |  10 -
 src/docs/kab-KAB/features/reaction.md         |  11 -
 src/docs/kab-KAB/features/silence.md          |   6 -
 src/docs/kab-KAB/features/theme.md            |  68 ----
 src/docs/kab-KAB/features/timeline.md         |  31 --
 src/docs/kab-KAB/features/widgets.md          |   7 -
 src/docs/kab-KAB/features/word-mute.md        |  20 -
 src/docs/kab-KAB/follow.md                    |   2 -
 src/docs/kab-KAB/general/apps.md              |   6 -
 src/docs/kab-KAB/general/changelog.md         |   5 -
 src/docs/kab-KAB/general/faq.md               |  28 --
 src/docs/kab-KAB/general/glossary.md          |  89 -----
 src/docs/kab-KAB/general/links.md             |  12 -
 src/docs/kab-KAB/general/misskey.md           |  87 -----
 src/docs/kab-KAB/general/report-issue.md      |   8 -
 src/docs/kab-KAB/general/troubleshooting.md   |  40 --
 src/docs/kab-KAB/keyboard-shortcut.md         |  68 ----
 src/docs/kab-KAB/mfm.md                       |   2 -
 src/docs/kab-KAB/mute.md                      |  13 -
 src/docs/kab-KAB/pages.md                     |  10 -
 src/docs/kab-KAB/reaction.md                  |  11 -
 src/docs/kab-KAB/reversi-bot.md               | 160 --------
 src/docs/kab-KAB/stream.md                    | 354 ------------------
 src/docs/kab-KAB/theme.md                     |  68 ----
 src/docs/kab-KAB/timelines.md                 |  15 -
 src/docs/kn-IN/admin/disable-timelines.md     |   8 -
 src/docs/kn-IN/admin/faq.md                   |   5 -
 src/docs/kn-IN/advanced/aiscript.md           |   7 -
 src/docs/kn-IN/advanced/api.md                |  58 ---
 src/docs/kn-IN/advanced/create-plugin.md      |  74 ----
 src/docs/kn-IN/advanced/develop-bot.md        |   6 -
 src/docs/kn-IN/advanced/reversi-bot.md        | 160 --------
 src/docs/kn-IN/advanced/share-page.md         |  54 ---
 src/docs/kn-IN/advanced/stream.md             | 350 -----------------
 src/docs/kn-IN/aiscript.md                    |   4 -
 src/docs/kn-IN/api.md                         |  58 ---
 src/docs/kn-IN/create-plugin.md               |  74 ----
 src/docs/kn-IN/custom-emoji.md                |   2 -
 src/docs/kn-IN/deck.md                        |  18 -
 src/docs/kn-IN/features/antenna.md            |   4 -
 src/docs/kn-IN/features/custom-emoji.md       |   2 -
 src/docs/kn-IN/features/deck.md               |  18 -
 src/docs/kn-IN/features/drive.md              |  17 -
 src/docs/kn-IN/features/favorite.md           |   4 -
 src/docs/kn-IN/features/follow.md             |   2 -
 src/docs/kn-IN/features/keyboard-shortcut.md  |  66 ----
 src/docs/kn-IN/features/mfm.md                |  12 -
 src/docs/kn-IN/features/mute-and-block.md     |  41 --
 src/docs/kn-IN/features/mute.md               |  13 -
 src/docs/kn-IN/features/note.md               |  54 ---
 src/docs/kn-IN/features/pages.md              |  10 -
 src/docs/kn-IN/features/reaction.md           |  11 -
 src/docs/kn-IN/features/silence.md            |   6 -
 src/docs/kn-IN/features/theme.md              |  68 ----
 src/docs/kn-IN/features/timeline.md           |  31 --
 src/docs/kn-IN/features/widgets.md            |   7 -
 src/docs/kn-IN/features/word-mute.md          |  20 -
 src/docs/kn-IN/follow.md                      |   2 -
 src/docs/kn-IN/general/apps.md                |   6 -
 src/docs/kn-IN/general/changelog.md           |   5 -
 src/docs/kn-IN/general/faq.md                 |  28 --
 src/docs/kn-IN/general/glossary.md            |  89 -----
 src/docs/kn-IN/general/links.md               |  12 -
 src/docs/kn-IN/general/misskey.md             |  87 -----
 src/docs/kn-IN/general/report-issue.md        |   8 -
 src/docs/kn-IN/general/troubleshooting.md     |  40 --
 src/docs/kn-IN/keyboard-shortcut.md           |  68 ----
 src/docs/kn-IN/mfm.md                         |   2 -
 src/docs/kn-IN/mute.md                        |  13 -
 src/docs/kn-IN/pages.md                       |  10 -
 src/docs/kn-IN/reaction.md                    |  11 -
 src/docs/kn-IN/reversi-bot.md                 | 160 --------
 src/docs/kn-IN/stream.md                      | 354 ------------------
 src/docs/kn-IN/theme.md                       |  68 ----
 src/docs/kn-IN/timelines.md                   |  15 -
 src/docs/ko-KR/admin/disable-timelines.md     |   8 -
 src/docs/ko-KR/admin/faq.md                   |   5 -
 src/docs/ko-KR/advanced/aiscript.md           |   7 -
 src/docs/ko-KR/advanced/api.md                |  58 ---
 src/docs/ko-KR/advanced/create-plugin.md      |  74 ----
 src/docs/ko-KR/advanced/develop-bot.md        |   6 -
 src/docs/ko-KR/advanced/reversi-bot.md        | 160 --------
 src/docs/ko-KR/advanced/share-page.md         |  54 ---
 src/docs/ko-KR/advanced/stream.md             | 350 -----------------
 src/docs/ko-KR/aiscript.md                    |   4 -
 src/docs/ko-KR/api.md                         |  58 ---
 src/docs/ko-KR/create-plugin.md               |  74 ----
 src/docs/ko-KR/custom-emoji.md                |   2 -
 src/docs/ko-KR/deck.md                        |  18 -
 src/docs/ko-KR/features/antenna.md            |   4 -
 src/docs/ko-KR/features/custom-emoji.md       |   2 -
 src/docs/ko-KR/features/deck.md               |  18 -
 src/docs/ko-KR/features/drive.md              |  17 -
 src/docs/ko-KR/features/favorite.md           |   4 -
 src/docs/ko-KR/features/follow.md             |   2 -
 src/docs/ko-KR/features/keyboard-shortcut.md  |  66 ----
 src/docs/ko-KR/features/mfm.md                |  12 -
 src/docs/ko-KR/features/mute-and-block.md     |  41 --
 src/docs/ko-KR/features/mute.md               |  13 -
 src/docs/ko-KR/features/note.md               |  54 ---
 src/docs/ko-KR/features/pages.md              |  10 -
 src/docs/ko-KR/features/reaction.md           |  11 -
 src/docs/ko-KR/features/silence.md            |   6 -
 src/docs/ko-KR/features/theme.md              |  68 ----
 src/docs/ko-KR/features/timeline.md           |  31 --
 src/docs/ko-KR/features/widgets.md            |   7 -
 src/docs/ko-KR/features/word-mute.md          |  20 -
 src/docs/ko-KR/follow.md                      |   2 -
 src/docs/ko-KR/general/apps.md                |   6 -
 src/docs/ko-KR/general/changelog.md           |   5 -
 src/docs/ko-KR/general/faq.md                 |  28 --
 src/docs/ko-KR/general/glossary.md            |  89 -----
 src/docs/ko-KR/general/links.md               |  12 -
 src/docs/ko-KR/general/misskey.md             |  87 -----
 src/docs/ko-KR/general/report-issue.md        |   8 -
 src/docs/ko-KR/general/troubleshooting.md     |  40 --
 src/docs/ko-KR/keyboard-shortcut.md           |  68 ----
 src/docs/ko-KR/mfm.md                         |   2 -
 src/docs/ko-KR/mute.md                        |  13 -
 src/docs/ko-KR/pages.md                       |  10 -
 src/docs/ko-KR/reaction.md                    |  11 -
 src/docs/ko-KR/reversi-bot.md                 | 160 --------
 src/docs/ko-KR/stream.md                      | 354 ------------------
 src/docs/ko-KR/theme.md                       |  68 ----
 src/docs/ko-KR/timelines.md                   |  15 -
 src/docs/nl-NL/admin/disable-timelines.md     |   8 -
 src/docs/nl-NL/admin/faq.md                   |   5 -
 src/docs/nl-NL/advanced/aiscript.md           |   7 -
 src/docs/nl-NL/advanced/api.md                |  58 ---
 src/docs/nl-NL/advanced/create-plugin.md      |  74 ----
 src/docs/nl-NL/advanced/develop-bot.md        |   6 -
 src/docs/nl-NL/advanced/reversi-bot.md        | 160 --------
 src/docs/nl-NL/advanced/share-page.md         |  54 ---
 src/docs/nl-NL/advanced/stream.md             | 350 -----------------
 src/docs/nl-NL/aiscript.md                    |   4 -
 src/docs/nl-NL/api.md                         |  58 ---
 src/docs/nl-NL/create-plugin.md               |  74 ----
 src/docs/nl-NL/custom-emoji.md                |   2 -
 src/docs/nl-NL/deck.md                        |  18 -
 src/docs/nl-NL/features/antenna.md            |   4 -
 src/docs/nl-NL/features/custom-emoji.md       |   2 -
 src/docs/nl-NL/features/deck.md               |  18 -
 src/docs/nl-NL/features/drive.md              |  17 -
 src/docs/nl-NL/features/favorite.md           |   4 -
 src/docs/nl-NL/features/follow.md             |   2 -
 src/docs/nl-NL/features/keyboard-shortcut.md  |  66 ----
 src/docs/nl-NL/features/mfm.md                |  12 -
 src/docs/nl-NL/features/mute-and-block.md     |  41 --
 src/docs/nl-NL/features/mute.md               |  13 -
 src/docs/nl-NL/features/note.md               |  54 ---
 src/docs/nl-NL/features/pages.md              |  10 -
 src/docs/nl-NL/features/reaction.md           |  11 -
 src/docs/nl-NL/features/silence.md            |   6 -
 src/docs/nl-NL/features/theme.md              |  68 ----
 src/docs/nl-NL/features/timeline.md           |  31 --
 src/docs/nl-NL/features/widgets.md            |   7 -
 src/docs/nl-NL/features/word-mute.md          |  20 -
 src/docs/nl-NL/follow.md                      |   2 -
 src/docs/nl-NL/general/apps.md                |   6 -
 src/docs/nl-NL/general/changelog.md           |   5 -
 src/docs/nl-NL/general/faq.md                 |  28 --
 src/docs/nl-NL/general/glossary.md            |  89 -----
 src/docs/nl-NL/general/links.md               |  12 -
 src/docs/nl-NL/general/misskey.md             |  87 -----
 src/docs/nl-NL/general/report-issue.md        |   8 -
 src/docs/nl-NL/general/troubleshooting.md     |  40 --
 src/docs/nl-NL/keyboard-shortcut.md           |  68 ----
 src/docs/nl-NL/mfm.md                         |   2 -
 src/docs/nl-NL/mute.md                        |  13 -
 src/docs/nl-NL/pages.md                       |  10 -
 src/docs/nl-NL/reaction.md                    |  11 -
 src/docs/nl-NL/reversi-bot.md                 | 160 --------
 src/docs/nl-NL/stream.md                      | 354 ------------------
 src/docs/nl-NL/theme.md                       |  68 ----
 src/docs/nl-NL/timelines.md                   |  15 -
 src/docs/no-NO/admin/disable-timelines.md     |   8 -
 src/docs/no-NO/admin/faq.md                   |   5 -
 src/docs/no-NO/advanced/aiscript.md           |   7 -
 src/docs/no-NO/advanced/api.md                |  58 ---
 src/docs/no-NO/advanced/create-plugin.md      |  74 ----
 src/docs/no-NO/advanced/develop-bot.md        |   6 -
 src/docs/no-NO/advanced/reversi-bot.md        | 160 --------
 src/docs/no-NO/advanced/share-page.md         |  54 ---
 src/docs/no-NO/advanced/stream.md             | 350 -----------------
 src/docs/no-NO/aiscript.md                    |   4 -
 src/docs/no-NO/api.md                         |  58 ---
 src/docs/no-NO/create-plugin.md               |  74 ----
 src/docs/no-NO/custom-emoji.md                |   2 -
 src/docs/no-NO/deck.md                        |  18 -
 src/docs/no-NO/features/antenna.md            |   4 -
 src/docs/no-NO/features/custom-emoji.md       |   2 -
 src/docs/no-NO/features/deck.md               |  18 -
 src/docs/no-NO/features/drive.md              |  17 -
 src/docs/no-NO/features/favorite.md           |   4 -
 src/docs/no-NO/features/follow.md             |   2 -
 src/docs/no-NO/features/keyboard-shortcut.md  |  66 ----
 src/docs/no-NO/features/mfm.md                |  12 -
 src/docs/no-NO/features/mute-and-block.md     |  41 --
 src/docs/no-NO/features/mute.md               |  13 -
 src/docs/no-NO/features/note.md               |  54 ---
 src/docs/no-NO/features/pages.md              |  10 -
 src/docs/no-NO/features/reaction.md           |  11 -
 src/docs/no-NO/features/silence.md            |   6 -
 src/docs/no-NO/features/theme.md              |  68 ----
 src/docs/no-NO/features/timeline.md           |  31 --
 src/docs/no-NO/features/widgets.md            |   7 -
 src/docs/no-NO/features/word-mute.md          |  20 -
 src/docs/no-NO/follow.md                      |   2 -
 src/docs/no-NO/general/apps.md                |   6 -
 src/docs/no-NO/general/changelog.md           |   5 -
 src/docs/no-NO/general/faq.md                 |  28 --
 src/docs/no-NO/general/glossary.md            |  89 -----
 src/docs/no-NO/general/links.md               |  12 -
 src/docs/no-NO/general/misskey.md             |  87 -----
 src/docs/no-NO/general/report-issue.md        |   8 -
 src/docs/no-NO/general/troubleshooting.md     |  40 --
 src/docs/no-NO/keyboard-shortcut.md           |  68 ----
 src/docs/no-NO/mfm.md                         |   2 -
 src/docs/no-NO/mute.md                        |  13 -
 src/docs/no-NO/pages.md                       |  10 -
 src/docs/no-NO/reaction.md                    |  11 -
 src/docs/no-NO/reversi-bot.md                 | 160 --------
 src/docs/no-NO/stream.md                      | 354 ------------------
 src/docs/no-NO/theme.md                       |  68 ----
 src/docs/no-NO/timelines.md                   |  15 -
 src/docs/pl-PL/admin/disable-timelines.md     |   8 -
 src/docs/pl-PL/admin/faq.md                   |   5 -
 src/docs/pl-PL/advanced/aiscript.md           |   7 -
 src/docs/pl-PL/advanced/api.md                |  58 ---
 src/docs/pl-PL/advanced/create-plugin.md      |  74 ----
 src/docs/pl-PL/advanced/develop-bot.md        |   6 -
 src/docs/pl-PL/advanced/reversi-bot.md        | 160 --------
 src/docs/pl-PL/advanced/share-page.md         |  54 ---
 src/docs/pl-PL/advanced/stream.md             | 350 -----------------
 src/docs/pl-PL/aiscript.md                    |   4 -
 src/docs/pl-PL/api.md                         |  58 ---
 src/docs/pl-PL/create-plugin.md               |  74 ----
 src/docs/pl-PL/custom-emoji.md                |   2 -
 src/docs/pl-PL/deck.md                        |  18 -
 src/docs/pl-PL/features/antenna.md            |   4 -
 src/docs/pl-PL/features/custom-emoji.md       |   2 -
 src/docs/pl-PL/features/deck.md               |  18 -
 src/docs/pl-PL/features/drive.md              |  17 -
 src/docs/pl-PL/features/favorite.md           |   4 -
 src/docs/pl-PL/features/follow.md             |   2 -
 src/docs/pl-PL/features/keyboard-shortcut.md  |  66 ----
 src/docs/pl-PL/features/mfm.md                |  12 -
 src/docs/pl-PL/features/mute-and-block.md     |  41 --
 src/docs/pl-PL/features/mute.md               |  13 -
 src/docs/pl-PL/features/note.md               |  54 ---
 src/docs/pl-PL/features/pages.md              |  10 -
 src/docs/pl-PL/features/reaction.md           |  11 -
 src/docs/pl-PL/features/silence.md            |   6 -
 src/docs/pl-PL/features/theme.md              |  68 ----
 src/docs/pl-PL/features/timeline.md           |  31 --
 src/docs/pl-PL/features/widgets.md            |   7 -
 src/docs/pl-PL/features/word-mute.md          |  20 -
 src/docs/pl-PL/follow.md                      |   2 -
 src/docs/pl-PL/general/apps.md                |   6 -
 src/docs/pl-PL/general/changelog.md           |   5 -
 src/docs/pl-PL/general/faq.md                 |  28 --
 src/docs/pl-PL/general/glossary.md            |  89 -----
 src/docs/pl-PL/general/links.md               |  12 -
 src/docs/pl-PL/general/misskey.md             |  87 -----
 src/docs/pl-PL/general/report-issue.md        |   8 -
 src/docs/pl-PL/general/troubleshooting.md     |  40 --
 src/docs/pl-PL/keyboard-shortcut.md           |  68 ----
 src/docs/pl-PL/mfm.md                         |   2 -
 src/docs/pl-PL/mute.md                        |  13 -
 src/docs/pl-PL/pages.md                       |  10 -
 src/docs/pl-PL/reaction.md                    |  11 -
 src/docs/pl-PL/reversi-bot.md                 | 160 --------
 src/docs/pl-PL/stream.md                      | 354 ------------------
 src/docs/pl-PL/theme.md                       |  68 ----
 src/docs/pl-PL/timelines.md                   |  15 -
 src/docs/pt-PT/admin/disable-timelines.md     |   8 -
 src/docs/pt-PT/admin/faq.md                   |   5 -
 src/docs/pt-PT/advanced/aiscript.md           |   7 -
 src/docs/pt-PT/advanced/api.md                |  58 ---
 src/docs/pt-PT/advanced/create-plugin.md      |  74 ----
 src/docs/pt-PT/advanced/develop-bot.md        |   6 -
 src/docs/pt-PT/advanced/reversi-bot.md        | 160 --------
 src/docs/pt-PT/advanced/share-page.md         |  54 ---
 src/docs/pt-PT/advanced/stream.md             | 350 -----------------
 src/docs/pt-PT/aiscript.md                    |   4 -
 src/docs/pt-PT/api.md                         |  58 ---
 src/docs/pt-PT/create-plugin.md               |  74 ----
 src/docs/pt-PT/custom-emoji.md                |   2 -
 src/docs/pt-PT/deck.md                        |  18 -
 src/docs/pt-PT/features/antenna.md            |   4 -
 src/docs/pt-PT/features/custom-emoji.md       |   2 -
 src/docs/pt-PT/features/deck.md               |  18 -
 src/docs/pt-PT/features/drive.md              |  17 -
 src/docs/pt-PT/features/favorite.md           |   4 -
 src/docs/pt-PT/features/follow.md             |   2 -
 src/docs/pt-PT/features/keyboard-shortcut.md  |  66 ----
 src/docs/pt-PT/features/mfm.md                |  12 -
 src/docs/pt-PT/features/mute-and-block.md     |  41 --
 src/docs/pt-PT/features/mute.md               |  13 -
 src/docs/pt-PT/features/note.md               |  54 ---
 src/docs/pt-PT/features/pages.md              |  10 -
 src/docs/pt-PT/features/reaction.md           |  11 -
 src/docs/pt-PT/features/silence.md            |   6 -
 src/docs/pt-PT/features/theme.md              |  68 ----
 src/docs/pt-PT/features/timeline.md           |  31 --
 src/docs/pt-PT/features/widgets.md            |   7 -
 src/docs/pt-PT/features/word-mute.md          |  20 -
 src/docs/pt-PT/follow.md                      |   2 -
 src/docs/pt-PT/general/apps.md                |   6 -
 src/docs/pt-PT/general/changelog.md           |   5 -
 src/docs/pt-PT/general/faq.md                 |  28 --
 src/docs/pt-PT/general/glossary.md            |  89 -----
 src/docs/pt-PT/general/links.md               |  12 -
 src/docs/pt-PT/general/misskey.md             |  87 -----
 src/docs/pt-PT/general/report-issue.md        |   8 -
 src/docs/pt-PT/general/troubleshooting.md     |  40 --
 src/docs/pt-PT/keyboard-shortcut.md           |  68 ----
 src/docs/pt-PT/mfm.md                         |   2 -
 src/docs/pt-PT/mute.md                        |  13 -
 src/docs/pt-PT/pages.md                       |  10 -
 src/docs/pt-PT/reaction.md                    |  11 -
 src/docs/pt-PT/reversi-bot.md                 | 160 --------
 src/docs/pt-PT/stream.md                      | 354 ------------------
 src/docs/pt-PT/theme.md                       |  68 ----
 src/docs/pt-PT/timelines.md                   |  15 -
 src/docs/ru-RU/admin/disable-timelines.md     |   8 -
 src/docs/ru-RU/admin/faq.md                   |   5 -
 src/docs/ru-RU/advanced/aiscript.md           |   7 -
 src/docs/ru-RU/advanced/api.md                |  58 ---
 src/docs/ru-RU/advanced/create-plugin.md      |  74 ----
 src/docs/ru-RU/advanced/develop-bot.md        |   6 -
 src/docs/ru-RU/advanced/reversi-bot.md        | 160 --------
 src/docs/ru-RU/advanced/share-page.md         |  54 ---
 src/docs/ru-RU/advanced/stream.md             | 350 -----------------
 src/docs/ru-RU/aiscript.md                    |   4 -
 src/docs/ru-RU/api.md                         |  58 ---
 src/docs/ru-RU/create-plugin.md               |  74 ----
 src/docs/ru-RU/custom-emoji.md                |   2 -
 src/docs/ru-RU/deck.md                        |  18 -
 src/docs/ru-RU/features/antenna.md            |   4 -
 src/docs/ru-RU/features/custom-emoji.md       |   2 -
 src/docs/ru-RU/features/deck.md               |  18 -
 src/docs/ru-RU/features/drive.md              |  17 -
 src/docs/ru-RU/features/favorite.md           |   4 -
 src/docs/ru-RU/features/follow.md             |   2 -
 src/docs/ru-RU/features/keyboard-shortcut.md  |  66 ----
 src/docs/ru-RU/features/mfm.md                |  12 -
 src/docs/ru-RU/features/mute-and-block.md     |  41 --
 src/docs/ru-RU/features/mute.md               |  13 -
 src/docs/ru-RU/features/note.md               |  54 ---
 src/docs/ru-RU/features/pages.md              |  10 -
 src/docs/ru-RU/features/reaction.md           |  11 -
 src/docs/ru-RU/features/silence.md            |   6 -
 src/docs/ru-RU/features/theme.md              |  68 ----
 src/docs/ru-RU/features/timeline.md           |  31 --
 src/docs/ru-RU/features/widgets.md            |   7 -
 src/docs/ru-RU/features/word-mute.md          |  20 -
 src/docs/ru-RU/follow.md                      |   2 -
 src/docs/ru-RU/general/apps.md                |   6 -
 src/docs/ru-RU/general/changelog.md           |   5 -
 src/docs/ru-RU/general/faq.md                 |  28 --
 src/docs/ru-RU/general/glossary.md            |  89 -----
 src/docs/ru-RU/general/links.md               |  12 -
 src/docs/ru-RU/general/misskey.md             | 142 -------
 src/docs/ru-RU/general/report-issue.md        |   8 -
 src/docs/ru-RU/general/troubleshooting.md     |  40 --
 src/docs/ru-RU/keyboard-shortcut.md           |  68 ----
 src/docs/ru-RU/mfm.md                         |   2 -
 src/docs/ru-RU/mute.md                        |  13 -
 src/docs/ru-RU/pages.md                       |  10 -
 src/docs/ru-RU/reaction.md                    |  11 -
 src/docs/ru-RU/reversi-bot.md                 | 160 --------
 src/docs/ru-RU/stream.md                      | 354 ------------------
 src/docs/ru-RU/theme.md                       |  68 ----
 src/docs/ru-RU/timelines.md                   |  15 -
 src/docs/th-TH/admin/disable-timelines.md     |   8 -
 src/docs/th-TH/admin/faq.md                   |   5 -
 src/docs/th-TH/advanced/aiscript.md           |   7 -
 src/docs/th-TH/advanced/api.md                |  58 ---
 src/docs/th-TH/advanced/create-plugin.md      |  74 ----
 src/docs/th-TH/advanced/develop-bot.md        |   6 -
 src/docs/th-TH/advanced/reversi-bot.md        | 160 --------
 src/docs/th-TH/advanced/share-page.md         |  54 ---
 src/docs/th-TH/advanced/stream.md             | 350 -----------------
 src/docs/th-TH/aiscript.md                    |   4 -
 src/docs/th-TH/api.md                         |  58 ---
 src/docs/th-TH/create-plugin.md               |  74 ----
 src/docs/th-TH/custom-emoji.md                |   2 -
 src/docs/th-TH/deck.md                        |  18 -
 src/docs/th-TH/features/antenna.md            |   4 -
 src/docs/th-TH/features/custom-emoji.md       |   2 -
 src/docs/th-TH/features/deck.md               |  18 -
 src/docs/th-TH/features/drive.md              |  17 -
 src/docs/th-TH/features/favorite.md           |   4 -
 src/docs/th-TH/features/follow.md             |   2 -
 src/docs/th-TH/features/keyboard-shortcut.md  |  66 ----
 src/docs/th-TH/features/mfm.md                |  12 -
 src/docs/th-TH/features/mute-and-block.md     |  41 --
 src/docs/th-TH/features/mute.md               |  13 -
 src/docs/th-TH/features/note.md               |  54 ---
 src/docs/th-TH/features/pages.md              |  10 -
 src/docs/th-TH/features/reaction.md           |  11 -
 src/docs/th-TH/features/silence.md            |   6 -
 src/docs/th-TH/features/theme.md              |  68 ----
 src/docs/th-TH/features/timeline.md           |  31 --
 src/docs/th-TH/features/widgets.md            |   7 -
 src/docs/th-TH/features/word-mute.md          |  20 -
 src/docs/th-TH/follow.md                      |   2 -
 src/docs/th-TH/general/apps.md                |   6 -
 src/docs/th-TH/general/changelog.md           |   5 -
 src/docs/th-TH/general/faq.md                 |  28 --
 src/docs/th-TH/general/glossary.md            |  89 -----
 src/docs/th-TH/general/links.md               |  12 -
 src/docs/th-TH/general/misskey.md             |  87 -----
 src/docs/th-TH/general/report-issue.md        |   8 -
 src/docs/th-TH/general/troubleshooting.md     |  40 --
 src/docs/th-TH/keyboard-shortcut.md           |  68 ----
 src/docs/th-TH/mfm.md                         |   2 -
 src/docs/th-TH/mute.md                        |  13 -
 src/docs/th-TH/pages.md                       |  10 -
 src/docs/th-TH/reaction.md                    |  11 -
 src/docs/th-TH/reversi-bot.md                 | 160 --------
 src/docs/th-TH/stream.md                      | 354 ------------------
 src/docs/th-TH/theme.md                       |  68 ----
 src/docs/th-TH/timelines.md                   |  15 -
 src/docs/ug-CN/admin/disable-timelines.md     |   8 -
 src/docs/ug-CN/admin/faq.md                   |   5 -
 src/docs/ug-CN/advanced/aiscript.md           |   7 -
 src/docs/ug-CN/advanced/api.md                |  58 ---
 src/docs/ug-CN/advanced/create-plugin.md      |  74 ----
 src/docs/ug-CN/advanced/develop-bot.md        |   6 -
 src/docs/ug-CN/advanced/reversi-bot.md        | 160 --------
 src/docs/ug-CN/advanced/share-page.md         |  54 ---
 src/docs/ug-CN/advanced/stream.md             | 350 -----------------
 src/docs/ug-CN/aiscript.md                    |   4 -
 src/docs/ug-CN/api.md                         |  58 ---
 src/docs/ug-CN/create-plugin.md               |  74 ----
 src/docs/ug-CN/custom-emoji.md                |   2 -
 src/docs/ug-CN/deck.md                        |  18 -
 src/docs/ug-CN/features/antenna.md            |   4 -
 src/docs/ug-CN/features/custom-emoji.md       |   2 -
 src/docs/ug-CN/features/deck.md               |  18 -
 src/docs/ug-CN/features/drive.md              |  17 -
 src/docs/ug-CN/features/favorite.md           |   4 -
 src/docs/ug-CN/features/follow.md             |   2 -
 src/docs/ug-CN/features/keyboard-shortcut.md  |  66 ----
 src/docs/ug-CN/features/mfm.md                |  12 -
 src/docs/ug-CN/features/mute-and-block.md     |  41 --
 src/docs/ug-CN/features/mute.md               |  13 -
 src/docs/ug-CN/features/note.md               |  54 ---
 src/docs/ug-CN/features/pages.md              |  10 -
 src/docs/ug-CN/features/reaction.md           |  11 -
 src/docs/ug-CN/features/silence.md            |   6 -
 src/docs/ug-CN/features/theme.md              |  68 ----
 src/docs/ug-CN/features/timeline.md           |  31 --
 src/docs/ug-CN/features/widgets.md            |   7 -
 src/docs/ug-CN/features/word-mute.md          |  20 -
 src/docs/ug-CN/follow.md                      |   2 -
 src/docs/ug-CN/general/apps.md                |   6 -
 src/docs/ug-CN/general/changelog.md           |   5 -
 src/docs/ug-CN/general/faq.md                 |  28 --
 src/docs/ug-CN/general/glossary.md            |  89 -----
 src/docs/ug-CN/general/links.md               |  12 -
 src/docs/ug-CN/general/misskey.md             |  87 -----
 src/docs/ug-CN/general/report-issue.md        |   8 -
 src/docs/ug-CN/general/troubleshooting.md     |  40 --
 src/docs/ug-CN/keyboard-shortcut.md           |  68 ----
 src/docs/ug-CN/mfm.md                         |   2 -
 src/docs/ug-CN/mute.md                        |  13 -
 src/docs/ug-CN/pages.md                       |  10 -
 src/docs/ug-CN/reaction.md                    |  11 -
 src/docs/ug-CN/reversi-bot.md                 | 160 --------
 src/docs/ug-CN/stream.md                      | 354 ------------------
 src/docs/ug-CN/theme.md                       |  68 ----
 src/docs/ug-CN/timelines.md                   |  15 -
 src/docs/uk-UA/admin/disable-timelines.md     |   8 -
 src/docs/uk-UA/admin/faq.md                   |   5 -
 src/docs/uk-UA/advanced/aiscript.md           |   7 -
 src/docs/uk-UA/advanced/api.md                |  58 ---
 src/docs/uk-UA/advanced/create-plugin.md      |  74 ----
 src/docs/uk-UA/advanced/develop-bot.md        |   6 -
 src/docs/uk-UA/advanced/reversi-bot.md        | 160 --------
 src/docs/uk-UA/advanced/share-page.md         |  54 ---
 src/docs/uk-UA/advanced/stream.md             | 350 -----------------
 src/docs/uk-UA/aiscript.md                    |   4 -
 src/docs/uk-UA/api.md                         |  58 ---
 src/docs/uk-UA/create-plugin.md               |  74 ----
 src/docs/uk-UA/custom-emoji.md                |   2 -
 src/docs/uk-UA/deck.md                        |  18 -
 src/docs/uk-UA/features/antenna.md            |   4 -
 src/docs/uk-UA/features/custom-emoji.md       |   2 -
 src/docs/uk-UA/features/deck.md               |  18 -
 src/docs/uk-UA/features/drive.md              |  17 -
 src/docs/uk-UA/features/favorite.md           |   4 -
 src/docs/uk-UA/features/follow.md             |   2 -
 src/docs/uk-UA/features/keyboard-shortcut.md  |  66 ----
 src/docs/uk-UA/features/mfm.md                |  12 -
 src/docs/uk-UA/features/mute-and-block.md     |  41 --
 src/docs/uk-UA/features/mute.md               |  13 -
 src/docs/uk-UA/features/note.md               |  54 ---
 src/docs/uk-UA/features/pages.md              |  10 -
 src/docs/uk-UA/features/reaction.md           |  11 -
 src/docs/uk-UA/features/silence.md            |   6 -
 src/docs/uk-UA/features/theme.md              |  68 ----
 src/docs/uk-UA/features/timeline.md           |  31 --
 src/docs/uk-UA/features/widgets.md            |   7 -
 src/docs/uk-UA/features/word-mute.md          |  20 -
 src/docs/uk-UA/follow.md                      |   2 -
 src/docs/uk-UA/general/apps.md                |   6 -
 src/docs/uk-UA/general/changelog.md           |   5 -
 src/docs/uk-UA/general/faq.md                 |  28 --
 src/docs/uk-UA/general/glossary.md            |  89 -----
 src/docs/uk-UA/general/links.md               |  12 -
 src/docs/uk-UA/general/misskey.md             |  87 -----
 src/docs/uk-UA/general/report-issue.md        |   8 -
 src/docs/uk-UA/general/troubleshooting.md     |  40 --
 src/docs/uk-UA/keyboard-shortcut.md           |  68 ----
 src/docs/uk-UA/mfm.md                         |   2 -
 src/docs/uk-UA/mute.md                        |  13 -
 src/docs/uk-UA/pages.md                       |  10 -
 src/docs/uk-UA/reaction.md                    |  11 -
 src/docs/uk-UA/reversi-bot.md                 | 160 --------
 src/docs/uk-UA/stream.md                      | 354 ------------------
 src/docs/uk-UA/theme.md                       |  68 ----
 src/docs/uk-UA/timelines.md                   |  15 -
 src/docs/zh-CN/admin/disable-timelines.md     |   8 -
 src/docs/zh-CN/admin/faq.md                   |   5 -
 src/docs/zh-CN/advanced/aiscript.md           |   7 -
 src/docs/zh-CN/advanced/api.md                |  58 ---
 src/docs/zh-CN/advanced/create-plugin.md      |  74 ----
 src/docs/zh-CN/advanced/develop-bot.md        |   6 -
 src/docs/zh-CN/advanced/reversi-bot.md        | 160 --------
 src/docs/zh-CN/advanced/share-page.md         |  54 ---
 src/docs/zh-CN/advanced/stream.md             | 350 -----------------
 src/docs/zh-CN/aiscript.md                    |   4 -
 src/docs/zh-CN/api.md                         |  58 ---
 src/docs/zh-CN/create-plugin.md               |  74 ----
 src/docs/zh-CN/custom-emoji.md                |   2 -
 src/docs/zh-CN/deck.md                        |  18 -
 src/docs/zh-CN/features/antenna.md            |   4 -
 src/docs/zh-CN/features/custom-emoji.md       |   2 -
 src/docs/zh-CN/features/deck.md               |  18 -
 src/docs/zh-CN/features/drive.md              |  17 -
 src/docs/zh-CN/features/favorite.md           |   4 -
 src/docs/zh-CN/features/follow.md             |   2 -
 src/docs/zh-CN/features/keyboard-shortcut.md  |  66 ----
 src/docs/zh-CN/features/mfm.md                |  12 -
 src/docs/zh-CN/features/mute-and-block.md     |  41 --
 src/docs/zh-CN/features/mute.md               |  13 -
 src/docs/zh-CN/features/note.md               |  54 ---
 src/docs/zh-CN/features/pages.md              |  10 -
 src/docs/zh-CN/features/reaction.md           |  11 -
 src/docs/zh-CN/features/silence.md            |   6 -
 src/docs/zh-CN/features/theme.md              |  68 ----
 src/docs/zh-CN/features/timeline.md           |  31 --
 src/docs/zh-CN/features/widgets.md            |   7 -
 src/docs/zh-CN/features/word-mute.md          |  20 -
 src/docs/zh-CN/follow.md                      |   2 -
 src/docs/zh-CN/general/apps.md                |   6 -
 src/docs/zh-CN/general/changelog.md           |   5 -
 src/docs/zh-CN/general/faq.md                 |  28 --
 src/docs/zh-CN/general/glossary.md            |  89 -----
 src/docs/zh-CN/general/links.md               |  12 -
 src/docs/zh-CN/general/misskey.md             |  87 -----
 src/docs/zh-CN/general/report-issue.md        |   8 -
 src/docs/zh-CN/general/troubleshooting.md     |  40 --
 src/docs/zh-CN/keyboard-shortcut.md           |  68 ----
 src/docs/zh-CN/mfm.md                         |   2 -
 src/docs/zh-CN/mute.md                        |  13 -
 src/docs/zh-CN/pages.md                       |  10 -
 src/docs/zh-CN/reaction.md                    |  11 -
 src/docs/zh-CN/reversi-bot.md                 | 160 --------
 src/docs/zh-CN/stream.md                      | 354 ------------------
 src/docs/zh-CN/theme.md                       |  68 ----
 src/docs/zh-CN/timelines.md                   |  15 -
 src/docs/zh-TW/admin/disable-timelines.md     |   8 -
 src/docs/zh-TW/admin/faq.md                   |   5 -
 src/docs/zh-TW/advanced/aiscript.md           |   7 -
 src/docs/zh-TW/advanced/api.md                |  58 ---
 src/docs/zh-TW/advanced/create-plugin.md      |  74 ----
 src/docs/zh-TW/advanced/develop-bot.md        |   6 -
 src/docs/zh-TW/advanced/reversi-bot.md        | 160 --------
 src/docs/zh-TW/advanced/share-page.md         |  54 ---
 src/docs/zh-TW/advanced/stream.md             | 350 -----------------
 src/docs/zh-TW/aiscript.md                    |   4 -
 src/docs/zh-TW/api.md                         |  58 ---
 src/docs/zh-TW/create-plugin.md               |  74 ----
 src/docs/zh-TW/custom-emoji.md                |   2 -
 src/docs/zh-TW/deck.md                        |  18 -
 src/docs/zh-TW/features/antenna.md            |   4 -
 src/docs/zh-TW/features/custom-emoji.md       |   2 -
 src/docs/zh-TW/features/deck.md               |  18 -
 src/docs/zh-TW/features/drive.md              |  17 -
 src/docs/zh-TW/features/favorite.md           |   4 -
 src/docs/zh-TW/features/follow.md             |   2 -
 src/docs/zh-TW/features/keyboard-shortcut.md  |  66 ----
 src/docs/zh-TW/features/mfm.md                |  12 -
 src/docs/zh-TW/features/mute-and-block.md     |  41 --
 src/docs/zh-TW/features/mute.md               |  13 -
 src/docs/zh-TW/features/note.md               |  54 ---
 src/docs/zh-TW/features/pages.md              |  10 -
 src/docs/zh-TW/features/reaction.md           |  11 -
 src/docs/zh-TW/features/silence.md            |   6 -
 src/docs/zh-TW/features/theme.md              |  68 ----
 src/docs/zh-TW/features/timeline.md           |  31 --
 src/docs/zh-TW/features/widgets.md            |   7 -
 src/docs/zh-TW/features/word-mute.md          |  20 -
 src/docs/zh-TW/follow.md                      |   2 -
 src/docs/zh-TW/general/apps.md                |   6 -
 src/docs/zh-TW/general/changelog.md           |   5 -
 src/docs/zh-TW/general/faq.md                 |  28 --
 src/docs/zh-TW/general/glossary.md            |  89 -----
 src/docs/zh-TW/general/links.md               |  12 -
 src/docs/zh-TW/general/misskey.md             |  87 -----
 src/docs/zh-TW/general/report-issue.md        |   8 -
 src/docs/zh-TW/general/troubleshooting.md     |  40 --
 src/docs/zh-TW/keyboard-shortcut.md           |  68 ----
 src/docs/zh-TW/mfm.md                         |   2 -
 src/docs/zh-TW/mute.md                        |  13 -
 src/docs/zh-TW/pages.md                       |  10 -
 src/docs/zh-TW/reaction.md                    |  11 -
 src/docs/zh-TW/reversi-bot.md                 | 160 --------
 src/docs/zh-TW/stream.md                      | 354 ------------------
 src/docs/zh-TW/theme.md                       |  70 ----
 src/docs/zh-TW/timelines.md                   |  15 -
 src/server/web/index.ts                       |  81 ----
 yarn.lock                                     |  56 ---
 1355 files changed, 13 insertions(+), 60421 deletions(-)
 delete mode 100644 src/client/pages/doc.vue
 delete mode 100644 src/client/pages/docs.vue
 delete mode 100644 src/docs/ar-SA/admin/disable-timelines.md
 delete mode 100644 src/docs/ar-SA/admin/faq.md
 delete mode 100644 src/docs/ar-SA/advanced/aiscript.md
 delete mode 100644 src/docs/ar-SA/advanced/api.md
 delete mode 100644 src/docs/ar-SA/advanced/create-plugin.md
 delete mode 100644 src/docs/ar-SA/advanced/develop-bot.md
 delete mode 100644 src/docs/ar-SA/advanced/reversi-bot.md
 delete mode 100644 src/docs/ar-SA/advanced/share-page.md
 delete mode 100644 src/docs/ar-SA/advanced/stream.md
 delete mode 100644 src/docs/ar-SA/aiscript.md
 delete mode 100644 src/docs/ar-SA/api.md
 delete mode 100644 src/docs/ar-SA/create-plugin.md
 delete mode 100644 src/docs/ar-SA/custom-emoji.md
 delete mode 100644 src/docs/ar-SA/deck.md
 delete mode 100644 src/docs/ar-SA/features/antenna.md
 delete mode 100644 src/docs/ar-SA/features/custom-emoji.md
 delete mode 100644 src/docs/ar-SA/features/deck.md
 delete mode 100644 src/docs/ar-SA/features/drive.md
 delete mode 100644 src/docs/ar-SA/features/favorite.md
 delete mode 100644 src/docs/ar-SA/features/follow.md
 delete mode 100644 src/docs/ar-SA/features/keyboard-shortcut.md
 delete mode 100644 src/docs/ar-SA/features/mfm.md
 delete mode 100644 src/docs/ar-SA/features/mute-and-block.md
 delete mode 100644 src/docs/ar-SA/features/mute.md
 delete mode 100644 src/docs/ar-SA/features/note.md
 delete mode 100644 src/docs/ar-SA/features/pages.md
 delete mode 100644 src/docs/ar-SA/features/reaction.md
 delete mode 100644 src/docs/ar-SA/features/silence.md
 delete mode 100644 src/docs/ar-SA/features/theme.md
 delete mode 100644 src/docs/ar-SA/features/timeline.md
 delete mode 100644 src/docs/ar-SA/features/widgets.md
 delete mode 100644 src/docs/ar-SA/features/word-mute.md
 delete mode 100644 src/docs/ar-SA/follow.md
 delete mode 100644 src/docs/ar-SA/general/apps.md
 delete mode 100644 src/docs/ar-SA/general/changelog.md
 delete mode 100644 src/docs/ar-SA/general/faq.md
 delete mode 100644 src/docs/ar-SA/general/glossary.md
 delete mode 100644 src/docs/ar-SA/general/links.md
 delete mode 100644 src/docs/ar-SA/general/misskey.md
 delete mode 100644 src/docs/ar-SA/general/report-issue.md
 delete mode 100644 src/docs/ar-SA/general/troubleshooting.md
 delete mode 100644 src/docs/ar-SA/keyboard-shortcut.md
 delete mode 100644 src/docs/ar-SA/mfm.md
 delete mode 100644 src/docs/ar-SA/mute.md
 delete mode 100644 src/docs/ar-SA/pages.md
 delete mode 100644 src/docs/ar-SA/reaction.md
 delete mode 100644 src/docs/ar-SA/reversi-bot.md
 delete mode 100644 src/docs/ar-SA/stream.md
 delete mode 100644 src/docs/ar-SA/theme.md
 delete mode 100644 src/docs/ar-SA/timelines.md
 delete mode 100644 src/docs/cs-CZ/admin/disable-timelines.md
 delete mode 100644 src/docs/cs-CZ/admin/faq.md
 delete mode 100644 src/docs/cs-CZ/advanced/aiscript.md
 delete mode 100644 src/docs/cs-CZ/advanced/api.md
 delete mode 100644 src/docs/cs-CZ/advanced/create-plugin.md
 delete mode 100644 src/docs/cs-CZ/advanced/develop-bot.md
 delete mode 100644 src/docs/cs-CZ/advanced/reversi-bot.md
 delete mode 100644 src/docs/cs-CZ/advanced/share-page.md
 delete mode 100644 src/docs/cs-CZ/advanced/stream.md
 delete mode 100644 src/docs/cs-CZ/aiscript.md
 delete mode 100644 src/docs/cs-CZ/api.md
 delete mode 100644 src/docs/cs-CZ/create-plugin.md
 delete mode 100644 src/docs/cs-CZ/custom-emoji.md
 delete mode 100644 src/docs/cs-CZ/deck.md
 delete mode 100644 src/docs/cs-CZ/features/antenna.md
 delete mode 100644 src/docs/cs-CZ/features/custom-emoji.md
 delete mode 100644 src/docs/cs-CZ/features/deck.md
 delete mode 100644 src/docs/cs-CZ/features/drive.md
 delete mode 100644 src/docs/cs-CZ/features/favorite.md
 delete mode 100644 src/docs/cs-CZ/features/follow.md
 delete mode 100644 src/docs/cs-CZ/features/keyboard-shortcut.md
 delete mode 100644 src/docs/cs-CZ/features/mfm.md
 delete mode 100644 src/docs/cs-CZ/features/mute-and-block.md
 delete mode 100644 src/docs/cs-CZ/features/mute.md
 delete mode 100644 src/docs/cs-CZ/features/note.md
 delete mode 100644 src/docs/cs-CZ/features/pages.md
 delete mode 100644 src/docs/cs-CZ/features/reaction.md
 delete mode 100644 src/docs/cs-CZ/features/silence.md
 delete mode 100644 src/docs/cs-CZ/features/theme.md
 delete mode 100644 src/docs/cs-CZ/features/timeline.md
 delete mode 100644 src/docs/cs-CZ/features/widgets.md
 delete mode 100644 src/docs/cs-CZ/features/word-mute.md
 delete mode 100644 src/docs/cs-CZ/follow.md
 delete mode 100644 src/docs/cs-CZ/general/apps.md
 delete mode 100644 src/docs/cs-CZ/general/changelog.md
 delete mode 100644 src/docs/cs-CZ/general/faq.md
 delete mode 100644 src/docs/cs-CZ/general/glossary.md
 delete mode 100644 src/docs/cs-CZ/general/links.md
 delete mode 100644 src/docs/cs-CZ/general/misskey.md
 delete mode 100644 src/docs/cs-CZ/general/report-issue.md
 delete mode 100644 src/docs/cs-CZ/general/troubleshooting.md
 delete mode 100644 src/docs/cs-CZ/keyboard-shortcut.md
 delete mode 100644 src/docs/cs-CZ/mfm.md
 delete mode 100644 src/docs/cs-CZ/mute.md
 delete mode 100644 src/docs/cs-CZ/pages.md
 delete mode 100644 src/docs/cs-CZ/reaction.md
 delete mode 100644 src/docs/cs-CZ/reversi-bot.md
 delete mode 100644 src/docs/cs-CZ/stream.md
 delete mode 100644 src/docs/cs-CZ/theme.md
 delete mode 100644 src/docs/cs-CZ/timelines.md
 delete mode 100644 src/docs/da-DK/admin/disable-timelines.md
 delete mode 100644 src/docs/da-DK/admin/faq.md
 delete mode 100644 src/docs/da-DK/advanced/aiscript.md
 delete mode 100644 src/docs/da-DK/advanced/api.md
 delete mode 100644 src/docs/da-DK/advanced/create-plugin.md
 delete mode 100644 src/docs/da-DK/advanced/develop-bot.md
 delete mode 100644 src/docs/da-DK/advanced/reversi-bot.md
 delete mode 100644 src/docs/da-DK/advanced/share-page.md
 delete mode 100644 src/docs/da-DK/advanced/stream.md
 delete mode 100644 src/docs/da-DK/aiscript.md
 delete mode 100644 src/docs/da-DK/api.md
 delete mode 100644 src/docs/da-DK/create-plugin.md
 delete mode 100644 src/docs/da-DK/custom-emoji.md
 delete mode 100644 src/docs/da-DK/deck.md
 delete mode 100644 src/docs/da-DK/features/antenna.md
 delete mode 100644 src/docs/da-DK/features/custom-emoji.md
 delete mode 100644 src/docs/da-DK/features/deck.md
 delete mode 100644 src/docs/da-DK/features/drive.md
 delete mode 100644 src/docs/da-DK/features/favorite.md
 delete mode 100644 src/docs/da-DK/features/follow.md
 delete mode 100644 src/docs/da-DK/features/keyboard-shortcut.md
 delete mode 100644 src/docs/da-DK/features/mfm.md
 delete mode 100644 src/docs/da-DK/features/mute-and-block.md
 delete mode 100644 src/docs/da-DK/features/mute.md
 delete mode 100644 src/docs/da-DK/features/note.md
 delete mode 100644 src/docs/da-DK/features/pages.md
 delete mode 100644 src/docs/da-DK/features/reaction.md
 delete mode 100644 src/docs/da-DK/features/silence.md
 delete mode 100644 src/docs/da-DK/features/theme.md
 delete mode 100644 src/docs/da-DK/features/timeline.md
 delete mode 100644 src/docs/da-DK/features/widgets.md
 delete mode 100644 src/docs/da-DK/features/word-mute.md
 delete mode 100644 src/docs/da-DK/follow.md
 delete mode 100644 src/docs/da-DK/general/apps.md
 delete mode 100644 src/docs/da-DK/general/changelog.md
 delete mode 100644 src/docs/da-DK/general/faq.md
 delete mode 100644 src/docs/da-DK/general/glossary.md
 delete mode 100644 src/docs/da-DK/general/links.md
 delete mode 100644 src/docs/da-DK/general/misskey.md
 delete mode 100644 src/docs/da-DK/general/report-issue.md
 delete mode 100644 src/docs/da-DK/general/troubleshooting.md
 delete mode 100644 src/docs/da-DK/keyboard-shortcut.md
 delete mode 100644 src/docs/da-DK/mfm.md
 delete mode 100644 src/docs/da-DK/mute.md
 delete mode 100644 src/docs/da-DK/pages.md
 delete mode 100644 src/docs/da-DK/reaction.md
 delete mode 100644 src/docs/da-DK/reversi-bot.md
 delete mode 100644 src/docs/da-DK/stream.md
 delete mode 100644 src/docs/da-DK/theme.md
 delete mode 100644 src/docs/da-DK/timelines.md
 delete mode 100644 src/docs/de-DE/admin/disable-timelines.md
 delete mode 100644 src/docs/de-DE/admin/faq.md
 delete mode 100644 src/docs/de-DE/advanced/aiscript.md
 delete mode 100644 src/docs/de-DE/advanced/api.md
 delete mode 100644 src/docs/de-DE/advanced/create-plugin.md
 delete mode 100644 src/docs/de-DE/advanced/develop-bot.md
 delete mode 100644 src/docs/de-DE/advanced/reversi-bot.md
 delete mode 100644 src/docs/de-DE/advanced/share-page.md
 delete mode 100644 src/docs/de-DE/advanced/stream.md
 delete mode 100644 src/docs/de-DE/aiscript.md
 delete mode 100644 src/docs/de-DE/api.md
 delete mode 100644 src/docs/de-DE/create-plugin.md
 delete mode 100644 src/docs/de-DE/custom-emoji.md
 delete mode 100644 src/docs/de-DE/deck.md
 delete mode 100644 src/docs/de-DE/features/antenna.md
 delete mode 100644 src/docs/de-DE/features/custom-emoji.md
 delete mode 100644 src/docs/de-DE/features/deck.md
 delete mode 100644 src/docs/de-DE/features/drive.md
 delete mode 100644 src/docs/de-DE/features/favorite.md
 delete mode 100644 src/docs/de-DE/features/follow.md
 delete mode 100644 src/docs/de-DE/features/keyboard-shortcut.md
 delete mode 100644 src/docs/de-DE/features/mfm.md
 delete mode 100644 src/docs/de-DE/features/mute-and-block.md
 delete mode 100644 src/docs/de-DE/features/mute.md
 delete mode 100644 src/docs/de-DE/features/note.md
 delete mode 100644 src/docs/de-DE/features/pages.md
 delete mode 100644 src/docs/de-DE/features/reaction.md
 delete mode 100644 src/docs/de-DE/features/silence.md
 delete mode 100644 src/docs/de-DE/features/theme.md
 delete mode 100644 src/docs/de-DE/features/timeline.md
 delete mode 100644 src/docs/de-DE/features/widgets.md
 delete mode 100644 src/docs/de-DE/features/word-mute.md
 delete mode 100644 src/docs/de-DE/follow.md
 delete mode 100644 src/docs/de-DE/general/apps.md
 delete mode 100644 src/docs/de-DE/general/changelog.md
 delete mode 100644 src/docs/de-DE/general/faq.md
 delete mode 100644 src/docs/de-DE/general/glossary.md
 delete mode 100644 src/docs/de-DE/general/links.md
 delete mode 100644 src/docs/de-DE/general/misskey.md
 delete mode 100644 src/docs/de-DE/general/report-issue.md
 delete mode 100644 src/docs/de-DE/general/troubleshooting.md
 delete mode 100644 src/docs/de-DE/keyboard-shortcut.md
 delete mode 100644 src/docs/de-DE/mfm.md
 delete mode 100644 src/docs/de-DE/mute.md
 delete mode 100644 src/docs/de-DE/pages.md
 delete mode 100644 src/docs/de-DE/reaction.md
 delete mode 100644 src/docs/de-DE/reversi-bot.md
 delete mode 100644 src/docs/de-DE/stream.md
 delete mode 100644 src/docs/de-DE/theme.md
 delete mode 100644 src/docs/de-DE/timelines.md
 delete mode 100644 src/docs/en-US/admin/disable-timelines.md
 delete mode 100644 src/docs/en-US/admin/faq.md
 delete mode 100644 src/docs/en-US/advanced/aiscript.md
 delete mode 100644 src/docs/en-US/advanced/api.md
 delete mode 100644 src/docs/en-US/advanced/create-plugin.md
 delete mode 100644 src/docs/en-US/advanced/develop-bot.md
 delete mode 100644 src/docs/en-US/advanced/reversi-bot.md
 delete mode 100644 src/docs/en-US/advanced/share-page.md
 delete mode 100644 src/docs/en-US/advanced/stream.md
 delete mode 100644 src/docs/en-US/aiscript.md
 delete mode 100644 src/docs/en-US/api.md
 delete mode 100644 src/docs/en-US/create-plugin.md
 delete mode 100644 src/docs/en-US/custom-emoji.md
 delete mode 100644 src/docs/en-US/deck.md
 delete mode 100644 src/docs/en-US/features/antenna.md
 delete mode 100644 src/docs/en-US/features/custom-emoji.md
 delete mode 100644 src/docs/en-US/features/deck.md
 delete mode 100644 src/docs/en-US/features/drive.md
 delete mode 100644 src/docs/en-US/features/favorite.md
 delete mode 100644 src/docs/en-US/features/follow.md
 delete mode 100644 src/docs/en-US/features/keyboard-shortcut.md
 delete mode 100644 src/docs/en-US/features/mfm.md
 delete mode 100644 src/docs/en-US/features/mute-and-block.md
 delete mode 100644 src/docs/en-US/features/mute.md
 delete mode 100644 src/docs/en-US/features/note.md
 delete mode 100644 src/docs/en-US/features/pages.md
 delete mode 100644 src/docs/en-US/features/reaction.md
 delete mode 100644 src/docs/en-US/features/silence.md
 delete mode 100644 src/docs/en-US/features/theme.md
 delete mode 100644 src/docs/en-US/features/timeline.md
 delete mode 100644 src/docs/en-US/features/widgets.md
 delete mode 100644 src/docs/en-US/features/word-mute.md
 delete mode 100644 src/docs/en-US/follow.md
 delete mode 100644 src/docs/en-US/general/apps.md
 delete mode 100644 src/docs/en-US/general/changelog.md
 delete mode 100644 src/docs/en-US/general/faq.md
 delete mode 100644 src/docs/en-US/general/glossary.md
 delete mode 100644 src/docs/en-US/general/links.md
 delete mode 100644 src/docs/en-US/general/misskey.md
 delete mode 100644 src/docs/en-US/general/report-issue.md
 delete mode 100644 src/docs/en-US/general/troubleshooting.md
 delete mode 100644 src/docs/en-US/keyboard-shortcut.md
 delete mode 100644 src/docs/en-US/mfm.md
 delete mode 100644 src/docs/en-US/mute.md
 delete mode 100644 src/docs/en-US/pages.md
 delete mode 100644 src/docs/en-US/reaction.md
 delete mode 100644 src/docs/en-US/reversi-bot.md
 delete mode 100644 src/docs/en-US/stream.md
 delete mode 100644 src/docs/en-US/theme.md
 delete mode 100644 src/docs/en-US/timelines.md
 delete mode 100644 src/docs/eo-UY/admin/disable-timelines.md
 delete mode 100644 src/docs/eo-UY/admin/faq.md
 delete mode 100644 src/docs/eo-UY/advanced/aiscript.md
 delete mode 100644 src/docs/eo-UY/advanced/api.md
 delete mode 100644 src/docs/eo-UY/advanced/create-plugin.md
 delete mode 100644 src/docs/eo-UY/advanced/develop-bot.md
 delete mode 100644 src/docs/eo-UY/advanced/reversi-bot.md
 delete mode 100644 src/docs/eo-UY/advanced/share-page.md
 delete mode 100644 src/docs/eo-UY/advanced/stream.md
 delete mode 100644 src/docs/eo-UY/aiscript.md
 delete mode 100644 src/docs/eo-UY/api.md
 delete mode 100644 src/docs/eo-UY/create-plugin.md
 delete mode 100644 src/docs/eo-UY/custom-emoji.md
 delete mode 100644 src/docs/eo-UY/deck.md
 delete mode 100644 src/docs/eo-UY/features/antenna.md
 delete mode 100644 src/docs/eo-UY/features/custom-emoji.md
 delete mode 100644 src/docs/eo-UY/features/deck.md
 delete mode 100644 src/docs/eo-UY/features/drive.md
 delete mode 100644 src/docs/eo-UY/features/favorite.md
 delete mode 100644 src/docs/eo-UY/features/follow.md
 delete mode 100644 src/docs/eo-UY/features/keyboard-shortcut.md
 delete mode 100644 src/docs/eo-UY/features/mfm.md
 delete mode 100644 src/docs/eo-UY/features/mute-and-block.md
 delete mode 100644 src/docs/eo-UY/features/mute.md
 delete mode 100644 src/docs/eo-UY/features/note.md
 delete mode 100644 src/docs/eo-UY/features/pages.md
 delete mode 100644 src/docs/eo-UY/features/reaction.md
 delete mode 100644 src/docs/eo-UY/features/silence.md
 delete mode 100644 src/docs/eo-UY/features/theme.md
 delete mode 100644 src/docs/eo-UY/features/timeline.md
 delete mode 100644 src/docs/eo-UY/features/widgets.md
 delete mode 100644 src/docs/eo-UY/features/word-mute.md
 delete mode 100644 src/docs/eo-UY/follow.md
 delete mode 100644 src/docs/eo-UY/general/apps.md
 delete mode 100644 src/docs/eo-UY/general/changelog.md
 delete mode 100644 src/docs/eo-UY/general/faq.md
 delete mode 100644 src/docs/eo-UY/general/glossary.md
 delete mode 100644 src/docs/eo-UY/general/links.md
 delete mode 100644 src/docs/eo-UY/general/misskey.md
 delete mode 100644 src/docs/eo-UY/general/report-issue.md
 delete mode 100644 src/docs/eo-UY/general/troubleshooting.md
 delete mode 100644 src/docs/eo-UY/keyboard-shortcut.md
 delete mode 100644 src/docs/eo-UY/mfm.md
 delete mode 100644 src/docs/eo-UY/mute.md
 delete mode 100644 src/docs/eo-UY/pages.md
 delete mode 100644 src/docs/eo-UY/reaction.md
 delete mode 100644 src/docs/eo-UY/reversi-bot.md
 delete mode 100644 src/docs/eo-UY/stream.md
 delete mode 100644 src/docs/eo-UY/theme.md
 delete mode 100644 src/docs/eo-UY/timelines.md
 delete mode 100644 src/docs/es-ES/admin/disable-timelines.md
 delete mode 100644 src/docs/es-ES/admin/faq.md
 delete mode 100644 src/docs/es-ES/advanced/aiscript.md
 delete mode 100644 src/docs/es-ES/advanced/api.md
 delete mode 100644 src/docs/es-ES/advanced/create-plugin.md
 delete mode 100644 src/docs/es-ES/advanced/develop-bot.md
 delete mode 100644 src/docs/es-ES/advanced/reversi-bot.md
 delete mode 100644 src/docs/es-ES/advanced/share-page.md
 delete mode 100644 src/docs/es-ES/advanced/stream.md
 delete mode 100644 src/docs/es-ES/aiscript.md
 delete mode 100644 src/docs/es-ES/api.md
 delete mode 100644 src/docs/es-ES/create-plugin.md
 delete mode 100644 src/docs/es-ES/custom-emoji.md
 delete mode 100644 src/docs/es-ES/deck.md
 delete mode 100644 src/docs/es-ES/features/antenna.md
 delete mode 100644 src/docs/es-ES/features/custom-emoji.md
 delete mode 100644 src/docs/es-ES/features/deck.md
 delete mode 100644 src/docs/es-ES/features/drive.md
 delete mode 100644 src/docs/es-ES/features/favorite.md
 delete mode 100644 src/docs/es-ES/features/follow.md
 delete mode 100644 src/docs/es-ES/features/keyboard-shortcut.md
 delete mode 100644 src/docs/es-ES/features/mfm.md
 delete mode 100644 src/docs/es-ES/features/mute-and-block.md
 delete mode 100644 src/docs/es-ES/features/mute.md
 delete mode 100644 src/docs/es-ES/features/note.md
 delete mode 100644 src/docs/es-ES/features/pages.md
 delete mode 100644 src/docs/es-ES/features/reaction.md
 delete mode 100644 src/docs/es-ES/features/silence.md
 delete mode 100644 src/docs/es-ES/features/theme.md
 delete mode 100644 src/docs/es-ES/features/timeline.md
 delete mode 100644 src/docs/es-ES/features/widgets.md
 delete mode 100644 src/docs/es-ES/features/word-mute.md
 delete mode 100644 src/docs/es-ES/follow.md
 delete mode 100644 src/docs/es-ES/general/apps.md
 delete mode 100644 src/docs/es-ES/general/changelog.md
 delete mode 100644 src/docs/es-ES/general/faq.md
 delete mode 100644 src/docs/es-ES/general/glossary.md
 delete mode 100644 src/docs/es-ES/general/links.md
 delete mode 100644 src/docs/es-ES/general/misskey.md
 delete mode 100644 src/docs/es-ES/general/report-issue.md
 delete mode 100644 src/docs/es-ES/general/troubleshooting.md
 delete mode 100644 src/docs/es-ES/keyboard-shortcut.md
 delete mode 100644 src/docs/es-ES/mfm.md
 delete mode 100644 src/docs/es-ES/mute.md
 delete mode 100644 src/docs/es-ES/pages.md
 delete mode 100644 src/docs/es-ES/reaction.md
 delete mode 100644 src/docs/es-ES/reversi-bot.md
 delete mode 100644 src/docs/es-ES/stream.md
 delete mode 100644 src/docs/es-ES/theme.md
 delete mode 100644 src/docs/es-ES/timelines.md
 delete mode 100644 src/docs/fr-FR/admin/disable-timelines.md
 delete mode 100644 src/docs/fr-FR/admin/faq.md
 delete mode 100644 src/docs/fr-FR/advanced/aiscript.md
 delete mode 100644 src/docs/fr-FR/advanced/api.md
 delete mode 100644 src/docs/fr-FR/advanced/create-plugin.md
 delete mode 100644 src/docs/fr-FR/advanced/develop-bot.md
 delete mode 100644 src/docs/fr-FR/advanced/reversi-bot.md
 delete mode 100644 src/docs/fr-FR/advanced/share-page.md
 delete mode 100644 src/docs/fr-FR/advanced/stream.md
 delete mode 100644 src/docs/fr-FR/aiscript.md
 delete mode 100644 src/docs/fr-FR/api.md
 delete mode 100644 src/docs/fr-FR/create-plugin.md
 delete mode 100644 src/docs/fr-FR/custom-emoji.md
 delete mode 100644 src/docs/fr-FR/deck.md
 delete mode 100644 src/docs/fr-FR/features/antenna.md
 delete mode 100644 src/docs/fr-FR/features/custom-emoji.md
 delete mode 100644 src/docs/fr-FR/features/deck.md
 delete mode 100644 src/docs/fr-FR/features/drive.md
 delete mode 100644 src/docs/fr-FR/features/favorite.md
 delete mode 100644 src/docs/fr-FR/features/follow.md
 delete mode 100644 src/docs/fr-FR/features/keyboard-shortcut.md
 delete mode 100644 src/docs/fr-FR/features/mfm.md
 delete mode 100644 src/docs/fr-FR/features/mute-and-block.md
 delete mode 100644 src/docs/fr-FR/features/mute.md
 delete mode 100644 src/docs/fr-FR/features/note.md
 delete mode 100644 src/docs/fr-FR/features/pages.md
 delete mode 100644 src/docs/fr-FR/features/reaction.md
 delete mode 100644 src/docs/fr-FR/features/silence.md
 delete mode 100644 src/docs/fr-FR/features/theme.md
 delete mode 100644 src/docs/fr-FR/features/timeline.md
 delete mode 100644 src/docs/fr-FR/features/widgets.md
 delete mode 100644 src/docs/fr-FR/features/word-mute.md
 delete mode 100644 src/docs/fr-FR/follow.md
 delete mode 100644 src/docs/fr-FR/general/apps.md
 delete mode 100644 src/docs/fr-FR/general/changelog.md
 delete mode 100644 src/docs/fr-FR/general/faq.md
 delete mode 100644 src/docs/fr-FR/general/glossary.md
 delete mode 100644 src/docs/fr-FR/general/links.md
 delete mode 100644 src/docs/fr-FR/general/misskey.md
 delete mode 100644 src/docs/fr-FR/general/report-issue.md
 delete mode 100644 src/docs/fr-FR/general/troubleshooting.md
 delete mode 100644 src/docs/fr-FR/keyboard-shortcut.md
 delete mode 100644 src/docs/fr-FR/mfm.md
 delete mode 100644 src/docs/fr-FR/mute.md
 delete mode 100644 src/docs/fr-FR/pages.md
 delete mode 100644 src/docs/fr-FR/reaction.md
 delete mode 100644 src/docs/fr-FR/reversi-bot.md
 delete mode 100644 src/docs/fr-FR/stream.md
 delete mode 100644 src/docs/fr-FR/theme.md
 delete mode 100644 src/docs/fr-FR/timelines.md
 delete mode 100644 src/docs/ht-HT/admin/disable-timelines.md
 delete mode 100644 src/docs/ht-HT/admin/faq.md
 delete mode 100644 src/docs/ht-HT/advanced/aiscript.md
 delete mode 100644 src/docs/ht-HT/advanced/api.md
 delete mode 100644 src/docs/ht-HT/advanced/create-plugin.md
 delete mode 100644 src/docs/ht-HT/advanced/develop-bot.md
 delete mode 100644 src/docs/ht-HT/advanced/reversi-bot.md
 delete mode 100644 src/docs/ht-HT/advanced/share-page.md
 delete mode 100644 src/docs/ht-HT/advanced/stream.md
 delete mode 100644 src/docs/ht-HT/aiscript.md
 delete mode 100644 src/docs/ht-HT/api.md
 delete mode 100644 src/docs/ht-HT/create-plugin.md
 delete mode 100644 src/docs/ht-HT/custom-emoji.md
 delete mode 100644 src/docs/ht-HT/deck.md
 delete mode 100644 src/docs/ht-HT/features/antenna.md
 delete mode 100644 src/docs/ht-HT/features/custom-emoji.md
 delete mode 100644 src/docs/ht-HT/features/deck.md
 delete mode 100644 src/docs/ht-HT/features/drive.md
 delete mode 100644 src/docs/ht-HT/features/favorite.md
 delete mode 100644 src/docs/ht-HT/features/follow.md
 delete mode 100644 src/docs/ht-HT/features/keyboard-shortcut.md
 delete mode 100644 src/docs/ht-HT/features/mfm.md
 delete mode 100644 src/docs/ht-HT/features/mute-and-block.md
 delete mode 100644 src/docs/ht-HT/features/mute.md
 delete mode 100644 src/docs/ht-HT/features/note.md
 delete mode 100644 src/docs/ht-HT/features/pages.md
 delete mode 100644 src/docs/ht-HT/features/reaction.md
 delete mode 100644 src/docs/ht-HT/features/silence.md
 delete mode 100644 src/docs/ht-HT/features/theme.md
 delete mode 100644 src/docs/ht-HT/features/timeline.md
 delete mode 100644 src/docs/ht-HT/features/widgets.md
 delete mode 100644 src/docs/ht-HT/features/word-mute.md
 delete mode 100644 src/docs/ht-HT/follow.md
 delete mode 100644 src/docs/ht-HT/general/apps.md
 delete mode 100644 src/docs/ht-HT/general/changelog.md
 delete mode 100644 src/docs/ht-HT/general/faq.md
 delete mode 100644 src/docs/ht-HT/general/glossary.md
 delete mode 100644 src/docs/ht-HT/general/links.md
 delete mode 100644 src/docs/ht-HT/general/misskey.md
 delete mode 100644 src/docs/ht-HT/general/report-issue.md
 delete mode 100644 src/docs/ht-HT/general/troubleshooting.md
 delete mode 100644 src/docs/ht-HT/keyboard-shortcut.md
 delete mode 100644 src/docs/ht-HT/mfm.md
 delete mode 100644 src/docs/ht-HT/mute.md
 delete mode 100644 src/docs/ht-HT/pages.md
 delete mode 100644 src/docs/ht-HT/reaction.md
 delete mode 100644 src/docs/ht-HT/reversi-bot.md
 delete mode 100644 src/docs/ht-HT/stream.md
 delete mode 100644 src/docs/ht-HT/theme.md
 delete mode 100644 src/docs/ht-HT/timelines.md
 delete mode 100644 src/docs/id-ID/admin/disable-timelines.md
 delete mode 100644 src/docs/id-ID/admin/faq.md
 delete mode 100644 src/docs/id-ID/advanced/aiscript.md
 delete mode 100644 src/docs/id-ID/advanced/api.md
 delete mode 100644 src/docs/id-ID/advanced/create-plugin.md
 delete mode 100644 src/docs/id-ID/advanced/develop-bot.md
 delete mode 100644 src/docs/id-ID/advanced/reversi-bot.md
 delete mode 100644 src/docs/id-ID/advanced/share-page.md
 delete mode 100644 src/docs/id-ID/advanced/stream.md
 delete mode 100644 src/docs/id-ID/aiscript.md
 delete mode 100644 src/docs/id-ID/api.md
 delete mode 100644 src/docs/id-ID/create-plugin.md
 delete mode 100644 src/docs/id-ID/custom-emoji.md
 delete mode 100644 src/docs/id-ID/deck.md
 delete mode 100644 src/docs/id-ID/features/antenna.md
 delete mode 100644 src/docs/id-ID/features/custom-emoji.md
 delete mode 100644 src/docs/id-ID/features/deck.md
 delete mode 100644 src/docs/id-ID/features/drive.md
 delete mode 100644 src/docs/id-ID/features/favorite.md
 delete mode 100644 src/docs/id-ID/features/follow.md
 delete mode 100644 src/docs/id-ID/features/keyboard-shortcut.md
 delete mode 100644 src/docs/id-ID/features/mfm.md
 delete mode 100644 src/docs/id-ID/features/mute-and-block.md
 delete mode 100644 src/docs/id-ID/features/mute.md
 delete mode 100644 src/docs/id-ID/features/note.md
 delete mode 100644 src/docs/id-ID/features/pages.md
 delete mode 100644 src/docs/id-ID/features/reaction.md
 delete mode 100644 src/docs/id-ID/features/silence.md
 delete mode 100644 src/docs/id-ID/features/theme.md
 delete mode 100644 src/docs/id-ID/features/timeline.md
 delete mode 100644 src/docs/id-ID/features/widgets.md
 delete mode 100644 src/docs/id-ID/features/word-mute.md
 delete mode 100644 src/docs/id-ID/follow.md
 delete mode 100644 src/docs/id-ID/general/apps.md
 delete mode 100644 src/docs/id-ID/general/changelog.md
 delete mode 100644 src/docs/id-ID/general/faq.md
 delete mode 100644 src/docs/id-ID/general/glossary.md
 delete mode 100644 src/docs/id-ID/general/links.md
 delete mode 100644 src/docs/id-ID/general/misskey.md
 delete mode 100644 src/docs/id-ID/general/report-issue.md
 delete mode 100644 src/docs/id-ID/general/troubleshooting.md
 delete mode 100644 src/docs/id-ID/keyboard-shortcut.md
 delete mode 100644 src/docs/id-ID/mfm.md
 delete mode 100644 src/docs/id-ID/mute.md
 delete mode 100644 src/docs/id-ID/pages.md
 delete mode 100644 src/docs/id-ID/reaction.md
 delete mode 100644 src/docs/id-ID/reversi-bot.md
 delete mode 100644 src/docs/id-ID/stream.md
 delete mode 100644 src/docs/id-ID/theme.md
 delete mode 100644 src/docs/id-ID/timelines.md
 delete mode 100644 src/docs/it-IT/admin/disable-timelines.md
 delete mode 100644 src/docs/it-IT/admin/faq.md
 delete mode 100644 src/docs/it-IT/advanced/aiscript.md
 delete mode 100644 src/docs/it-IT/advanced/api.md
 delete mode 100644 src/docs/it-IT/advanced/create-plugin.md
 delete mode 100644 src/docs/it-IT/advanced/develop-bot.md
 delete mode 100644 src/docs/it-IT/advanced/reversi-bot.md
 delete mode 100644 src/docs/it-IT/advanced/share-page.md
 delete mode 100644 src/docs/it-IT/advanced/stream.md
 delete mode 100644 src/docs/it-IT/aiscript.md
 delete mode 100644 src/docs/it-IT/api.md
 delete mode 100644 src/docs/it-IT/create-plugin.md
 delete mode 100644 src/docs/it-IT/custom-emoji.md
 delete mode 100644 src/docs/it-IT/deck.md
 delete mode 100644 src/docs/it-IT/features/antenna.md
 delete mode 100644 src/docs/it-IT/features/custom-emoji.md
 delete mode 100644 src/docs/it-IT/features/deck.md
 delete mode 100644 src/docs/it-IT/features/drive.md
 delete mode 100644 src/docs/it-IT/features/favorite.md
 delete mode 100644 src/docs/it-IT/features/follow.md
 delete mode 100644 src/docs/it-IT/features/keyboard-shortcut.md
 delete mode 100644 src/docs/it-IT/features/mfm.md
 delete mode 100644 src/docs/it-IT/features/mute-and-block.md
 delete mode 100644 src/docs/it-IT/features/mute.md
 delete mode 100644 src/docs/it-IT/features/note.md
 delete mode 100644 src/docs/it-IT/features/pages.md
 delete mode 100644 src/docs/it-IT/features/reaction.md
 delete mode 100644 src/docs/it-IT/features/silence.md
 delete mode 100644 src/docs/it-IT/features/theme.md
 delete mode 100644 src/docs/it-IT/features/timeline.md
 delete mode 100644 src/docs/it-IT/features/widgets.md
 delete mode 100644 src/docs/it-IT/features/word-mute.md
 delete mode 100644 src/docs/it-IT/follow.md
 delete mode 100644 src/docs/it-IT/general/apps.md
 delete mode 100644 src/docs/it-IT/general/changelog.md
 delete mode 100644 src/docs/it-IT/general/faq.md
 delete mode 100644 src/docs/it-IT/general/glossary.md
 delete mode 100644 src/docs/it-IT/general/links.md
 delete mode 100644 src/docs/it-IT/general/misskey.md
 delete mode 100644 src/docs/it-IT/general/report-issue.md
 delete mode 100644 src/docs/it-IT/general/troubleshooting.md
 delete mode 100644 src/docs/it-IT/keyboard-shortcut.md
 delete mode 100644 src/docs/it-IT/mfm.md
 delete mode 100644 src/docs/it-IT/mute.md
 delete mode 100644 src/docs/it-IT/pages.md
 delete mode 100644 src/docs/it-IT/reaction.md
 delete mode 100644 src/docs/it-IT/reversi-bot.md
 delete mode 100644 src/docs/it-IT/stream.md
 delete mode 100644 src/docs/it-IT/theme.md
 delete mode 100644 src/docs/it-IT/timelines.md
 delete mode 100644 src/docs/ja-JP/admin/disable-timelines.md
 delete mode 100644 src/docs/ja-JP/admin/faq.md
 delete mode 100644 src/docs/ja-JP/advanced/aiscript.md
 delete mode 100644 src/docs/ja-JP/advanced/api.md
 delete mode 100644 src/docs/ja-JP/advanced/create-plugin.md
 delete mode 100644 src/docs/ja-JP/advanced/develop-bot.md
 delete mode 100644 src/docs/ja-JP/advanced/reversi-bot.md
 delete mode 100644 src/docs/ja-JP/advanced/share-page.md
 delete mode 100644 src/docs/ja-JP/advanced/stream.md
 delete mode 100644 src/docs/ja-JP/features/antenna.md
 delete mode 100644 src/docs/ja-JP/features/custom-emoji.md
 delete mode 100644 src/docs/ja-JP/features/deck.md
 delete mode 100644 src/docs/ja-JP/features/drive.md
 delete mode 100644 src/docs/ja-JP/features/favorite.md
 delete mode 100644 src/docs/ja-JP/features/follow.md
 delete mode 100644 src/docs/ja-JP/features/keyboard-shortcut.md
 delete mode 100644 src/docs/ja-JP/features/mfm.md
 delete mode 100644 src/docs/ja-JP/features/mute-and-block.md
 delete mode 100644 src/docs/ja-JP/features/note.md
 delete mode 100644 src/docs/ja-JP/features/pages.md
 delete mode 100644 src/docs/ja-JP/features/reaction.md
 delete mode 100644 src/docs/ja-JP/features/silence.md
 delete mode 100644 src/docs/ja-JP/features/theme.md
 delete mode 100644 src/docs/ja-JP/features/timeline.md
 delete mode 100644 src/docs/ja-JP/features/widgets.md
 delete mode 100644 src/docs/ja-JP/features/word-mute.md
 delete mode 100644 src/docs/ja-JP/general/apps.md
 delete mode 100644 src/docs/ja-JP/general/changelog.md
 delete mode 100644 src/docs/ja-JP/general/faq.md
 delete mode 100644 src/docs/ja-JP/general/glossary.md
 delete mode 100644 src/docs/ja-JP/general/links.md
 delete mode 100644 src/docs/ja-JP/general/misskey.md
 delete mode 100644 src/docs/ja-JP/general/report-issue.md
 delete mode 100644 src/docs/ja-JP/general/troubleshooting.md
 delete mode 100644 src/docs/ja-KS/admin/disable-timelines.md
 delete mode 100644 src/docs/ja-KS/admin/faq.md
 delete mode 100644 src/docs/ja-KS/advanced/aiscript.md
 delete mode 100644 src/docs/ja-KS/advanced/api.md
 delete mode 100644 src/docs/ja-KS/advanced/create-plugin.md
 delete mode 100644 src/docs/ja-KS/advanced/develop-bot.md
 delete mode 100644 src/docs/ja-KS/advanced/reversi-bot.md
 delete mode 100644 src/docs/ja-KS/advanced/share-page.md
 delete mode 100644 src/docs/ja-KS/advanced/stream.md
 delete mode 100644 src/docs/ja-KS/aiscript.md
 delete mode 100644 src/docs/ja-KS/api.md
 delete mode 100644 src/docs/ja-KS/create-plugin.md
 delete mode 100644 src/docs/ja-KS/custom-emoji.md
 delete mode 100644 src/docs/ja-KS/deck.md
 delete mode 100644 src/docs/ja-KS/features/antenna.md
 delete mode 100644 src/docs/ja-KS/features/custom-emoji.md
 delete mode 100644 src/docs/ja-KS/features/deck.md
 delete mode 100644 src/docs/ja-KS/features/drive.md
 delete mode 100644 src/docs/ja-KS/features/favorite.md
 delete mode 100644 src/docs/ja-KS/features/follow.md
 delete mode 100644 src/docs/ja-KS/features/keyboard-shortcut.md
 delete mode 100644 src/docs/ja-KS/features/mfm.md
 delete mode 100644 src/docs/ja-KS/features/mute-and-block.md
 delete mode 100644 src/docs/ja-KS/features/mute.md
 delete mode 100644 src/docs/ja-KS/features/note.md
 delete mode 100644 src/docs/ja-KS/features/pages.md
 delete mode 100644 src/docs/ja-KS/features/reaction.md
 delete mode 100644 src/docs/ja-KS/features/silence.md
 delete mode 100644 src/docs/ja-KS/features/theme.md
 delete mode 100644 src/docs/ja-KS/features/timeline.md
 delete mode 100644 src/docs/ja-KS/features/widgets.md
 delete mode 100644 src/docs/ja-KS/features/word-mute.md
 delete mode 100644 src/docs/ja-KS/follow.md
 delete mode 100644 src/docs/ja-KS/general/apps.md
 delete mode 100644 src/docs/ja-KS/general/changelog.md
 delete mode 100644 src/docs/ja-KS/general/faq.md
 delete mode 100644 src/docs/ja-KS/general/glossary.md
 delete mode 100644 src/docs/ja-KS/general/links.md
 delete mode 100644 src/docs/ja-KS/general/misskey.md
 delete mode 100644 src/docs/ja-KS/general/report-issue.md
 delete mode 100644 src/docs/ja-KS/general/troubleshooting.md
 delete mode 100644 src/docs/ja-KS/keyboard-shortcut.md
 delete mode 100644 src/docs/ja-KS/mfm.md
 delete mode 100644 src/docs/ja-KS/mute.md
 delete mode 100644 src/docs/ja-KS/pages.md
 delete mode 100644 src/docs/ja-KS/reaction.md
 delete mode 100644 src/docs/ja-KS/reversi-bot.md
 delete mode 100644 src/docs/ja-KS/stream.md
 delete mode 100644 src/docs/ja-KS/theme.md
 delete mode 100644 src/docs/ja-KS/timelines.md
 delete mode 100644 src/docs/jbo-EN/admin/disable-timelines.md
 delete mode 100644 src/docs/jbo-EN/admin/faq.md
 delete mode 100644 src/docs/jbo-EN/advanced/aiscript.md
 delete mode 100644 src/docs/jbo-EN/advanced/api.md
 delete mode 100644 src/docs/jbo-EN/advanced/create-plugin.md
 delete mode 100644 src/docs/jbo-EN/advanced/develop-bot.md
 delete mode 100644 src/docs/jbo-EN/advanced/reversi-bot.md
 delete mode 100644 src/docs/jbo-EN/advanced/share-page.md
 delete mode 100644 src/docs/jbo-EN/advanced/stream.md
 delete mode 100644 src/docs/jbo-EN/aiscript.md
 delete mode 100644 src/docs/jbo-EN/api.md
 delete mode 100644 src/docs/jbo-EN/create-plugin.md
 delete mode 100644 src/docs/jbo-EN/custom-emoji.md
 delete mode 100644 src/docs/jbo-EN/deck.md
 delete mode 100644 src/docs/jbo-EN/features/antenna.md
 delete mode 100644 src/docs/jbo-EN/features/custom-emoji.md
 delete mode 100644 src/docs/jbo-EN/features/deck.md
 delete mode 100644 src/docs/jbo-EN/features/drive.md
 delete mode 100644 src/docs/jbo-EN/features/favorite.md
 delete mode 100644 src/docs/jbo-EN/features/follow.md
 delete mode 100644 src/docs/jbo-EN/features/keyboard-shortcut.md
 delete mode 100644 src/docs/jbo-EN/features/mfm.md
 delete mode 100644 src/docs/jbo-EN/features/mute-and-block.md
 delete mode 100644 src/docs/jbo-EN/features/mute.md
 delete mode 100644 src/docs/jbo-EN/features/note.md
 delete mode 100644 src/docs/jbo-EN/features/pages.md
 delete mode 100644 src/docs/jbo-EN/features/reaction.md
 delete mode 100644 src/docs/jbo-EN/features/silence.md
 delete mode 100644 src/docs/jbo-EN/features/theme.md
 delete mode 100644 src/docs/jbo-EN/features/timeline.md
 delete mode 100644 src/docs/jbo-EN/features/widgets.md
 delete mode 100644 src/docs/jbo-EN/features/word-mute.md
 delete mode 100644 src/docs/jbo-EN/follow.md
 delete mode 100644 src/docs/jbo-EN/general/apps.md
 delete mode 100644 src/docs/jbo-EN/general/changelog.md
 delete mode 100644 src/docs/jbo-EN/general/faq.md
 delete mode 100644 src/docs/jbo-EN/general/glossary.md
 delete mode 100644 src/docs/jbo-EN/general/links.md
 delete mode 100644 src/docs/jbo-EN/general/misskey.md
 delete mode 100644 src/docs/jbo-EN/general/report-issue.md
 delete mode 100644 src/docs/jbo-EN/general/troubleshooting.md
 delete mode 100644 src/docs/jbo-EN/keyboard-shortcut.md
 delete mode 100644 src/docs/jbo-EN/mfm.md
 delete mode 100644 src/docs/jbo-EN/mute.md
 delete mode 100644 src/docs/jbo-EN/pages.md
 delete mode 100644 src/docs/jbo-EN/reaction.md
 delete mode 100644 src/docs/jbo-EN/reversi-bot.md
 delete mode 100644 src/docs/jbo-EN/stream.md
 delete mode 100644 src/docs/jbo-EN/theme.md
 delete mode 100644 src/docs/jbo-EN/timelines.md
 delete mode 100644 src/docs/kab-KAB/admin/disable-timelines.md
 delete mode 100644 src/docs/kab-KAB/admin/faq.md
 delete mode 100644 src/docs/kab-KAB/advanced/aiscript.md
 delete mode 100644 src/docs/kab-KAB/advanced/api.md
 delete mode 100644 src/docs/kab-KAB/advanced/create-plugin.md
 delete mode 100644 src/docs/kab-KAB/advanced/develop-bot.md
 delete mode 100644 src/docs/kab-KAB/advanced/reversi-bot.md
 delete mode 100644 src/docs/kab-KAB/advanced/share-page.md
 delete mode 100644 src/docs/kab-KAB/advanced/stream.md
 delete mode 100644 src/docs/kab-KAB/aiscript.md
 delete mode 100644 src/docs/kab-KAB/api.md
 delete mode 100644 src/docs/kab-KAB/create-plugin.md
 delete mode 100644 src/docs/kab-KAB/custom-emoji.md
 delete mode 100644 src/docs/kab-KAB/deck.md
 delete mode 100644 src/docs/kab-KAB/features/antenna.md
 delete mode 100644 src/docs/kab-KAB/features/custom-emoji.md
 delete mode 100644 src/docs/kab-KAB/features/deck.md
 delete mode 100644 src/docs/kab-KAB/features/drive.md
 delete mode 100644 src/docs/kab-KAB/features/favorite.md
 delete mode 100644 src/docs/kab-KAB/features/follow.md
 delete mode 100644 src/docs/kab-KAB/features/keyboard-shortcut.md
 delete mode 100644 src/docs/kab-KAB/features/mfm.md
 delete mode 100644 src/docs/kab-KAB/features/mute-and-block.md
 delete mode 100644 src/docs/kab-KAB/features/mute.md
 delete mode 100644 src/docs/kab-KAB/features/note.md
 delete mode 100644 src/docs/kab-KAB/features/pages.md
 delete mode 100644 src/docs/kab-KAB/features/reaction.md
 delete mode 100644 src/docs/kab-KAB/features/silence.md
 delete mode 100644 src/docs/kab-KAB/features/theme.md
 delete mode 100644 src/docs/kab-KAB/features/timeline.md
 delete mode 100644 src/docs/kab-KAB/features/widgets.md
 delete mode 100644 src/docs/kab-KAB/features/word-mute.md
 delete mode 100644 src/docs/kab-KAB/follow.md
 delete mode 100644 src/docs/kab-KAB/general/apps.md
 delete mode 100644 src/docs/kab-KAB/general/changelog.md
 delete mode 100644 src/docs/kab-KAB/general/faq.md
 delete mode 100644 src/docs/kab-KAB/general/glossary.md
 delete mode 100644 src/docs/kab-KAB/general/links.md
 delete mode 100644 src/docs/kab-KAB/general/misskey.md
 delete mode 100644 src/docs/kab-KAB/general/report-issue.md
 delete mode 100644 src/docs/kab-KAB/general/troubleshooting.md
 delete mode 100644 src/docs/kab-KAB/keyboard-shortcut.md
 delete mode 100644 src/docs/kab-KAB/mfm.md
 delete mode 100644 src/docs/kab-KAB/mute.md
 delete mode 100644 src/docs/kab-KAB/pages.md
 delete mode 100644 src/docs/kab-KAB/reaction.md
 delete mode 100644 src/docs/kab-KAB/reversi-bot.md
 delete mode 100644 src/docs/kab-KAB/stream.md
 delete mode 100644 src/docs/kab-KAB/theme.md
 delete mode 100644 src/docs/kab-KAB/timelines.md
 delete mode 100644 src/docs/kn-IN/admin/disable-timelines.md
 delete mode 100644 src/docs/kn-IN/admin/faq.md
 delete mode 100644 src/docs/kn-IN/advanced/aiscript.md
 delete mode 100644 src/docs/kn-IN/advanced/api.md
 delete mode 100644 src/docs/kn-IN/advanced/create-plugin.md
 delete mode 100644 src/docs/kn-IN/advanced/develop-bot.md
 delete mode 100644 src/docs/kn-IN/advanced/reversi-bot.md
 delete mode 100644 src/docs/kn-IN/advanced/share-page.md
 delete mode 100644 src/docs/kn-IN/advanced/stream.md
 delete mode 100644 src/docs/kn-IN/aiscript.md
 delete mode 100644 src/docs/kn-IN/api.md
 delete mode 100644 src/docs/kn-IN/create-plugin.md
 delete mode 100644 src/docs/kn-IN/custom-emoji.md
 delete mode 100644 src/docs/kn-IN/deck.md
 delete mode 100644 src/docs/kn-IN/features/antenna.md
 delete mode 100644 src/docs/kn-IN/features/custom-emoji.md
 delete mode 100644 src/docs/kn-IN/features/deck.md
 delete mode 100644 src/docs/kn-IN/features/drive.md
 delete mode 100644 src/docs/kn-IN/features/favorite.md
 delete mode 100644 src/docs/kn-IN/features/follow.md
 delete mode 100644 src/docs/kn-IN/features/keyboard-shortcut.md
 delete mode 100644 src/docs/kn-IN/features/mfm.md
 delete mode 100644 src/docs/kn-IN/features/mute-and-block.md
 delete mode 100644 src/docs/kn-IN/features/mute.md
 delete mode 100644 src/docs/kn-IN/features/note.md
 delete mode 100644 src/docs/kn-IN/features/pages.md
 delete mode 100644 src/docs/kn-IN/features/reaction.md
 delete mode 100644 src/docs/kn-IN/features/silence.md
 delete mode 100644 src/docs/kn-IN/features/theme.md
 delete mode 100644 src/docs/kn-IN/features/timeline.md
 delete mode 100644 src/docs/kn-IN/features/widgets.md
 delete mode 100644 src/docs/kn-IN/features/word-mute.md
 delete mode 100644 src/docs/kn-IN/follow.md
 delete mode 100644 src/docs/kn-IN/general/apps.md
 delete mode 100644 src/docs/kn-IN/general/changelog.md
 delete mode 100644 src/docs/kn-IN/general/faq.md
 delete mode 100644 src/docs/kn-IN/general/glossary.md
 delete mode 100644 src/docs/kn-IN/general/links.md
 delete mode 100644 src/docs/kn-IN/general/misskey.md
 delete mode 100644 src/docs/kn-IN/general/report-issue.md
 delete mode 100644 src/docs/kn-IN/general/troubleshooting.md
 delete mode 100644 src/docs/kn-IN/keyboard-shortcut.md
 delete mode 100644 src/docs/kn-IN/mfm.md
 delete mode 100644 src/docs/kn-IN/mute.md
 delete mode 100644 src/docs/kn-IN/pages.md
 delete mode 100644 src/docs/kn-IN/reaction.md
 delete mode 100644 src/docs/kn-IN/reversi-bot.md
 delete mode 100644 src/docs/kn-IN/stream.md
 delete mode 100644 src/docs/kn-IN/theme.md
 delete mode 100644 src/docs/kn-IN/timelines.md
 delete mode 100644 src/docs/ko-KR/admin/disable-timelines.md
 delete mode 100644 src/docs/ko-KR/admin/faq.md
 delete mode 100644 src/docs/ko-KR/advanced/aiscript.md
 delete mode 100644 src/docs/ko-KR/advanced/api.md
 delete mode 100644 src/docs/ko-KR/advanced/create-plugin.md
 delete mode 100644 src/docs/ko-KR/advanced/develop-bot.md
 delete mode 100644 src/docs/ko-KR/advanced/reversi-bot.md
 delete mode 100644 src/docs/ko-KR/advanced/share-page.md
 delete mode 100644 src/docs/ko-KR/advanced/stream.md
 delete mode 100644 src/docs/ko-KR/aiscript.md
 delete mode 100644 src/docs/ko-KR/api.md
 delete mode 100644 src/docs/ko-KR/create-plugin.md
 delete mode 100644 src/docs/ko-KR/custom-emoji.md
 delete mode 100644 src/docs/ko-KR/deck.md
 delete mode 100644 src/docs/ko-KR/features/antenna.md
 delete mode 100644 src/docs/ko-KR/features/custom-emoji.md
 delete mode 100644 src/docs/ko-KR/features/deck.md
 delete mode 100644 src/docs/ko-KR/features/drive.md
 delete mode 100644 src/docs/ko-KR/features/favorite.md
 delete mode 100644 src/docs/ko-KR/features/follow.md
 delete mode 100644 src/docs/ko-KR/features/keyboard-shortcut.md
 delete mode 100644 src/docs/ko-KR/features/mfm.md
 delete mode 100644 src/docs/ko-KR/features/mute-and-block.md
 delete mode 100644 src/docs/ko-KR/features/mute.md
 delete mode 100644 src/docs/ko-KR/features/note.md
 delete mode 100644 src/docs/ko-KR/features/pages.md
 delete mode 100644 src/docs/ko-KR/features/reaction.md
 delete mode 100644 src/docs/ko-KR/features/silence.md
 delete mode 100644 src/docs/ko-KR/features/theme.md
 delete mode 100644 src/docs/ko-KR/features/timeline.md
 delete mode 100644 src/docs/ko-KR/features/widgets.md
 delete mode 100644 src/docs/ko-KR/features/word-mute.md
 delete mode 100644 src/docs/ko-KR/follow.md
 delete mode 100644 src/docs/ko-KR/general/apps.md
 delete mode 100644 src/docs/ko-KR/general/changelog.md
 delete mode 100644 src/docs/ko-KR/general/faq.md
 delete mode 100644 src/docs/ko-KR/general/glossary.md
 delete mode 100644 src/docs/ko-KR/general/links.md
 delete mode 100644 src/docs/ko-KR/general/misskey.md
 delete mode 100644 src/docs/ko-KR/general/report-issue.md
 delete mode 100644 src/docs/ko-KR/general/troubleshooting.md
 delete mode 100644 src/docs/ko-KR/keyboard-shortcut.md
 delete mode 100644 src/docs/ko-KR/mfm.md
 delete mode 100644 src/docs/ko-KR/mute.md
 delete mode 100644 src/docs/ko-KR/pages.md
 delete mode 100644 src/docs/ko-KR/reaction.md
 delete mode 100644 src/docs/ko-KR/reversi-bot.md
 delete mode 100644 src/docs/ko-KR/stream.md
 delete mode 100644 src/docs/ko-KR/theme.md
 delete mode 100644 src/docs/ko-KR/timelines.md
 delete mode 100644 src/docs/nl-NL/admin/disable-timelines.md
 delete mode 100644 src/docs/nl-NL/admin/faq.md
 delete mode 100644 src/docs/nl-NL/advanced/aiscript.md
 delete mode 100644 src/docs/nl-NL/advanced/api.md
 delete mode 100644 src/docs/nl-NL/advanced/create-plugin.md
 delete mode 100644 src/docs/nl-NL/advanced/develop-bot.md
 delete mode 100644 src/docs/nl-NL/advanced/reversi-bot.md
 delete mode 100644 src/docs/nl-NL/advanced/share-page.md
 delete mode 100644 src/docs/nl-NL/advanced/stream.md
 delete mode 100644 src/docs/nl-NL/aiscript.md
 delete mode 100644 src/docs/nl-NL/api.md
 delete mode 100644 src/docs/nl-NL/create-plugin.md
 delete mode 100644 src/docs/nl-NL/custom-emoji.md
 delete mode 100644 src/docs/nl-NL/deck.md
 delete mode 100644 src/docs/nl-NL/features/antenna.md
 delete mode 100644 src/docs/nl-NL/features/custom-emoji.md
 delete mode 100644 src/docs/nl-NL/features/deck.md
 delete mode 100644 src/docs/nl-NL/features/drive.md
 delete mode 100644 src/docs/nl-NL/features/favorite.md
 delete mode 100644 src/docs/nl-NL/features/follow.md
 delete mode 100644 src/docs/nl-NL/features/keyboard-shortcut.md
 delete mode 100644 src/docs/nl-NL/features/mfm.md
 delete mode 100644 src/docs/nl-NL/features/mute-and-block.md
 delete mode 100644 src/docs/nl-NL/features/mute.md
 delete mode 100644 src/docs/nl-NL/features/note.md
 delete mode 100644 src/docs/nl-NL/features/pages.md
 delete mode 100644 src/docs/nl-NL/features/reaction.md
 delete mode 100644 src/docs/nl-NL/features/silence.md
 delete mode 100644 src/docs/nl-NL/features/theme.md
 delete mode 100644 src/docs/nl-NL/features/timeline.md
 delete mode 100644 src/docs/nl-NL/features/widgets.md
 delete mode 100644 src/docs/nl-NL/features/word-mute.md
 delete mode 100644 src/docs/nl-NL/follow.md
 delete mode 100644 src/docs/nl-NL/general/apps.md
 delete mode 100644 src/docs/nl-NL/general/changelog.md
 delete mode 100644 src/docs/nl-NL/general/faq.md
 delete mode 100644 src/docs/nl-NL/general/glossary.md
 delete mode 100644 src/docs/nl-NL/general/links.md
 delete mode 100644 src/docs/nl-NL/general/misskey.md
 delete mode 100644 src/docs/nl-NL/general/report-issue.md
 delete mode 100644 src/docs/nl-NL/general/troubleshooting.md
 delete mode 100644 src/docs/nl-NL/keyboard-shortcut.md
 delete mode 100644 src/docs/nl-NL/mfm.md
 delete mode 100644 src/docs/nl-NL/mute.md
 delete mode 100644 src/docs/nl-NL/pages.md
 delete mode 100644 src/docs/nl-NL/reaction.md
 delete mode 100644 src/docs/nl-NL/reversi-bot.md
 delete mode 100644 src/docs/nl-NL/stream.md
 delete mode 100644 src/docs/nl-NL/theme.md
 delete mode 100644 src/docs/nl-NL/timelines.md
 delete mode 100644 src/docs/no-NO/admin/disable-timelines.md
 delete mode 100644 src/docs/no-NO/admin/faq.md
 delete mode 100644 src/docs/no-NO/advanced/aiscript.md
 delete mode 100644 src/docs/no-NO/advanced/api.md
 delete mode 100644 src/docs/no-NO/advanced/create-plugin.md
 delete mode 100644 src/docs/no-NO/advanced/develop-bot.md
 delete mode 100644 src/docs/no-NO/advanced/reversi-bot.md
 delete mode 100644 src/docs/no-NO/advanced/share-page.md
 delete mode 100644 src/docs/no-NO/advanced/stream.md
 delete mode 100644 src/docs/no-NO/aiscript.md
 delete mode 100644 src/docs/no-NO/api.md
 delete mode 100644 src/docs/no-NO/create-plugin.md
 delete mode 100644 src/docs/no-NO/custom-emoji.md
 delete mode 100644 src/docs/no-NO/deck.md
 delete mode 100644 src/docs/no-NO/features/antenna.md
 delete mode 100644 src/docs/no-NO/features/custom-emoji.md
 delete mode 100644 src/docs/no-NO/features/deck.md
 delete mode 100644 src/docs/no-NO/features/drive.md
 delete mode 100644 src/docs/no-NO/features/favorite.md
 delete mode 100644 src/docs/no-NO/features/follow.md
 delete mode 100644 src/docs/no-NO/features/keyboard-shortcut.md
 delete mode 100644 src/docs/no-NO/features/mfm.md
 delete mode 100644 src/docs/no-NO/features/mute-and-block.md
 delete mode 100644 src/docs/no-NO/features/mute.md
 delete mode 100644 src/docs/no-NO/features/note.md
 delete mode 100644 src/docs/no-NO/features/pages.md
 delete mode 100644 src/docs/no-NO/features/reaction.md
 delete mode 100644 src/docs/no-NO/features/silence.md
 delete mode 100644 src/docs/no-NO/features/theme.md
 delete mode 100644 src/docs/no-NO/features/timeline.md
 delete mode 100644 src/docs/no-NO/features/widgets.md
 delete mode 100644 src/docs/no-NO/features/word-mute.md
 delete mode 100644 src/docs/no-NO/follow.md
 delete mode 100644 src/docs/no-NO/general/apps.md
 delete mode 100644 src/docs/no-NO/general/changelog.md
 delete mode 100644 src/docs/no-NO/general/faq.md
 delete mode 100644 src/docs/no-NO/general/glossary.md
 delete mode 100644 src/docs/no-NO/general/links.md
 delete mode 100644 src/docs/no-NO/general/misskey.md
 delete mode 100644 src/docs/no-NO/general/report-issue.md
 delete mode 100644 src/docs/no-NO/general/troubleshooting.md
 delete mode 100644 src/docs/no-NO/keyboard-shortcut.md
 delete mode 100644 src/docs/no-NO/mfm.md
 delete mode 100644 src/docs/no-NO/mute.md
 delete mode 100644 src/docs/no-NO/pages.md
 delete mode 100644 src/docs/no-NO/reaction.md
 delete mode 100644 src/docs/no-NO/reversi-bot.md
 delete mode 100644 src/docs/no-NO/stream.md
 delete mode 100644 src/docs/no-NO/theme.md
 delete mode 100644 src/docs/no-NO/timelines.md
 delete mode 100644 src/docs/pl-PL/admin/disable-timelines.md
 delete mode 100644 src/docs/pl-PL/admin/faq.md
 delete mode 100644 src/docs/pl-PL/advanced/aiscript.md
 delete mode 100644 src/docs/pl-PL/advanced/api.md
 delete mode 100644 src/docs/pl-PL/advanced/create-plugin.md
 delete mode 100644 src/docs/pl-PL/advanced/develop-bot.md
 delete mode 100644 src/docs/pl-PL/advanced/reversi-bot.md
 delete mode 100644 src/docs/pl-PL/advanced/share-page.md
 delete mode 100644 src/docs/pl-PL/advanced/stream.md
 delete mode 100644 src/docs/pl-PL/aiscript.md
 delete mode 100644 src/docs/pl-PL/api.md
 delete mode 100644 src/docs/pl-PL/create-plugin.md
 delete mode 100644 src/docs/pl-PL/custom-emoji.md
 delete mode 100644 src/docs/pl-PL/deck.md
 delete mode 100644 src/docs/pl-PL/features/antenna.md
 delete mode 100644 src/docs/pl-PL/features/custom-emoji.md
 delete mode 100644 src/docs/pl-PL/features/deck.md
 delete mode 100644 src/docs/pl-PL/features/drive.md
 delete mode 100644 src/docs/pl-PL/features/favorite.md
 delete mode 100644 src/docs/pl-PL/features/follow.md
 delete mode 100644 src/docs/pl-PL/features/keyboard-shortcut.md
 delete mode 100644 src/docs/pl-PL/features/mfm.md
 delete mode 100644 src/docs/pl-PL/features/mute-and-block.md
 delete mode 100644 src/docs/pl-PL/features/mute.md
 delete mode 100644 src/docs/pl-PL/features/note.md
 delete mode 100644 src/docs/pl-PL/features/pages.md
 delete mode 100644 src/docs/pl-PL/features/reaction.md
 delete mode 100644 src/docs/pl-PL/features/silence.md
 delete mode 100644 src/docs/pl-PL/features/theme.md
 delete mode 100644 src/docs/pl-PL/features/timeline.md
 delete mode 100644 src/docs/pl-PL/features/widgets.md
 delete mode 100644 src/docs/pl-PL/features/word-mute.md
 delete mode 100644 src/docs/pl-PL/follow.md
 delete mode 100644 src/docs/pl-PL/general/apps.md
 delete mode 100644 src/docs/pl-PL/general/changelog.md
 delete mode 100644 src/docs/pl-PL/general/faq.md
 delete mode 100644 src/docs/pl-PL/general/glossary.md
 delete mode 100644 src/docs/pl-PL/general/links.md
 delete mode 100644 src/docs/pl-PL/general/misskey.md
 delete mode 100644 src/docs/pl-PL/general/report-issue.md
 delete mode 100644 src/docs/pl-PL/general/troubleshooting.md
 delete mode 100644 src/docs/pl-PL/keyboard-shortcut.md
 delete mode 100644 src/docs/pl-PL/mfm.md
 delete mode 100644 src/docs/pl-PL/mute.md
 delete mode 100644 src/docs/pl-PL/pages.md
 delete mode 100644 src/docs/pl-PL/reaction.md
 delete mode 100644 src/docs/pl-PL/reversi-bot.md
 delete mode 100644 src/docs/pl-PL/stream.md
 delete mode 100644 src/docs/pl-PL/theme.md
 delete mode 100644 src/docs/pl-PL/timelines.md
 delete mode 100644 src/docs/pt-PT/admin/disable-timelines.md
 delete mode 100644 src/docs/pt-PT/admin/faq.md
 delete mode 100644 src/docs/pt-PT/advanced/aiscript.md
 delete mode 100644 src/docs/pt-PT/advanced/api.md
 delete mode 100644 src/docs/pt-PT/advanced/create-plugin.md
 delete mode 100644 src/docs/pt-PT/advanced/develop-bot.md
 delete mode 100644 src/docs/pt-PT/advanced/reversi-bot.md
 delete mode 100644 src/docs/pt-PT/advanced/share-page.md
 delete mode 100644 src/docs/pt-PT/advanced/stream.md
 delete mode 100644 src/docs/pt-PT/aiscript.md
 delete mode 100644 src/docs/pt-PT/api.md
 delete mode 100644 src/docs/pt-PT/create-plugin.md
 delete mode 100644 src/docs/pt-PT/custom-emoji.md
 delete mode 100644 src/docs/pt-PT/deck.md
 delete mode 100644 src/docs/pt-PT/features/antenna.md
 delete mode 100644 src/docs/pt-PT/features/custom-emoji.md
 delete mode 100644 src/docs/pt-PT/features/deck.md
 delete mode 100644 src/docs/pt-PT/features/drive.md
 delete mode 100644 src/docs/pt-PT/features/favorite.md
 delete mode 100644 src/docs/pt-PT/features/follow.md
 delete mode 100644 src/docs/pt-PT/features/keyboard-shortcut.md
 delete mode 100644 src/docs/pt-PT/features/mfm.md
 delete mode 100644 src/docs/pt-PT/features/mute-and-block.md
 delete mode 100644 src/docs/pt-PT/features/mute.md
 delete mode 100644 src/docs/pt-PT/features/note.md
 delete mode 100644 src/docs/pt-PT/features/pages.md
 delete mode 100644 src/docs/pt-PT/features/reaction.md
 delete mode 100644 src/docs/pt-PT/features/silence.md
 delete mode 100644 src/docs/pt-PT/features/theme.md
 delete mode 100644 src/docs/pt-PT/features/timeline.md
 delete mode 100644 src/docs/pt-PT/features/widgets.md
 delete mode 100644 src/docs/pt-PT/features/word-mute.md
 delete mode 100644 src/docs/pt-PT/follow.md
 delete mode 100644 src/docs/pt-PT/general/apps.md
 delete mode 100644 src/docs/pt-PT/general/changelog.md
 delete mode 100644 src/docs/pt-PT/general/faq.md
 delete mode 100644 src/docs/pt-PT/general/glossary.md
 delete mode 100644 src/docs/pt-PT/general/links.md
 delete mode 100644 src/docs/pt-PT/general/misskey.md
 delete mode 100644 src/docs/pt-PT/general/report-issue.md
 delete mode 100644 src/docs/pt-PT/general/troubleshooting.md
 delete mode 100644 src/docs/pt-PT/keyboard-shortcut.md
 delete mode 100644 src/docs/pt-PT/mfm.md
 delete mode 100644 src/docs/pt-PT/mute.md
 delete mode 100644 src/docs/pt-PT/pages.md
 delete mode 100644 src/docs/pt-PT/reaction.md
 delete mode 100644 src/docs/pt-PT/reversi-bot.md
 delete mode 100644 src/docs/pt-PT/stream.md
 delete mode 100644 src/docs/pt-PT/theme.md
 delete mode 100644 src/docs/pt-PT/timelines.md
 delete mode 100644 src/docs/ru-RU/admin/disable-timelines.md
 delete mode 100644 src/docs/ru-RU/admin/faq.md
 delete mode 100644 src/docs/ru-RU/advanced/aiscript.md
 delete mode 100644 src/docs/ru-RU/advanced/api.md
 delete mode 100644 src/docs/ru-RU/advanced/create-plugin.md
 delete mode 100644 src/docs/ru-RU/advanced/develop-bot.md
 delete mode 100644 src/docs/ru-RU/advanced/reversi-bot.md
 delete mode 100644 src/docs/ru-RU/advanced/share-page.md
 delete mode 100644 src/docs/ru-RU/advanced/stream.md
 delete mode 100644 src/docs/ru-RU/aiscript.md
 delete mode 100644 src/docs/ru-RU/api.md
 delete mode 100644 src/docs/ru-RU/create-plugin.md
 delete mode 100644 src/docs/ru-RU/custom-emoji.md
 delete mode 100644 src/docs/ru-RU/deck.md
 delete mode 100644 src/docs/ru-RU/features/antenna.md
 delete mode 100644 src/docs/ru-RU/features/custom-emoji.md
 delete mode 100644 src/docs/ru-RU/features/deck.md
 delete mode 100644 src/docs/ru-RU/features/drive.md
 delete mode 100644 src/docs/ru-RU/features/favorite.md
 delete mode 100644 src/docs/ru-RU/features/follow.md
 delete mode 100644 src/docs/ru-RU/features/keyboard-shortcut.md
 delete mode 100644 src/docs/ru-RU/features/mfm.md
 delete mode 100644 src/docs/ru-RU/features/mute-and-block.md
 delete mode 100644 src/docs/ru-RU/features/mute.md
 delete mode 100644 src/docs/ru-RU/features/note.md
 delete mode 100644 src/docs/ru-RU/features/pages.md
 delete mode 100644 src/docs/ru-RU/features/reaction.md
 delete mode 100644 src/docs/ru-RU/features/silence.md
 delete mode 100644 src/docs/ru-RU/features/theme.md
 delete mode 100644 src/docs/ru-RU/features/timeline.md
 delete mode 100644 src/docs/ru-RU/features/widgets.md
 delete mode 100644 src/docs/ru-RU/features/word-mute.md
 delete mode 100644 src/docs/ru-RU/follow.md
 delete mode 100644 src/docs/ru-RU/general/apps.md
 delete mode 100644 src/docs/ru-RU/general/changelog.md
 delete mode 100644 src/docs/ru-RU/general/faq.md
 delete mode 100644 src/docs/ru-RU/general/glossary.md
 delete mode 100644 src/docs/ru-RU/general/links.md
 delete mode 100644 src/docs/ru-RU/general/misskey.md
 delete mode 100644 src/docs/ru-RU/general/report-issue.md
 delete mode 100644 src/docs/ru-RU/general/troubleshooting.md
 delete mode 100644 src/docs/ru-RU/keyboard-shortcut.md
 delete mode 100644 src/docs/ru-RU/mfm.md
 delete mode 100644 src/docs/ru-RU/mute.md
 delete mode 100644 src/docs/ru-RU/pages.md
 delete mode 100644 src/docs/ru-RU/reaction.md
 delete mode 100644 src/docs/ru-RU/reversi-bot.md
 delete mode 100644 src/docs/ru-RU/stream.md
 delete mode 100644 src/docs/ru-RU/theme.md
 delete mode 100644 src/docs/ru-RU/timelines.md
 delete mode 100644 src/docs/th-TH/admin/disable-timelines.md
 delete mode 100644 src/docs/th-TH/admin/faq.md
 delete mode 100644 src/docs/th-TH/advanced/aiscript.md
 delete mode 100644 src/docs/th-TH/advanced/api.md
 delete mode 100644 src/docs/th-TH/advanced/create-plugin.md
 delete mode 100644 src/docs/th-TH/advanced/develop-bot.md
 delete mode 100644 src/docs/th-TH/advanced/reversi-bot.md
 delete mode 100644 src/docs/th-TH/advanced/share-page.md
 delete mode 100644 src/docs/th-TH/advanced/stream.md
 delete mode 100644 src/docs/th-TH/aiscript.md
 delete mode 100644 src/docs/th-TH/api.md
 delete mode 100644 src/docs/th-TH/create-plugin.md
 delete mode 100644 src/docs/th-TH/custom-emoji.md
 delete mode 100644 src/docs/th-TH/deck.md
 delete mode 100644 src/docs/th-TH/features/antenna.md
 delete mode 100644 src/docs/th-TH/features/custom-emoji.md
 delete mode 100644 src/docs/th-TH/features/deck.md
 delete mode 100644 src/docs/th-TH/features/drive.md
 delete mode 100644 src/docs/th-TH/features/favorite.md
 delete mode 100644 src/docs/th-TH/features/follow.md
 delete mode 100644 src/docs/th-TH/features/keyboard-shortcut.md
 delete mode 100644 src/docs/th-TH/features/mfm.md
 delete mode 100644 src/docs/th-TH/features/mute-and-block.md
 delete mode 100644 src/docs/th-TH/features/mute.md
 delete mode 100644 src/docs/th-TH/features/note.md
 delete mode 100644 src/docs/th-TH/features/pages.md
 delete mode 100644 src/docs/th-TH/features/reaction.md
 delete mode 100644 src/docs/th-TH/features/silence.md
 delete mode 100644 src/docs/th-TH/features/theme.md
 delete mode 100644 src/docs/th-TH/features/timeline.md
 delete mode 100644 src/docs/th-TH/features/widgets.md
 delete mode 100644 src/docs/th-TH/features/word-mute.md
 delete mode 100644 src/docs/th-TH/follow.md
 delete mode 100644 src/docs/th-TH/general/apps.md
 delete mode 100644 src/docs/th-TH/general/changelog.md
 delete mode 100644 src/docs/th-TH/general/faq.md
 delete mode 100644 src/docs/th-TH/general/glossary.md
 delete mode 100644 src/docs/th-TH/general/links.md
 delete mode 100644 src/docs/th-TH/general/misskey.md
 delete mode 100644 src/docs/th-TH/general/report-issue.md
 delete mode 100644 src/docs/th-TH/general/troubleshooting.md
 delete mode 100644 src/docs/th-TH/keyboard-shortcut.md
 delete mode 100644 src/docs/th-TH/mfm.md
 delete mode 100644 src/docs/th-TH/mute.md
 delete mode 100644 src/docs/th-TH/pages.md
 delete mode 100644 src/docs/th-TH/reaction.md
 delete mode 100644 src/docs/th-TH/reversi-bot.md
 delete mode 100644 src/docs/th-TH/stream.md
 delete mode 100644 src/docs/th-TH/theme.md
 delete mode 100644 src/docs/th-TH/timelines.md
 delete mode 100644 src/docs/ug-CN/admin/disable-timelines.md
 delete mode 100644 src/docs/ug-CN/admin/faq.md
 delete mode 100644 src/docs/ug-CN/advanced/aiscript.md
 delete mode 100644 src/docs/ug-CN/advanced/api.md
 delete mode 100644 src/docs/ug-CN/advanced/create-plugin.md
 delete mode 100644 src/docs/ug-CN/advanced/develop-bot.md
 delete mode 100644 src/docs/ug-CN/advanced/reversi-bot.md
 delete mode 100644 src/docs/ug-CN/advanced/share-page.md
 delete mode 100644 src/docs/ug-CN/advanced/stream.md
 delete mode 100644 src/docs/ug-CN/aiscript.md
 delete mode 100644 src/docs/ug-CN/api.md
 delete mode 100644 src/docs/ug-CN/create-plugin.md
 delete mode 100644 src/docs/ug-CN/custom-emoji.md
 delete mode 100644 src/docs/ug-CN/deck.md
 delete mode 100644 src/docs/ug-CN/features/antenna.md
 delete mode 100644 src/docs/ug-CN/features/custom-emoji.md
 delete mode 100644 src/docs/ug-CN/features/deck.md
 delete mode 100644 src/docs/ug-CN/features/drive.md
 delete mode 100644 src/docs/ug-CN/features/favorite.md
 delete mode 100644 src/docs/ug-CN/features/follow.md
 delete mode 100644 src/docs/ug-CN/features/keyboard-shortcut.md
 delete mode 100644 src/docs/ug-CN/features/mfm.md
 delete mode 100644 src/docs/ug-CN/features/mute-and-block.md
 delete mode 100644 src/docs/ug-CN/features/mute.md
 delete mode 100644 src/docs/ug-CN/features/note.md
 delete mode 100644 src/docs/ug-CN/features/pages.md
 delete mode 100644 src/docs/ug-CN/features/reaction.md
 delete mode 100644 src/docs/ug-CN/features/silence.md
 delete mode 100644 src/docs/ug-CN/features/theme.md
 delete mode 100644 src/docs/ug-CN/features/timeline.md
 delete mode 100644 src/docs/ug-CN/features/widgets.md
 delete mode 100644 src/docs/ug-CN/features/word-mute.md
 delete mode 100644 src/docs/ug-CN/follow.md
 delete mode 100644 src/docs/ug-CN/general/apps.md
 delete mode 100644 src/docs/ug-CN/general/changelog.md
 delete mode 100644 src/docs/ug-CN/general/faq.md
 delete mode 100644 src/docs/ug-CN/general/glossary.md
 delete mode 100644 src/docs/ug-CN/general/links.md
 delete mode 100644 src/docs/ug-CN/general/misskey.md
 delete mode 100644 src/docs/ug-CN/general/report-issue.md
 delete mode 100644 src/docs/ug-CN/general/troubleshooting.md
 delete mode 100644 src/docs/ug-CN/keyboard-shortcut.md
 delete mode 100644 src/docs/ug-CN/mfm.md
 delete mode 100644 src/docs/ug-CN/mute.md
 delete mode 100644 src/docs/ug-CN/pages.md
 delete mode 100644 src/docs/ug-CN/reaction.md
 delete mode 100644 src/docs/ug-CN/reversi-bot.md
 delete mode 100644 src/docs/ug-CN/stream.md
 delete mode 100644 src/docs/ug-CN/theme.md
 delete mode 100644 src/docs/ug-CN/timelines.md
 delete mode 100644 src/docs/uk-UA/admin/disable-timelines.md
 delete mode 100644 src/docs/uk-UA/admin/faq.md
 delete mode 100644 src/docs/uk-UA/advanced/aiscript.md
 delete mode 100644 src/docs/uk-UA/advanced/api.md
 delete mode 100644 src/docs/uk-UA/advanced/create-plugin.md
 delete mode 100644 src/docs/uk-UA/advanced/develop-bot.md
 delete mode 100644 src/docs/uk-UA/advanced/reversi-bot.md
 delete mode 100644 src/docs/uk-UA/advanced/share-page.md
 delete mode 100644 src/docs/uk-UA/advanced/stream.md
 delete mode 100644 src/docs/uk-UA/aiscript.md
 delete mode 100644 src/docs/uk-UA/api.md
 delete mode 100644 src/docs/uk-UA/create-plugin.md
 delete mode 100644 src/docs/uk-UA/custom-emoji.md
 delete mode 100644 src/docs/uk-UA/deck.md
 delete mode 100644 src/docs/uk-UA/features/antenna.md
 delete mode 100644 src/docs/uk-UA/features/custom-emoji.md
 delete mode 100644 src/docs/uk-UA/features/deck.md
 delete mode 100644 src/docs/uk-UA/features/drive.md
 delete mode 100644 src/docs/uk-UA/features/favorite.md
 delete mode 100644 src/docs/uk-UA/features/follow.md
 delete mode 100644 src/docs/uk-UA/features/keyboard-shortcut.md
 delete mode 100644 src/docs/uk-UA/features/mfm.md
 delete mode 100644 src/docs/uk-UA/features/mute-and-block.md
 delete mode 100644 src/docs/uk-UA/features/mute.md
 delete mode 100644 src/docs/uk-UA/features/note.md
 delete mode 100644 src/docs/uk-UA/features/pages.md
 delete mode 100644 src/docs/uk-UA/features/reaction.md
 delete mode 100644 src/docs/uk-UA/features/silence.md
 delete mode 100644 src/docs/uk-UA/features/theme.md
 delete mode 100644 src/docs/uk-UA/features/timeline.md
 delete mode 100644 src/docs/uk-UA/features/widgets.md
 delete mode 100644 src/docs/uk-UA/features/word-mute.md
 delete mode 100644 src/docs/uk-UA/follow.md
 delete mode 100644 src/docs/uk-UA/general/apps.md
 delete mode 100644 src/docs/uk-UA/general/changelog.md
 delete mode 100644 src/docs/uk-UA/general/faq.md
 delete mode 100644 src/docs/uk-UA/general/glossary.md
 delete mode 100644 src/docs/uk-UA/general/links.md
 delete mode 100644 src/docs/uk-UA/general/misskey.md
 delete mode 100644 src/docs/uk-UA/general/report-issue.md
 delete mode 100644 src/docs/uk-UA/general/troubleshooting.md
 delete mode 100644 src/docs/uk-UA/keyboard-shortcut.md
 delete mode 100644 src/docs/uk-UA/mfm.md
 delete mode 100644 src/docs/uk-UA/mute.md
 delete mode 100644 src/docs/uk-UA/pages.md
 delete mode 100644 src/docs/uk-UA/reaction.md
 delete mode 100644 src/docs/uk-UA/reversi-bot.md
 delete mode 100644 src/docs/uk-UA/stream.md
 delete mode 100644 src/docs/uk-UA/theme.md
 delete mode 100644 src/docs/uk-UA/timelines.md
 delete mode 100644 src/docs/zh-CN/admin/disable-timelines.md
 delete mode 100644 src/docs/zh-CN/admin/faq.md
 delete mode 100644 src/docs/zh-CN/advanced/aiscript.md
 delete mode 100644 src/docs/zh-CN/advanced/api.md
 delete mode 100644 src/docs/zh-CN/advanced/create-plugin.md
 delete mode 100644 src/docs/zh-CN/advanced/develop-bot.md
 delete mode 100644 src/docs/zh-CN/advanced/reversi-bot.md
 delete mode 100644 src/docs/zh-CN/advanced/share-page.md
 delete mode 100644 src/docs/zh-CN/advanced/stream.md
 delete mode 100644 src/docs/zh-CN/aiscript.md
 delete mode 100644 src/docs/zh-CN/api.md
 delete mode 100644 src/docs/zh-CN/create-plugin.md
 delete mode 100644 src/docs/zh-CN/custom-emoji.md
 delete mode 100644 src/docs/zh-CN/deck.md
 delete mode 100644 src/docs/zh-CN/features/antenna.md
 delete mode 100644 src/docs/zh-CN/features/custom-emoji.md
 delete mode 100644 src/docs/zh-CN/features/deck.md
 delete mode 100644 src/docs/zh-CN/features/drive.md
 delete mode 100644 src/docs/zh-CN/features/favorite.md
 delete mode 100644 src/docs/zh-CN/features/follow.md
 delete mode 100644 src/docs/zh-CN/features/keyboard-shortcut.md
 delete mode 100644 src/docs/zh-CN/features/mfm.md
 delete mode 100644 src/docs/zh-CN/features/mute-and-block.md
 delete mode 100644 src/docs/zh-CN/features/mute.md
 delete mode 100644 src/docs/zh-CN/features/note.md
 delete mode 100644 src/docs/zh-CN/features/pages.md
 delete mode 100644 src/docs/zh-CN/features/reaction.md
 delete mode 100644 src/docs/zh-CN/features/silence.md
 delete mode 100644 src/docs/zh-CN/features/theme.md
 delete mode 100644 src/docs/zh-CN/features/timeline.md
 delete mode 100644 src/docs/zh-CN/features/widgets.md
 delete mode 100644 src/docs/zh-CN/features/word-mute.md
 delete mode 100644 src/docs/zh-CN/follow.md
 delete mode 100644 src/docs/zh-CN/general/apps.md
 delete mode 100644 src/docs/zh-CN/general/changelog.md
 delete mode 100644 src/docs/zh-CN/general/faq.md
 delete mode 100644 src/docs/zh-CN/general/glossary.md
 delete mode 100644 src/docs/zh-CN/general/links.md
 delete mode 100644 src/docs/zh-CN/general/misskey.md
 delete mode 100644 src/docs/zh-CN/general/report-issue.md
 delete mode 100644 src/docs/zh-CN/general/troubleshooting.md
 delete mode 100644 src/docs/zh-CN/keyboard-shortcut.md
 delete mode 100644 src/docs/zh-CN/mfm.md
 delete mode 100644 src/docs/zh-CN/mute.md
 delete mode 100644 src/docs/zh-CN/pages.md
 delete mode 100644 src/docs/zh-CN/reaction.md
 delete mode 100644 src/docs/zh-CN/reversi-bot.md
 delete mode 100644 src/docs/zh-CN/stream.md
 delete mode 100644 src/docs/zh-CN/theme.md
 delete mode 100644 src/docs/zh-CN/timelines.md
 delete mode 100644 src/docs/zh-TW/admin/disable-timelines.md
 delete mode 100644 src/docs/zh-TW/admin/faq.md
 delete mode 100644 src/docs/zh-TW/advanced/aiscript.md
 delete mode 100644 src/docs/zh-TW/advanced/api.md
 delete mode 100644 src/docs/zh-TW/advanced/create-plugin.md
 delete mode 100644 src/docs/zh-TW/advanced/develop-bot.md
 delete mode 100644 src/docs/zh-TW/advanced/reversi-bot.md
 delete mode 100644 src/docs/zh-TW/advanced/share-page.md
 delete mode 100644 src/docs/zh-TW/advanced/stream.md
 delete mode 100644 src/docs/zh-TW/aiscript.md
 delete mode 100644 src/docs/zh-TW/api.md
 delete mode 100644 src/docs/zh-TW/create-plugin.md
 delete mode 100644 src/docs/zh-TW/custom-emoji.md
 delete mode 100644 src/docs/zh-TW/deck.md
 delete mode 100644 src/docs/zh-TW/features/antenna.md
 delete mode 100644 src/docs/zh-TW/features/custom-emoji.md
 delete mode 100644 src/docs/zh-TW/features/deck.md
 delete mode 100644 src/docs/zh-TW/features/drive.md
 delete mode 100644 src/docs/zh-TW/features/favorite.md
 delete mode 100644 src/docs/zh-TW/features/follow.md
 delete mode 100644 src/docs/zh-TW/features/keyboard-shortcut.md
 delete mode 100644 src/docs/zh-TW/features/mfm.md
 delete mode 100644 src/docs/zh-TW/features/mute-and-block.md
 delete mode 100644 src/docs/zh-TW/features/mute.md
 delete mode 100644 src/docs/zh-TW/features/note.md
 delete mode 100644 src/docs/zh-TW/features/pages.md
 delete mode 100644 src/docs/zh-TW/features/reaction.md
 delete mode 100644 src/docs/zh-TW/features/silence.md
 delete mode 100644 src/docs/zh-TW/features/theme.md
 delete mode 100644 src/docs/zh-TW/features/timeline.md
 delete mode 100644 src/docs/zh-TW/features/widgets.md
 delete mode 100644 src/docs/zh-TW/features/word-mute.md
 delete mode 100644 src/docs/zh-TW/follow.md
 delete mode 100644 src/docs/zh-TW/general/apps.md
 delete mode 100644 src/docs/zh-TW/general/changelog.md
 delete mode 100644 src/docs/zh-TW/general/faq.md
 delete mode 100644 src/docs/zh-TW/general/glossary.md
 delete mode 100644 src/docs/zh-TW/general/links.md
 delete mode 100644 src/docs/zh-TW/general/misskey.md
 delete mode 100644 src/docs/zh-TW/general/report-issue.md
 delete mode 100644 src/docs/zh-TW/general/troubleshooting.md
 delete mode 100644 src/docs/zh-TW/keyboard-shortcut.md
 delete mode 100644 src/docs/zh-TW/mfm.md
 delete mode 100644 src/docs/zh-TW/mute.md
 delete mode 100644 src/docs/zh-TW/pages.md
 delete mode 100644 src/docs/zh-TW/reaction.md
 delete mode 100644 src/docs/zh-TW/reversi-bot.md
 delete mode 100644 src/docs/zh-TW/stream.md
 delete mode 100644 src/docs/zh-TW/theme.md
 delete mode 100644 src/docs/zh-TW/timelines.md

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 76267ab30..3b21ad3a1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -49,10 +49,6 @@ If your language is not listed in Crowdin, please open an issue.
 
 ![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
 
-## Documentation
-* Documents for instance admins are located in [`/docs`](/docs).
-* Documents for end users are located in [`/src/docs`](/src/docs).
-
 ## Testing
 - Test codes are located in [`/test`](/test).
 
diff --git a/crowdin.yml b/crowdin.yml
index 2d2cd5a49..774ddc7a6 100644
--- a/crowdin.yml
+++ b/crowdin.yml
@@ -2,6 +2,3 @@ files:
   - source: /locales/ja-JP.yml
     translation: /locales/%locale%.yml
     update_option: update_as_unapproved
-  - source: /src/docs/ja-JP/**/*.md
-    translation: /src/docs/%locale%/**/%original_file_name%
-    update_option: update_as_unapproved
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 1326369f8..d22f384f3 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -816,14 +816,6 @@ _accountDelete:
   started: "削除処理が開始されました。"
   inProgress: "削除が進行中"
 
-_docs: 
-  continueReading: "続きを読む"
-  features: "機能"
-  generalTopics: "一般的なトピック"
-  advancedTopics: "高度なトピック"
-  admin: "管理"
-  translateWarn: "このドキュメントは翻訳されたものです。オリジナルとは内容が異なる場合があります。"
-
 _ad:
   back: "戻る"
   reduceFrequencyOfThisAd: "この広告の表示頻度を下げる"
diff --git a/package.json b/package.json
index 868722392..d61001e53 100644
--- a/package.json
+++ b/package.json
@@ -71,7 +71,6 @@
 		"@types/koa__cors": "3.0.3",
 		"@types/koa__multer": "2.0.4",
 		"@types/koa__router": "8.0.8",
-		"@types/markdown-it": "12.2.3",
 		"@types/matter-js": "0.17.6",
 		"@types/mocha": "8.2.3",
 		"@types/node": "16.11.4",
@@ -169,8 +168,6 @@
 		"koa-slow": "2.1.0",
 		"koa-views": "7.0.1",
 		"langmap": "0.0.16",
-		"markdown-it": "12.2.0",
-		"markdown-it-anchor": "7.1.0",
 		"matter-js": "0.17.1",
 		"mfm-js": "0.20.0",
 		"misskey-js": "0.0.8",
diff --git a/src/client/components/launch-pad.vue b/src/client/components/launch-pad.vue
index 6f97d4d3a..9da62f1e0 100644
--- a/src/client/components/launch-pad.vue
+++ b/src/client/components/launch-pad.vue
@@ -16,10 +16,10 @@
 			
 		
 		
- +
{{ $ts.help }}
-
+
{{ $t('aboutX', { x: instanceName }) }}
diff --git a/src/client/components/updated.vue b/src/client/components/updated.vue index 2f92f743e..9e5b24acd 100644 --- a/src/client/components/updated.vue +++ b/src/client/components/updated.vue @@ -30,7 +30,7 @@ export default defineComponent({ methods: { whatIsNew() { this.$refs.modal.close(); - this.$router.push('/docs/general/changelog'); + window.open(`https://misskey-hub.net/docs/releases.html#_${version.replace(/\./g, '-')}`, '_blank'); } } }); diff --git a/src/client/pages/about-misskey.vue b/src/client/pages/about-misskey.vue index d2c0ec055..decee3a0f 100644 --- a/src/client/pages/about-misskey.vue +++ b/src/client/pages/about-misskey.vue @@ -11,7 +11,7 @@
- {{ $ts._aboutMisskey.about }}
{{ $ts.learnMore }} + {{ $ts._aboutMisskey.about }}
{{ $ts.learnMore }}
diff --git a/src/client/pages/doc.vue b/src/client/pages/doc.vue deleted file mode 100644 index 500d0340b..000000000 --- a/src/client/pages/doc.vue +++ /dev/null @@ -1,240 +0,0 @@ - - - - - diff --git a/src/client/pages/docs.vue b/src/client/pages/docs.vue deleted file mode 100644 index 629dc2be5..000000000 --- a/src/client/pages/docs.vue +++ /dev/null @@ -1,152 +0,0 @@ - - - - - diff --git a/src/client/pages/share.vue b/src/client/pages/share.vue index 70a9661dd..cb7347fae 100644 --- a/src/client/pages/share.vue +++ b/src/client/pages/share.vue @@ -23,7 +23,7 @@ diff --git a/src/client/components/reaction-tooltip.vue b/src/client/components/reaction-tooltip.vue new file mode 100644 index 000000000..93143cbe8 --- /dev/null +++ b/src/client/components/reaction-tooltip.vue @@ -0,0 +1,51 @@ + + + + + From 3df9a12f1b8e16bfe125b808d34d70b6127812cf Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 8 Nov 2021 03:43:14 +0900 Subject: [PATCH 22/59] :art: --- src/client/components/post-form.vue | 2 +- src/client/style.scss | 2 +- src/client/ui/chat/post-form.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client/components/post-form.vue b/src/client/components/post-form.vue index 816a69e73..90df78895 100644 --- a/src/client/components/post-form.vue +++ b/src/client/components/post-form.vue @@ -869,7 +869,7 @@ export default defineComponent({ color: var(--fg); font-family: inherit; - &:focus-visible { + &:focus { outline: none; } diff --git a/src/client/style.scss b/src/client/style.scss index d77cdacf7..951d5a14f 100644 --- a/src/client/style.scss +++ b/src/client/style.scss @@ -480,7 +480,7 @@ hr { padding: 5px; } -.prism-editor__textarea:focus-visible { +.prism-editor__textarea:focus { outline: none; } diff --git a/src/client/ui/chat/post-form.vue b/src/client/ui/chat/post-form.vue index 64b8d08cb..e1e56dee3 100644 --- a/src/client/ui/chat/post-form.vue +++ b/src/client/ui/chat/post-form.vue @@ -679,7 +679,7 @@ export default defineComponent({ color: var(--fg); font-family: inherit; - &:focus-visible { + &:focus { outline: none; } From c95e28bc6d7c983bedb605d29d3f8f85a2662a0c Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 11 Nov 2021 19:41:33 +0900 Subject: [PATCH 23/59] update deps --- package.json | 38 ++-- yarn.lock | 602 ++++++++++++++++++++++++--------------------------- 2 files changed, 305 insertions(+), 335 deletions(-) diff --git a/package.json b/package.json index be1496a17..1b0e43e1c 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "@types/koa__router": "8.0.8", "@types/matter-js": "0.17.6", "@types/mocha": "8.2.3", - "@types/node": "16.11.4", + "@types/node": "16.11.7", "@types/node-fetch": "2.5.12", "@types/nodemailer": "6.4.4", "@types/nprogress": "0.2.0", @@ -91,7 +91,7 @@ "@types/request-stats": "3.0.0", "@types/rimraf": "3.0.2", "@types/seedrandom": "2.4.28", - "@types/sharp": "0.29.2", + "@types/sharp": "0.29.3", "@types/sinonjs__fake-timers": "6.0.4", "@types/speakeasy": "2.0.6", "@types/throttle-debounce": "2.1.0", @@ -104,7 +104,7 @@ "@types/websocket": "1.0.4", "@types/ws": "8.2.0", "@typescript-eslint/parser": "5.1.0", - "@vue/compiler-sfc": "3.2.20", + "@vue/compiler-sfc": "3.2.21", "abort-controller": "3.0.0", "autobind-decorator": "2.4.0", "autosize": "4.0.4", @@ -112,11 +112,11 @@ "aws-sdk": "2.1013.0", "bcryptjs": "2.4.3", "blurhash": "1.1.4", - "broadcast-channel": "4.2.0", - "bull": "3.29.3", - "cacheable-lookup": "6.0.3", + "broadcast-channel": "4.5.0", + "bull": "4.1.0", + "cacheable-lookup": "6.0.4", "cafy": "15.2.1", - "cbor": "8.0.2", + "cbor": "8.1.0", "chalk": "4.1.2", "chart.js": "3.6.0", "chartjs-adapter-date-fns": "2.0.0", @@ -126,14 +126,14 @@ "concurrently": "6.3.0", "content-disposition": "0.5.3", "crc-32": "1.2.0", - "css-loader": "6.4.0", - "cssnano": "5.0.8", + "css-loader": "6.5.1", + "cssnano": "5.0.10", "date-fns": "2.25.0", "dateformat": "4.5.1", "deep-email-validator": "0.1.18", "escape-regexp": "0.0.1", - "eslint": "8.1.0", - "eslint-plugin-vue": "7.20.0", + "eslint": "8.2.0", + "eslint-plugin-vue": "8.0.3", "eventemitter3": "4.0.7", "feed": "4.2.2", "file-type": "16.5.3", @@ -167,7 +167,7 @@ "koa-mount": "4.0.0", "koa-send": "5.0.1", "koa-slow": "2.1.0", - "koa-views": "7.0.1", + "koa-views": "7.0.2", "langmap": "0.0.16", "matter-js": "0.17.1", "mfm-js": "0.20.0", @@ -186,7 +186,7 @@ "postcss": "8.3.11", "postcss-loader": "6.2.0", "prismjs": "1.25.0", - "private-ip": "2.3.0", + "private-ip": "2.3.3", "probe-image-size": "7.2.1", "promise-limit": "2.7.0", "pug": "3.0.2", @@ -205,8 +205,8 @@ "rimraf": "3.0.2", "rndstr": "1.0.0", "s-age": "1.1.2", - "sass": "1.43.3", - "sass-loader": "12.2.0", + "sass": "1.43.4", + "sass-loader": "12.3.0", "seedrandom": "3.0.5", "sharp": "0.29.2", "speakeasy": "2.0.0", @@ -215,7 +215,7 @@ "style-loader": "3.3.1", "summaly": "2.4.1", "syslog-pro": "1.0.0", - "systeminformation": "5.9.8", + "systeminformation": "5.9.9", "syuilo-password-strength": "0.0.1", "textarea-caret": "3.1.0", "three": "0.117.1", @@ -229,13 +229,13 @@ "tslint": "6.1.3", "tslint-sonarts": "1.9.0", "twemoji-parser": "13.1.0", - "typeorm": "0.2.38", + "typeorm": "0.2.39", "typescript": "4.4.4", "ulid": "2.3.0", "uuid": "8.3.2", "v-debounce": "0.1.2", "vanilla-tilt": "1.7.2", - "vue": "3.2.20", + "vue": "3.2.21", "vue-loader": "16.7.0", "vue-prism-editor": "2.0.0-alpha.2", "vue-router": "4.0.5", @@ -243,7 +243,7 @@ "vue-svg-loader": "0.17.0-beta.2", "vuedraggable": "4.0.1", "web-push": "3.4.5", - "webpack": "5.59.1", + "webpack": "5.63.0", "webpack-cli": "4.9.1", "websocket": "1.0.34", "ws": "8.2.3", diff --git a/yarn.lock b/yarn.lock index d8409088f..8cbe2f1ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,7 +33,14 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== -"@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2": +"@babel/runtime@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.6.2": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.13.tgz#0a21452352b02542db0ffb928ac2d3ca7cb6d66d" integrity sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw== @@ -134,10 +141,10 @@ pump "^3.0.0" secure-json-parse "^2.1.0" -"@eslint/eslintrc@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.3.tgz#41f08c597025605f672251dcc4e8be66b5ed7366" - integrity sha512-DHI1wDPoKCBPoLZA3qDR91+3te/wDSc1YhKg3jR8NxKKRJq2hwHwcWv31cSwSYvIBrmbENoYMWcenW8uproQqg== +"@eslint/eslintrc@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.4.tgz#dfe0ff7ba270848d10c5add0715e04964c034b31" + integrity sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -145,7 +152,7 @@ globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" - js-yaml "^3.13.1" + js-yaml "^4.1.0" minimatch "^3.0.4" strip-json-comments "^3.1.1" @@ -400,10 +407,10 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@trysound/sax@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.1.1.tgz#3348564048e7a2d7398c935d466c0414ebb6a669" - integrity sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow== +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@tsconfig/node10@^1.0.7": version "1.0.7" @@ -852,10 +859,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.6.2.tgz#331b7b9f8621c638284787c5559423822fdffc50" integrity sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA== -"@types/node@16.11.4": - version "16.11.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.4.tgz#90771124822d6663814f7c1c9b45a6654d8fd964" - integrity sha512-TMgXmy0v2xWyuCSCJM6NCna2snndD8yvQF67J29ipdzMcsPa9u+o0tjF5+EQNdhcuZplYuouYqpc4zcd5I6amQ== +"@types/node@16.11.7": + version "16.11.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" + integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw== "@types/node@^14.11.8", "@types/node@^14.14.31", "@types/node@^14.14.41": version "14.17.9" @@ -1008,10 +1015,10 @@ "@types/express-serve-static-core" "*" "@types/mime" "*" -"@types/sharp@0.29.2": - version "0.29.2" - resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.29.2.tgz#b4e932e982e258d1013236c8b4bcc14f9883c9a3" - integrity sha512-tIbMvtPa8kMyFMKNhpsPT1HO3CgXLuiCAA8bxHAGAZLyALpYvYc4hUu3pu0+3oExQA5LwvHrWp+OilgXCYVQgg== +"@types/sharp@0.29.3": + version "0.29.3" + resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.29.3.tgz#54ceb81b68bb99a0e62db2b52f4fb0bea84878ac" + integrity sha512-83Xp05eK2hvfNnmKLr2Fz0C2A0jrr2TnSLqKRbkLTYuAu+Erj6mKQLoEMGafE73Om8p3q3ryZxtHFM/7hy4Adg== dependencies: "@types/node" "*" @@ -1228,95 +1235,95 @@ resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== -"@vue/compiler-core@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.20.tgz#af5a3c5237818835b0d0be837eb5885a8d21c160" - integrity sha512-vcEXlKXoPwBXFP5aUTHN9GTZaDfwCofa9Yu9bbW2C5O/QSa9Esdt7OG4+0RRd3EHEMxUvEdj4RZrd/KpQeiJbA== +"@vue/compiler-core@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.21.tgz#26566c32b2ad838199d471ef5df620a83846f24e" + integrity sha512-NhhiQZNG71KNq1h5pMW/fAXdTF7lJRaSI7LDm2edhHXVz1ROMICo8SreUmQnSf4Fet0UPBVqJ988eF4+936iDQ== dependencies: "@babel/parser" "^7.15.0" - "@vue/shared" "3.2.20" + "@vue/shared" "3.2.21" estree-walker "^2.0.2" source-map "^0.6.1" -"@vue/compiler-dom@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.20.tgz#8e0ef354449c0faf41519b00bfc2045eae01dcb5" - integrity sha512-QnI77ec/JtV7R0YBbcVayYTDCRcI9OCbxiUQK6izVyqQO0658n0zQuoNwe+bYgtqnvGAIqTR3FShTd5y4oOjdg== +"@vue/compiler-dom@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.21.tgz#d6f6c85364ef8888f9c4e9122bfba11e78fb398c" + integrity sha512-gsJD3DpYZSYquiA7UIPsMDSlAooYWDvHPq9VRsqzJEk2PZtFvLvHPb4aaMD8Ufd62xzYn32cnnkzsEOJhyGilA== dependencies: - "@vue/compiler-core" "3.2.20" - "@vue/shared" "3.2.20" + "@vue/compiler-core" "3.2.21" + "@vue/shared" "3.2.21" -"@vue/compiler-sfc@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.20.tgz#2d7668e76f066c566dd7c09c15c9acce4e876e0a" - integrity sha512-03aZo+6tQKiFLfunHKSPZvdK4Jsn/ftRCyaro8AQIWkuxJbvSosbKK6HTTn+D2c3nPScG155akJoxKENw7rftQ== +"@vue/compiler-sfc@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.21.tgz#42639ee49e725afb7d8f1d1940e75dc17a56002c" + integrity sha512-+yDlUSebKpz/ovxM2vLRRx7w/gVfY767pOfYTgbIhAs+ogvIV2BsIt4fpxlThnlCNChJ+yE0ERUNoROv2kEGEQ== dependencies: "@babel/parser" "^7.15.0" - "@vue/compiler-core" "3.2.20" - "@vue/compiler-dom" "3.2.20" - "@vue/compiler-ssr" "3.2.20" - "@vue/ref-transform" "3.2.20" - "@vue/shared" "3.2.20" + "@vue/compiler-core" "3.2.21" + "@vue/compiler-dom" "3.2.21" + "@vue/compiler-ssr" "3.2.21" + "@vue/ref-transform" "3.2.21" + "@vue/shared" "3.2.21" estree-walker "^2.0.2" magic-string "^0.25.7" postcss "^8.1.10" source-map "^0.6.1" -"@vue/compiler-ssr@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.20.tgz#9cceb6261d9932cb5568202610c1c28f86c5e521" - integrity sha512-rzzVVYivm+EjbfiGQvNeyiYZWzr6Hkej97RZLZvcumacQlnKv9176Xo9rRyeWwFbBlxmtNdrVMslRXtipMXk2w== +"@vue/compiler-ssr@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.21.tgz#37d124f89e8adef9fd56b85775de4b5310a0436e" + integrity sha512-eU+A0iWYy+1zAo2CRIJ0zSVlv1iuGAIbNRCnllSJ31pV1lX3jypJYzGbJlSRAbB7VP6E+tYveVT1Oq8JKewa3g== dependencies: - "@vue/compiler-dom" "3.2.20" - "@vue/shared" "3.2.20" + "@vue/compiler-dom" "3.2.21" + "@vue/shared" "3.2.21" -"@vue/reactivity@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.20.tgz#81fe1c368e7f20bc0ec1dec1045bbee253582de8" - integrity sha512-nSmoLojUTk+H8HNTAkrUduB4+yIUBK2HPihJo2uXVSH4Spry6oqN6lFzE5zpLK+F27Sja+UqR9R1+/kIOsHV5w== +"@vue/reactivity@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.21.tgz#073ad144192ed78a07e151e95a3baa515e4099a2" + integrity sha512-7C57zFm/5E3SSTUhVuYj1InDwuJ+GIVQ/z+H43C9sST85gIThGXVhksl1yWTAadf8Yz4T5lSbqi5Ds8U/ueWcw== dependencies: - "@vue/shared" "3.2.20" + "@vue/shared" "3.2.21" -"@vue/ref-transform@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/ref-transform/-/ref-transform-3.2.20.tgz#2a59ec90caf8e5c7336776a0900bff0a8b81c090" - integrity sha512-Y42d3PGlYZ1lXcF3dbd3+qU/C/a3wYEZ949fyOI5ptzkjDWlkfU6vn74fmOjsLjEcjs10BXK2qO99FqQIK2r1Q== +"@vue/ref-transform@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/ref-transform/-/ref-transform-3.2.21.tgz#b0c554c9f640c3f005f77e676066aa0faba90984" + integrity sha512-uiEWWBsrGeun9O7dQExYWzXO3rHm/YdtFNXDVqCSoPypzOVxWxdiL+8hHeWzxMB58fVuV2sT80aUtIVyaBVZgQ== dependencies: "@babel/parser" "^7.15.0" - "@vue/compiler-core" "3.2.20" - "@vue/shared" "3.2.20" + "@vue/compiler-core" "3.2.21" + "@vue/shared" "3.2.21" estree-walker "^2.0.2" magic-string "^0.25.7" -"@vue/runtime-core@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.20.tgz#8f63e956a3f88fb772541443c45a7701211012cb" - integrity sha512-d1xfUGhZPfiZzAN7SatStD4vRtT8deJSXib2+Cz3x0brjMWKxe32asQc154FF1E2fFgMCHtnfd4A90bQEzV4GQ== +"@vue/runtime-core@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.21.tgz#e12dac8c3893b7aebfc37e32066718d8aa686ac5" + integrity sha512-7oOxKaU0D2IunOAMOOHZgJVrHg63xwng8BZx3fbgmakqEIMwHhQcp+5GV1sOg/sWW7R4UhaRDIUCukO2GRVK2Q== dependencies: - "@vue/reactivity" "3.2.20" - "@vue/shared" "3.2.20" + "@vue/reactivity" "3.2.21" + "@vue/shared" "3.2.21" -"@vue/runtime-dom@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.20.tgz#8aa56ae6c30f9cd4a71ca0e9ec3c4bdc67148d15" - integrity sha512-4TCvZMLhESWCFHFYgqN4QmMA/onnINAlUovhopjlS8ST27G1A8Z0tyxPzLoXLa+b5JrOpbMPheEMPvdKExTJig== +"@vue/runtime-dom@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.21.tgz#33dd15bc85281e773177a30dc6931c294bd77aa1" + integrity sha512-apBdriD6QsI4ywbllY8kjr9/0scGuStDuvLbJULPQkFPtHzntd51bP5PQTQVAEIc9kwnTozmj6x6ZdX/cwo7xA== dependencies: - "@vue/runtime-core" "3.2.20" - "@vue/shared" "3.2.20" + "@vue/runtime-core" "3.2.21" + "@vue/shared" "3.2.21" csstype "^2.6.8" -"@vue/server-renderer@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.20.tgz#705e07ae9425132b2b6227d308a51a13f4d4ec81" - integrity sha512-viIbZGep9XabnrRcaxWIi00cOh1x21QYm2upIL5W0zqzTJ54VdTzpI+zi1osNp+VfRQDTHpV2U7H3Kn4ljYJvg== +"@vue/server-renderer@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.21.tgz#887d0a44de76f72313cff2686a24c0315231d634" + integrity sha512-QBgYqVgI7XCSBCqGa4LduV9vpfQFdZBOodFmq5Txk5W/v1KrJ1LoOh2Q0RHiRgtoK/UR9uyvRVcYqOmwHkZNEg== dependencies: - "@vue/compiler-ssr" "3.2.20" - "@vue/shared" "3.2.20" + "@vue/compiler-ssr" "3.2.21" + "@vue/shared" "3.2.21" -"@vue/shared@3.2.20": - version "3.2.20" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.20.tgz#53746961f731a8ea666e3316271e944238dc31db" - integrity sha512-FbpX+hD5BvXCQerEYO7jtAGHlhAkhTQ4KIV73kmLWNlawWhTiVuQxizgVb0BOkX5oG9cIRZ42EG++d/k/Efp0w== +"@vue/shared@3.2.21": + version "3.2.21" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.21.tgz#4cd80c0e62cf65a7adab2449e86b6f0cb33a130b" + integrity sha512-5EQmIPK6gw4UVYUbM959B0uPsJ58+xoMESCZs3N89XyvJ9e+fX4pqEPrOGV8OroIk3SbEvJcC+eYc8BH9JQrHA== "@webassemblyjs/ast@1.11.0": version "1.11.0" @@ -1625,11 +1632,6 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz#580e3ffcae6770eebeec76c3b9723201e9d01f78" integrity sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA== -acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== - acorn-jsx@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" @@ -1760,6 +1762,11 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -2257,19 +2264,18 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -broadcast-channel@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/broadcast-channel/-/broadcast-channel-4.2.0.tgz#9ca93a23a31036266c2c9b0f8f55bd21594b8f82" - integrity sha512-XX9yNnIy/v2T+HR5EKIH7ziM2mYTefsrzZ2lkCmFZxwCDG7Ns7HLIooUXA114sCeFRJ4MEXEgdMapxfPDh9Xkg== +broadcast-channel@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/broadcast-channel/-/broadcast-channel-4.5.0.tgz#d4717c493e219908fcb7f2f9078fe0baf95b77c1" + integrity sha512-jp+VPlQ1HyR0CM3uIYUrdpXupBvhTMFRkjR6mEmt5W4HaGDPFEzrO2Jqvi2PZ6zCC4zwLeco7CC5EUJPrVH8Tw== dependencies: - "@babel/runtime" "^7.7.2" + "@babel/runtime" "^7.16.0" detect-node "^2.1.0" - js-sha3 "0.8.0" microseconds "0.2.0" nano-time "1.0.0" oblivious-set "1.0.0" rimraf "3.0.2" - unload "2.2.0" + unload "2.3.1" browser-process-hrtime@^1.0.0: version "1.0.0" @@ -2414,10 +2420,10 @@ builtin-modules@^1.1.1: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= -bull@3.29.3: - version "3.29.3" - resolved "https://registry.yarnpkg.com/bull/-/bull-3.29.3.tgz#5b0059b172685b0d6f011d56214e1898ff3a7a0b" - integrity sha512-MOqV1dKLy1YQgP9m3lFolyMxaU+1+o4afzYYf0H4wNM+x/S0I1QPQfkgGlLiH00EyFrvSmeubeCYFP47rTfpjg== +bull@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bull/-/bull-4.1.0.tgz#ff8f628694e7dbbdf89b6a6860a1f33e990527fd" + integrity sha512-rQcLuAmzZIv1dHJO/yKrWu497xcTxMpYeTEBfpStrJFZ1UZpBSGHSx+defbtFVeGEeY8Pn0aMGRvRtldUBVUyQ== dependencies: cron-parser "^2.13.0" debuglog "^1.0.0" @@ -2489,10 +2495,10 @@ cache-content-type@^1.0.0: mime-types "^2.1.18" ylru "^1.2.0" -cacheable-lookup@6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.0.3.tgz#61d6171f6818fab230666b11f7cf3f5a48df7818" - integrity sha512-xdwIK7MEC8NpRIt0dx2PL7pTRKaSmDb+zirzuM+cJTRWDfwfVu4XyASkODIU4XbjsyFHKo/tDOPSs64Z3yfFWg== +cacheable-lookup@6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.0.4.tgz#65c0e51721bb7f9f2cb513aed6da4a1b93ad7dc8" + integrity sha512-mbcDEZCkv2CZF4G01kr8eBd/5agkt9oCqz75tJMSIsquvRZ2sL6Hi5zGVKi/0OSC9oO1GHfJ2AV0ZIOY9vye0A== cacheable-lookup@^5.0.3: version "5.0.3" @@ -2605,12 +2611,12 @@ cbor@*: "@cto.af/textdecoder" "^0.0.0" nofilter "^2.0.3" -cbor@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.0.2.tgz#d0f5088423437efcc160e9304bd0576f45d06abb" - integrity sha512-H5WTjQYgyHQI0VrCmbyQBOPy1353MjmUi/r3DbPib4U13vuyqm7es9Mfpe8G58bN/mCdRlJWkiCrPl1uM1wAlg== +cbor@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== dependencies: - nofilter "^3.0.3" + nofilter "^3.1.0" chalk@4.0.0: version "4.0.0" @@ -2628,7 +2634,7 @@ chalk@4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= @@ -3033,15 +3039,10 @@ color@^4.0.1: color-convert "^2.0.1" color-string "^1.6.0" -colord@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.0.1.tgz#1e7fb1f9fa1cf74f42c58cb9c20320bab8435aa0" - integrity sha512-vm5YpaWamD0Ov6TSG0GGmUIwstrWcfKQV/h2CmbR7PbNu41+qdB5PW9lpzhjedrpm08uuYvcXi0Oel1RLZIJuA== - -colord@^2.6: - version "2.7.0" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.7.0.tgz#706ea36fe0cd651b585eb142fe64b6480185270e" - integrity sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q== +colord@^2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e" + integrity sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw== colorette@^1.2.0, colorette@^1.2.1, colorette@^1.2.2: version "1.2.2" @@ -3099,15 +3100,15 @@ commander@^7.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.0.0.tgz#3e2bbfd8bb6724760980988fb5b22b7ee6b71ab2" integrity sha512-ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA== -commander@^7.1.0: +commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== comment-json@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.1.0.tgz#09d08f0fbc4ad5eeccbac20f469adbb967dcbd2c" - integrity sha512-WEghmVYaNq9NlWbrkzQTSsya9ycLyxJxpTQfZEan6a5Jomnjw18zS3Podf8q1Zf9BvonvQd/+Z7Z39L7KKzzdQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.1.1.tgz#49df4948704bebb1cc0ffa6910e25669b668b7c5" + integrity sha512-v8gmtPvxhBlhdRBLwdHSjGy9BgA23t9H1FctdQKyUrErPjSrJcdDMqBq9B4Irtm7w3TNYLQJNH6ARKnpyag1sA== dependencies: array-timsort "^1.0.3" core-util-is "^1.0.2" @@ -3241,11 +3242,16 @@ copy-to@^2.0.1: resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= -core-util-is@1.0.2, core-util-is@^1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-util-is@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + cosmiconfig@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" @@ -3311,10 +3317,10 @@ css-declaration-sorter@^6.0.3: dependencies: timsort "^0.3.0" -css-loader@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.4.0.tgz#01c57ea776024e18ca193428dcad3ff6b42a0130" - integrity sha512-Dlt6qfsxI/w1vU0r8qDd4BtMPxWqJeY5qQU7SmmZfvbpe6Xl18McO4GhyaMLns24Y2VNPiZwJPQ8JSbg4qvQLw== +css-loader@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" + integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== dependencies: icss-utils "^5.1.0" postcss "^8.2.15" @@ -3340,15 +3346,15 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-select@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-3.1.2.tgz#d52cbdc6fee379fba97fb0d3925abbd18af2d9d8" - integrity sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA== +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== dependencies: boolbase "^1.0.0" - css-what "^4.0.0" - domhandler "^4.0.0" - domutils "^2.4.3" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" nth-check "^2.0.0" css-select@~1.2.0: @@ -3377,7 +3383,7 @@ css-tree@1.0.0-alpha.39: mdn-data "2.0.6" source-map "^0.6.1" -css-tree@^1.1.2: +css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== @@ -3395,34 +3401,34 @@ css-what@^3.2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== -css-what@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233" - integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== +css-what@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz#359943bf00c5c8e05489f12dd25f3006f2c1cbd2" - integrity sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ== +cssnano-preset-default@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.6.tgz#1bdb83be6a6b1fee6dc5e9ec2e61286bcadcc7a6" + integrity sha512-X2nDeNGBXc0486oHjT2vSj+TdeyVsxRvJUxaOH50hOM6vSDLkKd0+59YXpSZRInJ4sNtBOykS4KsPfhdrU/35w== dependencies: css-declaration-sorter "^6.0.3" cssnano-utils "^2.0.1" postcss-calc "^8.0.0" - postcss-colormin "^5.2.0" - postcss-convert-values "^5.0.1" + postcss-colormin "^5.2.1" + postcss-convert-values "^5.0.2" postcss-discard-comments "^5.0.1" postcss-discard-duplicates "^5.0.1" postcss-discard-empty "^5.0.1" postcss-discard-overridden "^5.0.1" - postcss-merge-longhand "^5.0.2" + postcss-merge-longhand "^5.0.3" postcss-merge-rules "^5.0.2" postcss-minify-font-values "^5.0.1" - postcss-minify-gradients "^5.0.2" + postcss-minify-gradients "^5.0.3" postcss-minify-params "^5.0.1" postcss-minify-selectors "^5.1.0" postcss-normalize-charset "^5.0.1" @@ -3437,7 +3443,7 @@ cssnano-preset-default@^5.1.4: postcss-ordered-values "^5.0.2" postcss-reduce-initial "^5.0.1" postcss-reduce-transforms "^5.0.1" - postcss-svgo "^5.0.2" + postcss-svgo "^5.0.3" postcss-unique-selectors "^5.0.1" cssnano-utils@^2.0.1: @@ -3445,12 +3451,12 @@ cssnano-utils@^2.0.1: resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== -cssnano@5.0.8: - version "5.0.8" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.8.tgz#39ad166256980fcc64faa08c9bb18bb5789ecfa9" - integrity sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg== +cssnano@5.0.10: + version "5.0.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.10.tgz#92207eb7c9c6dc08d318050726f9fad0adf7220b" + integrity sha512-YfNhVJJ04imffOpbPbXP2zjIoByf0m8E2c/s/HnvSvjXgzXMfgopVjAEGvxYOjkOpWuRQDg/OZFjO7WW94Ri8w== dependencies: - cssnano-preset-default "^5.1.4" + cssnano-preset-default "^5.1.6" is-resolvable "^1.1.0" lilconfig "^2.0.3" yaml "^1.10.2" @@ -3838,12 +3844,7 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -detect-node@^2.1.0: +detect-node@2.1.0, detect-node@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== @@ -3949,13 +3950,20 @@ domhandler@^2.3.0: dependencies: domelementtype "1" -domhandler@^4.0.0, domhandler@^4.1.0: +domhandler@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.1.0.tgz#c1d8d494d5ec6db22de99e46a149c2a4d23ddd43" integrity sha512-/6/kmsGlMY4Tup/nGVutdrK9yQi4YjWVcVeoQmixpzjOUK1U7pQkvAPHBJeUxOgxF0J8f8lwCJSlCfD0V4CMGQ== dependencies: domelementtype "^2.2.0" +domhandler@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== + dependencies: + domelementtype "^2.2.0" + domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" @@ -3972,14 +3980,14 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.4.3: - version "2.5.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.5.2.tgz#37ef8ba087dff1a17175e7092e8a042e4b050e6c" - integrity sha512-MHTthCb1zj8f1GVfRpeZUbohQf/HdBos0oX5gZcQFepOZPLLRyj6Wn7XS7EMnY7CVpwv8863u2vyE83Hfu28HQ== +domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" domelementtype "^2.2.0" - domhandler "^4.1.0" + domhandler "^4.2.0" dotenv@^8.2.0: version "8.2.0" @@ -4265,15 +4273,15 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-plugin-vue@7.20.0: - version "7.20.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz#98c21885a6bfdf0713c3a92957a5afeaaeed9253" - integrity sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw== +eslint-plugin-vue@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-8.0.3.tgz#791cc4543940319e612ea61a1d779e8c87cf749a" + integrity sha512-Rlhhy5ltzde0sRwSkqHuNePTXLMMaJ5+qsQubM4RYloYsQ8cXlnJT5MDaCzSirkGADipOHtmQXIbbPFAzUrADg== dependencies: - eslint-utils "^2.1.0" + eslint-utils "^3.0.0" natural-compare "^1.4.0" - semver "^6.3.0" - vue-eslint-parser "^7.10.0" + semver "^7.3.5" + vue-eslint-parser "^8.0.1" eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" @@ -4291,13 +4299,6 @@ eslint-scope@^6.0.0: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - eslint-utils@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" @@ -4305,11 +4306,6 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - eslint-visitor-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" @@ -4320,12 +4316,12 @@ eslint-visitor-keys@^3.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz#e32e99c6cdc2eb063f204eda5db67bfe58bb4186" integrity sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q== -eslint@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.1.0.tgz#00f1f7dbf4134f26588e6c9f2efe970760f64664" - integrity sha512-JZvNneArGSUsluHWJ8g8MMs3CfIEzwaLx9KyH4tZ2i+R2/rPWzL8c0zg3rHdwYVpN/1sB9gqnjHwz9HoeJpGHw== +eslint@8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.2.0.tgz#44d3fb506d0f866a506d97a0fc0e90ee6d06a815" + integrity sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw== dependencies: - "@eslint/eslintrc" "^1.0.3" + "@eslint/eslintrc" "^1.0.4" "@humanwhocodes/config-array" "^0.6.0" ajv "^6.10.0" chalk "^4.0.0" @@ -4359,7 +4355,7 @@ eslint@8.1.0: progress "^2.0.0" regexpp "^3.2.0" semver "^7.2.1" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -4369,15 +4365,6 @@ esm@^3.2.22: resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== -espree@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - espree@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/espree/-/espree-9.0.0.tgz#e90a2965698228502e771c7a58489b1a9d107090" @@ -4696,11 +4683,6 @@ fetch-blob@^2.1.1: resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-2.1.2.tgz#a7805db1361bd44c1ef62bb57fb5fe8ea173ef3c" integrity sha512-YKqtUDwqLyfyMnmbw8XD6Q8j9i/HggKtPEI+pZ1+8bvheBu78biSmNaXWusx1TauGqtUUGx/cBb1mKdq2rLYow== -figlet@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.3.0.tgz#c49e3d92907ba13bebadc7124f76ba71f1f32ef0" - integrity sha512-f7A8aOJAfyehLJ7lQ6rEA8WJw7kOk3lfWRi5piSjkzbK5YkI5sqO8eiLHz1ehO+DM0QYB85i8VfA6XIGUbU1dg== - figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" @@ -5185,19 +5167,7 @@ globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@^11.0.2: - version "11.0.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" - integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^11.0.4: +globby@^11.0.2, globby@^11.0.4: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== @@ -6292,11 +6262,6 @@ js-levenshtein@^1.1.6: resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - js-stringify@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" @@ -6670,7 +6635,7 @@ koa-slow@2.1.0: lodash.isregexp "3.0.5" q "1.4.1" -koa-views@*, koa-views@7.0.1: +koa-views@*: version "7.0.1" resolved "https://registry.yarnpkg.com/koa-views/-/koa-views-7.0.1.tgz#0c8f8e65d5cd2e08249430cb83dc361e49a17a5a" integrity sha512-yS8751DXHXXDbdl/oUZd0PsgnxR0MLiguu77Eqrgu6yawE9Hi99wNKiVENb0Kfgsmvq/8px7YCI+USgxaTB1LA== @@ -6684,6 +6649,19 @@ koa-views@*, koa-views@7.0.1: pretty "^2.0.0" resolve-path "^1.4.0" +koa-views@7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/koa-views/-/koa-views-7.0.2.tgz#c96fd9e2143ef00c29dc5160c5ed639891aa723d" + integrity sha512-dvx3mdVeSVuIPEaKAoGbxLcenudvhl821xxyuRbcoA+bOJ2dvN8wlGjkLu0ZFMlkCscXZV6lzxy28rafeazI/w== + dependencies: + consolidate "^0.16.0" + debug "^4.1.0" + get-paths "0.0.7" + koa-send "^5.0.0" + mz "^2.4.0" + pretty "^2.0.0" + resolve-path "^1.4.0" + koa@2.13.1: version "2.13.1" resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051" @@ -7636,10 +7614,10 @@ nofilter@^2.0.3: dependencies: "@cto.af/textdecoder" "^0.0.0" -nofilter@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.0.3.tgz#3ff3b142efdccb403434ccae4a0c2c835cb9b522" - integrity sha512-TN/MCrQmXQk5DyUJ8TGUq1Il8rv4fTsjddLmMopV006QP8DMkglmGgYfQKD5620vXLRXfr8iGI6ZZ4/ZWld2cQ== +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== nopt@^4.0.3: version "4.0.3" @@ -8067,11 +8045,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parent-require@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977" - integrity sha1-dGoWdjgIOoYLDu9nMssn7UbDKXc= - parse-filepath@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" @@ -8383,14 +8356,14 @@ postcss-colormin@^2.1.8: postcss "^5.0.13" postcss-value-parser "^3.2.3" -postcss-colormin@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.0.tgz#2b620b88c0ff19683f3349f4cf9e24ebdafb2c88" - integrity sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw== +postcss-colormin@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.1.tgz#6e444a806fd3c578827dbad022762df19334414d" + integrity sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA== dependencies: browserslist "^4.16.6" caniuse-api "^3.0.0" - colord "^2.0.1" + colord "^2.9.1" postcss-value-parser "^4.1.0" postcss-convert-values@^2.3.4: @@ -8401,10 +8374,10 @@ postcss-convert-values@^2.3.4: postcss "^5.0.11" postcss-value-parser "^3.1.2" -postcss-convert-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz#4ec19d6016534e30e3102fdf414e753398645232" - integrity sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg== +postcss-convert-values@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz#879b849dc3677c7d6bc94b6a2c1a3f0808798059" + integrity sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg== dependencies: postcss-value-parser "^4.1.0" @@ -8496,10 +8469,10 @@ postcss-merge-longhand@^2.0.1: dependencies: postcss "^5.0.4" -postcss-merge-longhand@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz#277ada51d9a7958e8ef8cf263103c9384b322a41" - integrity sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw== +postcss-merge-longhand@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.3.tgz#42194a5ffbaa5513edbf606ef79c44958564658b" + integrity sha512-kmB+1TjMTj/bPw6MCDUiqSA5e/x4fvLffiAdthra3a0m2/IjTrWsTmD3FdSskzUjEwkj5ZHBDEbv5dOcqD7CMQ== dependencies: css-color-names "^1.0.1" postcss-value-parser "^4.1.0" @@ -8556,12 +8529,12 @@ postcss-minify-gradients@^1.0.1: postcss "^5.0.12" postcss-value-parser "^3.3.0" -postcss-minify-gradients@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz#7c175c108f06a5629925d698b3c4cf7bd3864ee5" - integrity sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ== +postcss-minify-gradients@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz#f970a11cc71e08e9095e78ec3a6b34b91c19550e" + integrity sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q== dependencies: - colord "^2.6" + colord "^2.9.1" cssnano-utils "^2.0.1" postcss-value-parser "^4.1.0" @@ -8809,13 +8782,13 @@ postcss-svgo@^2.1.1: postcss-value-parser "^3.2.3" svgo "^0.7.0" -postcss-svgo@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.2.tgz#bc73c4ea4c5a80fbd4b45e29042c34ceffb9257f" - integrity sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A== +postcss-svgo@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30" + integrity sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA== dependencies: postcss-value-parser "^4.1.0" - svgo "^2.3.0" + svgo "^2.7.0" postcss-unique-selectors@^2.0.2: version "2.0.2" @@ -8984,10 +8957,10 @@ prismjs@1.25.0: resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== -private-ip@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/private-ip/-/private-ip-2.3.0.tgz#aa07bf623c60ea75ee5d140814f492648c001717" - integrity sha512-3lTFzg+Z1Q2VNQChw8AW2c5LM7getyUJ67SqeWtvnkUO4gihjbf5oIEK4+jAQ4v1sCqOVV7r+GzKrgowW/W3tw== +private-ip@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/private-ip/-/private-ip-2.3.3.tgz#1e80ff8443e5ac78f555631aec3ea6ff027fa6aa" + integrity sha512-5zyFfekIVUOTVbL92hc8LJOtE/gyGHeREHkJ2yTyByP8Q2YZVoBqLg3EfYLeF0oVvGqtaEX2t2Qovja0/gStXw== dependencies: ip-regex "^4.3.0" ipaddr.js "^2.0.1" @@ -9814,18 +9787,18 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@12.2.0: - version "12.2.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.2.0.tgz#b370010fb0ababae2ef9c6c89e05d6c6debc6042" - integrity sha512-qducnp5vSV+8A8MZxuH6zV0MUg4MOVISScl2wDTCAn/2WJX+9Auxh92O/rnkdR2bvi5QxZBafnzkzRrWGZvm7w== +sass-loader@12.3.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.3.0.tgz#93278981c189c36a58cbfc37d4b9cef0cdc02871" + integrity sha512-6l9qwhdOb7qSrtOu96QQ81LVl8v6Dp9j1w3akOm0aWHyrTYtagDt5+kS32N4yq4hHk3M+rdqoRMH+lIdqvW6HA== dependencies: klona "^2.0.4" neo-async "^2.6.2" -sass@1.43.3: - version "1.43.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.3.tgz#aa16a69131b84f0cd23189a242571e8905f1ce43" - integrity sha512-BJnLngqWpMeS65UvlYYEuCb3/fLxDxhHtOB/gWPxs6NKrslTxGt3ZxwIvOe/0Jm4tWwM/+tIpE3wj4dLEhPDeQ== +sass@1.43.4: + version "1.43.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f" + integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg== dependencies: chokidar ">=3.0.0 <4.0.0" @@ -9891,7 +9864,7 @@ semver-greatest-satisfied-range@^1.1.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.x, semver@^6.3.0: +semver@6.x: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -10479,6 +10452,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -10615,17 +10595,17 @@ svgo@^1.3.2: unquote "~1.1.1" util.promisify "~1.0.0" -svgo@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.3.0.tgz#6b3af81d0cbd1e19c83f5f63cec2cb98c70b5373" - integrity sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q== +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: - "@trysound/sax" "0.1.1" - chalk "^4.1.0" - commander "^7.1.0" - css-select "^3.1.2" - css-tree "^1.1.2" + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" csso "^4.2.0" + picocolors "^1.0.0" stable "^0.1.8" symbol-tree@^3.2.4: @@ -10640,10 +10620,10 @@ syslog-pro@1.0.0: dependencies: moment "^2.22.2" -systeminformation@5.9.8: - version "5.9.8" - resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.9.8.tgz#470d5781647418fd2f2ec945e507cd522a69d565" - integrity sha512-Dt54Vuu4Q5pGCsBtbVjIzD3Lahek7qIL+2vqAPqcPtPAlFRPf+ef4VKB4F5AL5UmdjYm7NFCTnwjoiu7qtxmQQ== +systeminformation@5.9.9: + version "5.9.9" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.9.9.tgz#aa8234a138363bd988f438fed3273370f79d7e30" + integrity sha512-xciy6NKCLfs4dqMD1Tdlo7v1/g0NfdA1EKsIptUQjlcVvpwHyjifAbNOF7ppFezGSMXxYE8me+l2+RlFF4lyTg== syuilo-password-strength@0.0.1: version "0.0.1" @@ -11188,10 +11168,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typeorm@0.2.38: - version "0.2.38" - resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.2.38.tgz#2af08079919f6ab04cd17017f9faa2c8d5cd566f" - integrity sha512-M6Y3KQcAREQcphOVJciywf4mv6+A0I/SeR+lWNjKsjnQ+a3XcMwGYMGL0Jonsx3H0Cqlf/3yYqVki1jIXSK/xg== +typeorm@0.2.39: + version "0.2.39" + resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.2.39.tgz#4d22fc68d114b2ca88a8d7b064f31af15e836ade" + integrity sha512-yQdvDpmmmn8wp1We25V76KIBPYR/lDbymNbGC++Uq8mSRhpHIPnlg26VAT4CF6Ypqx72zn8eqr+/72uSo7HdJQ== dependencies: "@sqltools/formatter" "^1.2.2" app-root-path "^3.0.0" @@ -11207,7 +11187,6 @@ typeorm@0.2.38: sha.js "^2.4.11" tslib "^2.1.0" xml2js "^0.4.23" - yargonaut "^1.1.4" yargs "^17.0.1" zen-observable-ts "^1.0.0" @@ -11298,13 +11277,13 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unload@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/unload/-/unload-2.2.0.tgz#ccc88fdcad345faa06a92039ec0f80b488880ef7" - integrity sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA== +unload@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unload/-/unload-2.3.1.tgz#9d16862d372a5ce5cb630ad1309c2fd6e35dacfe" + integrity sha512-MUZEiDqvAN9AIDRbbBnVYVvfcR6DrjCqeU2YQMmliFZl9uaBUjTkhuDQkBiyAy8ad5bx1TXVbqZ3gg7namsWjA== dependencies: "@babel/runtime" "^7.6.2" - detect-node "^2.0.4" + detect-node "2.1.0" unpipe@1.0.0: version "1.0.0" @@ -11528,18 +11507,18 @@ void-elements@^3.1.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= -vue-eslint-parser@^7.10.0: - version "7.10.0" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.10.0.tgz#ea4e4b10fd10aa35c8a79ac783488d8abcd29be8" - integrity sha512-7tc/ewS9Vq9Bn741pvpg8op2fWJPH3k32aL+jcIcWGCTzh/zXSdh7pZ5FV3W2aJancP9+ftPAv292zY5T5IPCg== +vue-eslint-parser@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-8.0.1.tgz#25e08b20a414551531f3e19f999902e1ecf45f13" + integrity sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A== dependencies: - debug "^4.1.1" - eslint-scope "^5.1.1" - eslint-visitor-keys "^1.1.0" - espree "^6.2.1" + debug "^4.3.2" + eslint-scope "^6.0.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" esquery "^1.4.0" lodash "^4.17.21" - semver "^6.3.0" + semver "^7.3.5" vue-loader@16.7.0: version "16.7.0" @@ -11577,16 +11556,16 @@ vue-svg-loader@0.17.0-beta.2: semver "^7.3.2" svgo "^1.3.2" -vue@3.2.20: - version "3.2.20" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.20.tgz#940f8aa8bf3e3be78243ca582bad41fcd45ae3e6" - integrity sha512-81JjEP4OGk9oO8+CU0h2nFPGgJBm9mNa3kdCX2k6FuRdrWrC+CNe+tOnuIeTg8EWwQuI+wwdra5Q7vSzp7p4Iw== +vue@3.2.21: + version "3.2.21" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.21.tgz#55f5665172d95cf97e806b9aad0a375180be23a1" + integrity sha512-jpy7ckXdyclfRzqLjL4mtq81AkzQleE54KjZsJg/9OorNVurAxdlU5XpD49GpjKdnftuffKUvx2C5jDOrgc/zg== dependencies: - "@vue/compiler-dom" "3.2.20" - "@vue/compiler-sfc" "3.2.20" - "@vue/runtime-dom" "3.2.20" - "@vue/server-renderer" "3.2.20" - "@vue/shared" "3.2.20" + "@vue/compiler-dom" "3.2.21" + "@vue/compiler-sfc" "3.2.21" + "@vue/runtime-dom" "3.2.21" + "@vue/server-renderer" "3.2.21" + "@vue/shared" "3.2.21" vuedraggable@4.0.1: version "4.0.1" @@ -11697,10 +11676,10 @@ webpack-sources@^3.2.0: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.0.tgz#b16973bcf844ebcdb3afde32eda1c04d0b90f89d" integrity sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw== -webpack@5.59.1: - version "5.59.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.59.1.tgz#60c77e9aad796252153d4d7ab6b2d4c11f0e548c" - integrity sha512-I01IQV9K96FlpXX3V0L4nvd7gb0r7thfuu1IfT2P4uOHOA77nKARAKDYGe/tScSHKnffNIyQhLC8kRXzY4KEHQ== +webpack@5.63.0: + version "5.63.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.63.0.tgz#4b074115800e0526d85112985e46c64b95e04aaf" + integrity sha512-HYrw6bkj/MDmphAXvqLEvn2fVoDZsYu6O638WjK6lSNgIpjb5jl/KtOrqJyU9EC/ZV9mLUmZW5h4mASB+CVA4A== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -12007,15 +11986,6 @@ yaml@^1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargonaut@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/yargonaut/-/yargonaut-1.1.4.tgz#c64f56432c7465271221f53f5cc517890c3d6e0c" - integrity sha512-rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA== - dependencies: - chalk "^1.1.1" - figlet "^1.1.1" - parent-require "^1.0.0" - yargs-parser@18.x: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" From 14148f6c4a04d400269aca787297f8357a0bfd24 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 12 Nov 2021 02:02:25 +0900 Subject: [PATCH 24/59] refactoring Resolve #7779 --- .gitignore | 4 +- .imgbotconfig | 5 - gulpfile.js | 71 + gulpfile.ts | 80 - index.js | 17 - migration/1557476068003-PinnedUsers.ts | 13 - migration/1558266512381-UserListJoining.ts | 13 - migration/1562422242907-PasswordLessLogin.ts | 13 - .../1562448332510-PageTitleHideOption.ts | 13 - migration/1565634203341-room.ts | 13 - .../1571220798684-CustomEmojiCategory.ts | 13 - migration/1576269851876-TalkFederationId.ts | 14 - migration/1576869585998-ProxyRemoteFiles.ts | 14 - migration/1579270193251-v12-2.ts | 14 - migration/1579282808087-v12-3.ts | 14 - migration/1580154400017-v12-9.ts | 14 - migration/1580543501339-v12-13.ts | 14 - ...581708415836-drive-user-folder-id-index.ts | 14 - .../1582019042083-featured-injecttion.ts | 14 - migration/1582210532752-antenna-exclude.ts | 14 - .../1582875306439-note-reaction-length.ts | 14 - migration/1585772678853-ap-url.ts | 15 - .../1586624197029-AddObjectStorageUseProxy.ts | 14 - migration/1586641139527-remote-reaction.ts | 12 - migration/1586708940386-pageAiScript.ts | 14 - migration/1595075960584-blurhash.ts | 14 - migration/1595676934834-instance-icon-url.ts | 14 - migration/1596786425167-channel2.ts | 14 - ...597230137744-objectStorageSetPublicRead.ts | 14 - .../1597385880794-add-sensitive-index.ts | 14 - .../1597893996136-ChannelNoteIdDescIndex.ts | 16 - .../1603776877564-instance-theme-color.ts | 14 - migration/1603781553011-instance-favicon.ts | 14 - migration/1604821689616-delete-auto-watch.ts | 14 - migration/1605408848373-clip-description.ts | 15 - .../1605585339718-instance-pinned-pages.ts | 14 - .../1607151207216-instance-pinned-clip.ts | 14 - migration/1610283021566-registry3.ts | 14 - ...547387175-objectStorageS3ForcePathStyle.ts | 14 - migration/1612619156584-announcement-email.ts | 14 - .../1613155914446-emailNotificationTypes.ts | 14 - migration/1613181457597-user-lang.ts | 14 - ...1613503367223-use-bigint-for-driveUsage.ts | 15 - migration/1615965918224-chart-v2.ts | 218 - .../1618639857000-user-hide-online-status.ts | 14 - migration/1620364649428-ad2.ts | 14 - migration/1621479946000-add-note-indexes.ts | 16 - ...9304522-user-profile-description-length.ts | 13 - migration/1622681548499-log-message-length.ts | 12 - migration/1629024377804-deepl-integration.ts | 14 - migration/1629288472000-fix-channel-userId.ts | 14 - migration/1629512953000-user-is-deleted.ts | 15 - migration/1629778475000-deepl-integration2.ts | 14 - ...1633068642000-email-required-for-signup.ts | 14 - .../1634486652000-user-public-reactions.ts | 14 - migration/1634902659689-delete-log.ts | 13 - package.json | 229 +- {src => packages/backend}/.eslintrc | 0 .../backend/.mocharc.json | 0 packages/backend/.npmrc | 2 + .../backend}/@types/hcaptcha.d.ts | 0 .../backend}/@types/http-signature.d.ts | 0 .../backend}/@types/jsrsasign.d.ts | 0 .../backend}/@types/koa-json-body.d.ts | 0 .../backend}/@types/koa-slow.d.ts | 0 {src => packages/backend}/@types/langmap.d.ts | 0 {src => packages/backend}/@types/ms.d.ts | 0 .../backend}/@types/os-utils.d.ts | 0 .../backend}/@types/package.json.d.ts | 0 .../backend}/@types/probe-image-size.d.ts | 0 .../backend/assets}/api-doc.png | 0 .../backend/assets}/apple-touch-icon.png | 0 .../backend/assets}/favicon.ico | 0 .../backend/assets}/favicon.png | 0 .../backend/assets}/icons/192.png | 0 .../backend/assets}/icons/512.png | 0 .../backend/assets}/mi-white.png | 0 .../backend/assets}/redoc.html | 0 .../backend/assets}/robots.txt | 0 .../backend/assets}/user-unknown.png | 0 .../backend/migration/1000000000000-Init.js | 14 +- .../backend/migration/1556348509290-Pages.js | 14 +- .../migration/1556746559567-UserProfile.js | 14 +- .../migration/1557476068003-PinnedUsers.js | 11 + .../migration/1557761316509-AddSomeUrls.js | 13 +- .../1557932705754-ObjectStorageSetting.js | 14 +- .../migration/1558072954435-PageLike.js | 14 +- .../migration/1558103093633-UserGroup.js | 14 +- .../1558257926829-UserGroupInvite.js | 14 +- .../1558266512381-UserListJoining.js | 11 + .../migration/1561706992953-webauthn.js | 14 +- .../migration/1561873850023-ChartIndexes.js | 14 +- .../1562422242907-PasswordLessLogin.js | 11 + .../migration/1562444565093-PinnedPage.js | 14 +- .../1562448332510-PageTitleHideOption.js | 11 + .../migration/1562869971568-ModerationLog.js | 14 +- .../migration/1563757595828-UsedUsername.js | 14 +- .../backend/migration/1565634203341-room.js | 11 + .../1571220798684-CustomEmojiCategory.js | 11 + .../migration/1572760203493-nodeinfo.js | 14 +- .../1576269851876-TalkFederationId.js | 14 + .../1576869585998-ProxyRemoteFiles.js | 14 + .../backend/migration/1579267006611-v12.js | 18 +- .../backend/migration/1579270193251-v12-2.js | 14 + .../backend/migration/1579282808087-v12-3.js | 14 + .../backend/migration/1579544426412-v12-4.js | 18 +- .../backend/migration/1579977526288-v12-5.js | 18 +- .../backend/migration/1579993013959-v12-6.js | 18 +- .../backend/migration/1580069531114-v12-7.js | 18 +- .../backend/migration/1580148575182-v12-8.js | 18 +- .../backend/migration/1580154400017-v12-9.js | 14 + .../backend/migration/1580276619901-v12-10.js | 20 +- .../backend/migration/1580331224276-v12-11.js | 18 +- .../backend/migration/1580508795118-v12-12.js | 18 +- .../backend/migration/1580543501339-v12-13.js | 14 + .../backend/migration/1580864313253-v12-14.js | 18 +- .../1581526429287-user-group-invitation.js | 18 +- .../1581695816408-user-group-antenna.js | 18 +- ...581708415836-drive-user-folder-id-index.js | 14 + .../backend/migration/1581979837262-promo.js | 18 +- .../1582019042083-featured-injecttion.js | 14 + .../1582210532752-antenna-exclude.js | 14 + .../1582875306439-note-reaction-length.js | 14 + .../backend/migration/1585361548360-miauth.js | 18 +- .../1585385921215-custom-notification.js | 18 +- .../backend/migration/1585772678853-ap-url.js | 14 + .../1586624197029-AddObjectStorageUseProxy.js | 14 + .../1586641139527-remote-reaction.js | 14 + .../migration/1586708940386-pageAiScript.js | 14 + .../migration/1588044505511-hCaptcha.js | 18 +- .../migration/1589023282116-pubRelay.js | 18 +- .../migration/1595075960584-blurhash.js | 14 + ...595077605646-blurhash-for-avatar-banner.js | 18 +- .../1595676934834-instance-icon-url.js | 14 + .../migration/1595771249699-word-mute.js | 18 +- .../migration/1595782306083-word-mute2.js | 18 +- .../migration/1596548170836-channel.js | 18 +- .../migration/1596786425167-channel2.js | 14 + ...597230137744-objectStorageSetPublicRead.js | 14 + ...597236229720-IncludingNotificationTypes.js | 18 +- .../1597385880794-add-sensitive-index.js | 14 + .../migration/1597459042300-channel-unread.js | 20 +- .../1597893996136-ChannelNoteIdDescIndex.js | 16 + .../1600353287890-mutingNotificationTypes.js | 18 +- .../1603094348345-refine-abuse-user-report.js | 18 +- ...1603095701770-refine-abuse-user-report2.js | 18 +- .../1603776877564-instance-theme-color.js | 14 + .../1603781553011-instance-favicon.js | 14 + .../1604821689616-delete-auto-watch.js | 14 + .../1605408848373-clip-description.js | 14 + .../migration/1605408971051-comments.js | 18 +- .../1605585339718-instance-pinned-pages.js | 14 + .../1605965516823-instance-images.js | 18 +- .../migration/1606191203881-no-crawle.js | 18 +- .../1607151207216-instance-pinned-clip.js | 14 + .../migration/1607353487793-isExplorable.js | 18 +- .../migration/1610277136869-registry.js | 18 +- .../migration/1610277585759-registry2.js | 18 +- .../migration/1610283021566-registry3.js | 14 + .../migration/1611354329133-followersUri.js | 18 +- .../migration/1611397665007-gallery.js | 18 +- ...547387175-objectStorageS3ForcePathStyle.js | 14 + .../1612619156584-announcement-email.js | 14 + .../1613155914446-emailNotificationTypes.js | 14 + .../migration/1613181457597-user-lang.js | 14 + ...1613503367223-use-bigint-for-driveUsage.js | 15 + .../migration/1615965918224-chart-v2.js | 217 + .../migration/1615966519402-chart-v2-2.js | 18 +- .../1618637372000-user-last-active-date.js | 18 +- .../1618639857000-user-hide-online-status.js | 14 + .../migration/1619942102890-password-reset.js | 18 +- .../backend/migration/1620019354680-ad.js | 18 +- .../backend/migration/1620364649428-ad2.js | 14 + .../1621479946000-add-note-indexes.js | 16 + ...9304522-user-profile-description-length.js | 14 + .../1622681548499-log-message-length.js | 14 + .../migration/1629004542760-chart-reindex.js | 18 +- .../1629024377804-deepl-integration.js | 14 + .../1629288472000-fix-channel-userId.js | 14 + .../1629512953000-user-is-deleted.js | 15 + .../1629778475000-deepl-integration2.js | 14 + ...1633068642000-email-required-for-signup.js | 14 + .../migration/1633071909016-user-pending.js | 18 +- .../1634486652000-user-public-reactions.js | 14 + .../migration/1634902659689-delete-log.js | 13 + .../1635500777168-note-thread-mute.js | 18 +- .../migration/1636197624383-ff-visibility.js | 18 +- ormconfig.js => packages/backend/ormconfig.js | 2 +- packages/backend/package.json | 199 + {src => packages/backend/src}/boot/index.ts | 6 +- {src => packages/backend/src}/boot/master.ts | 2 +- {src => packages/backend/src}/boot/worker.ts | 0 {src => packages/backend/src}/config/index.ts | 0 {src => packages/backend/src}/config/load.ts | 4 +- {src => packages/backend/src}/config/types.ts | 0 {src => packages/backend/src}/const.ts | 0 .../backend/src}/daemons/janitor.ts | 0 .../backend/src}/daemons/queue-stats.ts | 0 .../backend/src}/daemons/server-stats.ts | 0 .../backend/src}/db/elasticsearch.ts | 0 {src => packages/backend/src}/db/logger.ts | 0 {src => packages/backend/src}/db/postgre.ts | 0 {src => packages/backend/src}/db/redis.ts | 0 {src => packages/backend/src}/env.ts | 0 .../backend/src}/games/reversi/core.ts | 0 .../backend/src}/games/reversi/maps.ts | 0 .../backend/src}/games/reversi/package.json | 0 .../backend/src}/games/reversi/tsconfig.json | 0 {src => packages/backend/src}/global.d.ts | 0 {src => packages/backend/src}/index.ts | 4 +- .../backend/src}/mfm/from-html.ts | 0 {src => packages/backend/src}/mfm/to-html.ts | 12 +- .../backend/src}/misc/antenna-cache.ts | 0 .../backend/src}/misc/api-permissions.ts | 0 .../backend/src}/misc/app-lock.ts | 0 .../backend/src}/misc/before-shutdown.ts | 0 {src => packages/backend/src}/misc/cache.ts | 0 {src => packages/backend/src}/misc/cafy-id.ts | 0 {src => packages/backend/src}/misc/captcha.ts | 0 .../backend/src}/misc/check-hit-antenna.ts | 4 +- .../backend/src}/misc/check-word-mute.ts | 0 .../backend/src}/misc/content-disposition.ts | 0 .../backend/src}/misc/convert-host.ts | 0 .../backend/src}/misc/count-same-renotes.ts | 0 .../backend/src}/misc/create-temp.ts | 0 .../backend/src}/misc/detect-url-mime.ts | 0 .../backend/src}/misc/download-text-file.ts | 0 .../backend/src}/misc/download-url.ts | 0 .../backend/src}/misc/emoji-regex.ts | 0 .../misc/extract-custom-emojis-from-mfm.ts | 0 .../backend/src}/misc/extract-hashtags.ts | 0 .../backend/src}/misc/extract-mentions.ts | 0 .../backend/src}/misc/fetch-meta.ts | 0 .../backend/src}/misc/fetch-proxy-account.ts | 0 {src => packages/backend/src}/misc/fetch.ts | 0 .../backend/src}/misc/gen-avatar.ts | 0 {src => packages/backend/src}/misc/gen-id.ts | 0 .../backend/src}/misc/gen-key-pair.ts | 0 .../backend/src}/misc/get-file-info.ts | 0 .../backend/src}/misc/get-note-summary.ts | 16 +- .../backend/src}/misc/get-reaction-emoji.ts | 0 .../backend/src}/misc/hard-limits.ts | 0 {src => packages/backend/src}/misc/i18n.ts | 0 {src => packages/backend/src}/misc/id/aid.ts | 0 {src => packages/backend/src}/misc/id/meid.ts | 0 .../backend/src}/misc/id/meidg.ts | 0 .../backend/src}/misc/id/object-id.ts | 0 .../backend/src}/misc/identifiable-error.ts | 0 .../src}/misc/is-blocker-user-related.ts | 0 .../src}/misc/is-duplicate-key-value-error.ts | 0 .../src}/misc/is-muted-user-related.ts | 0 .../backend/src}/misc/is-quote.ts | 0 .../backend/src}/misc/keypair-store.ts | 0 .../backend/src}/misc/normalize-for-search.ts | 0 {src => packages/backend/src}/misc/nyaize.ts | 0 .../backend/src}/misc/populate-emojis.ts | 0 .../backend/src}/misc/reaction-lib.ts | 0 .../backend/src}/misc/safe-for-sql.ts | 0 {src => packages/backend/src}/misc/schema.ts | 0 .../backend/src}/misc/secure-rndstr.ts | 0 .../backend/src}/misc/show-machine-info.ts | 0 .../backend/src}/misc/simple-schema.ts | 0 .../backend/src}/misc/truncate.ts | 0 .../src}/models/entities/abuse-user-report.ts | 0 .../src}/models/entities/access-token.ts | 0 .../backend/src}/models/entities/ad.ts | 0 .../src}/models/entities/announcement-read.ts | 0 .../src}/models/entities/announcement.ts | 0 .../src}/models/entities/antenna-note.ts | 0 .../backend/src}/models/entities/antenna.ts | 0 .../backend/src}/models/entities/app.ts | 0 .../models/entities/attestation-challenge.ts | 0 .../src}/models/entities/auth-session.ts | 0 .../backend/src}/models/entities/blocking.ts | 0 .../src}/models/entities/channel-following.ts | 0 .../models/entities/channel-note-pining.ts | 0 .../backend/src}/models/entities/channel.ts | 0 .../backend/src}/models/entities/clip-note.ts | 0 .../backend/src}/models/entities/clip.ts | 0 .../src}/models/entities/drive-file.ts | 0 .../src}/models/entities/drive-folder.ts | 0 .../backend/src}/models/entities/emoji.ts | 0 .../src}/models/entities/follow-request.ts | 0 .../backend/src}/models/entities/following.ts | 0 .../src}/models/entities/gallery-like.ts | 0 .../src}/models/entities/gallery-post.ts | 0 .../models/entities/games/reversi/game.ts | 0 .../models/entities/games/reversi/matching.ts | 0 .../backend/src}/models/entities/hashtag.ts | 0 .../backend/src}/models/entities/instance.ts | 0 .../src}/models/entities/messaging-message.ts | 0 .../backend/src}/models/entities/meta.ts | 0 .../src}/models/entities/moderation-log.ts | 0 .../src}/models/entities/muted-note.ts | 0 .../backend/src}/models/entities/muting.ts | 0 .../src}/models/entities/note-favorite.ts | 0 .../src}/models/entities/note-reaction.ts | 0 .../models/entities/note-thread-muting.ts | 0 .../src}/models/entities/note-unread.ts | 0 .../src}/models/entities/note-watching.ts | 0 .../backend/src}/models/entities/note.ts | 0 .../src}/models/entities/notification.ts | 0 .../backend/src}/models/entities/page-like.ts | 0 .../backend/src}/models/entities/page.ts | 0 .../models/entities/password-reset-request.ts | 0 .../backend/src}/models/entities/poll-vote.ts | 0 .../backend/src}/models/entities/poll.ts | 0 .../src}/models/entities/promo-note.ts | 0 .../src}/models/entities/promo-read.ts | 0 .../models/entities/registration-tickets.ts | 0 .../src}/models/entities/registry-item.ts | 0 .../backend/src}/models/entities/relay.ts | 0 .../backend/src}/models/entities/signin.ts | 0 .../src}/models/entities/sw-subscription.ts | 0 .../src}/models/entities/used-username.ts | 0 .../models/entities/user-group-invitation.ts | 0 .../models/entities/user-group-joining.ts | 0 .../src}/models/entities/user-group.ts | 0 .../src}/models/entities/user-keypair.ts | 0 .../src}/models/entities/user-list-joining.ts | 0 .../backend/src}/models/entities/user-list.ts | 0 .../src}/models/entities/user-note-pining.ts | 0 .../src}/models/entities/user-pending.ts | 0 .../src}/models/entities/user-profile.ts | 0 .../src}/models/entities/user-publickey.ts | 0 .../src}/models/entities/user-security-key.ts | 0 .../backend/src}/models/entities/user.ts | 0 {src => packages/backend/src}/models/id.ts | 0 {src => packages/backend/src}/models/index.ts | 0 .../models/repositories/abuse-user-report.ts | 0 .../src}/models/repositories/antenna.ts | 0 .../backend/src}/models/repositories/app.ts | 0 .../src}/models/repositories/auth-session.ts | 0 .../src}/models/repositories/blocking.ts | 0 .../src}/models/repositories/channel.ts | 0 .../backend/src}/models/repositories/clip.ts | 0 .../src}/models/repositories/drive-file.ts | 0 .../src}/models/repositories/drive-folder.ts | 0 .../backend/src}/models/repositories/emoji.ts | 0 .../repositories/federation-instance.ts | 0 .../models/repositories/follow-request.ts | 0 .../src}/models/repositories/following.ts | 0 .../src}/models/repositories/gallery-like.ts | 0 .../src}/models/repositories/gallery-post.ts | 0 .../models/repositories/games/reversi/game.ts | 0 .../repositories/games/reversi/matching.ts | 0 .../src}/models/repositories/hashtag.ts | 0 .../models/repositories/messaging-message.ts | 0 .../models/repositories/moderation-logs.ts | 0 .../src}/models/repositories/muting.ts | 0 .../src}/models/repositories/note-favorite.ts | 0 .../src}/models/repositories/note-reaction.ts | 0 .../backend/src}/models/repositories/note.ts | 0 .../src}/models/repositories/notification.ts | 0 .../src}/models/repositories/page-like.ts | 0 .../backend/src}/models/repositories/page.ts | 0 .../backend/src}/models/repositories/queue.ts | 0 .../backend/src}/models/repositories/relay.ts | 0 .../src}/models/repositories/signin.ts | 0 .../repositories/user-group-invitation.ts | 0 .../src}/models/repositories/user-group.ts | 0 .../src}/models/repositories/user-list.ts | 0 .../backend/src}/models/repositories/user.ts | 0 .../backend/src}/prelude/README.md | 0 .../backend/src}/prelude/array.ts | 0 .../backend/src}/prelude/await-all.ts | 0 {src => packages/backend/src}/prelude/math.ts | 0 .../backend/src}/prelude/maybe.ts | 0 .../backend/src}/prelude/relation.ts | 0 .../backend/src}/prelude/string.ts | 0 .../backend/src}/prelude/symbol.ts | 0 {src => packages/backend/src}/prelude/time.ts | 0 {src => packages/backend/src}/prelude/url.ts | 0 {src => packages/backend/src}/prelude/xml.ts | 0 .../backend/src}/queue/get-job-info.ts | 0 {src => packages/backend/src}/queue/index.ts | 0 .../backend/src}/queue/initialize.ts | 0 {src => packages/backend/src}/queue/logger.ts | 0 .../queue/processors/db/delete-account.ts | 0 .../queue/processors/db/delete-drive-files.ts | 0 .../queue/processors/db/export-blocking.ts | 0 .../queue/processors/db/export-following.ts | 0 .../src}/queue/processors/db/export-mute.ts | 0 .../src}/queue/processors/db/export-notes.ts | 0 .../queue/processors/db/export-user-lists.ts | 0 .../queue/processors/db/import-blocking.ts | 4 +- .../queue/processors/db/import-following.ts | 4 +- .../src}/queue/processors/db/import-muting.ts | 4 +- .../queue/processors/db/import-user-lists.ts | 4 +- .../backend/src}/queue/processors/db/index.ts | 0 .../backend/src}/queue/processors/deliver.ts | 0 .../backend/src}/queue/processors/inbox.ts | 0 .../object-storage/clean-remote-files.ts | 0 .../processors/object-storage/delete-file.ts | 0 .../queue/processors/object-storage/index.ts | 0 .../src}/queue/processors/system/index.ts | 0 .../queue/processors/system/resync-charts.ts | 0 {src => packages/backend/src}/queue/queues.ts | 0 {src => packages/backend/src}/queue/types.ts | 0 .../src}/remote/activitypub/ap-request.ts | 0 .../src}/remote/activitypub/audience.ts | 0 .../src}/remote/activitypub/db-resolver.ts | 0 .../remote/activitypub/deliver-manager.ts | 0 .../activitypub/kernel/accept/follow.ts | 0 .../remote/activitypub/kernel/accept/index.ts | 0 .../remote/activitypub/kernel/add/index.ts | 0 .../activitypub/kernel/announce/index.ts | 0 .../activitypub/kernel/announce/note.ts | 0 .../remote/activitypub/kernel/block/index.ts | 0 .../remote/activitypub/kernel/create/index.ts | 0 .../remote/activitypub/kernel/create/note.ts | 0 .../remote/activitypub/kernel/delete/actor.ts | 0 .../remote/activitypub/kernel/delete/index.ts | 0 .../remote/activitypub/kernel/delete/note.ts | 0 .../remote/activitypub/kernel/flag/index.ts | 0 .../src}/remote/activitypub/kernel/follow.ts | 0 .../src}/remote/activitypub/kernel/index.ts | 0 .../src}/remote/activitypub/kernel/like.ts | 0 .../remote/activitypub/kernel/move/index.ts | 0 .../src}/remote/activitypub/kernel/read.ts | 0 .../activitypub/kernel/reject/follow.ts | 0 .../remote/activitypub/kernel/reject/index.ts | 0 .../remote/activitypub/kernel/remove/index.ts | 0 .../activitypub/kernel/undo/announce.ts | 0 .../remote/activitypub/kernel/undo/block.ts | 0 .../remote/activitypub/kernel/undo/follow.ts | 0 .../remote/activitypub/kernel/undo/index.ts | 0 .../remote/activitypub/kernel/undo/like.ts | 0 .../remote/activitypub/kernel/update/index.ts | 0 .../backend/src}/remote/activitypub/logger.ts | 0 .../src}/remote/activitypub/misc/contexts.ts | 0 .../remote/activitypub/misc/get-note-html.ts | 3 +- .../remote/activitypub/misc/html-to-mfm.ts | 0 .../remote/activitypub/misc/ld-signature.ts | 0 .../src}/remote/activitypub/models/icon.ts | 0 .../remote/activitypub/models/identifier.ts | 0 .../src}/remote/activitypub/models/image.ts | 0 .../src}/remote/activitypub/models/mention.ts | 0 .../src}/remote/activitypub/models/note.ts | 0 .../src}/remote/activitypub/models/person.ts | 0 .../remote/activitypub/models/question.ts | 0 .../src}/remote/activitypub/models/tag.ts | 0 .../src}/remote/activitypub/perform.ts | 0 .../remote/activitypub/renderer/accept.ts | 0 .../src}/remote/activitypub/renderer/add.ts | 0 .../remote/activitypub/renderer/announce.ts | 0 .../src}/remote/activitypub/renderer/block.ts | 0 .../remote/activitypub/renderer/create.ts | 0 .../remote/activitypub/renderer/delete.ts | 0 .../remote/activitypub/renderer/document.ts | 0 .../src}/remote/activitypub/renderer/emoji.ts | 0 .../activitypub/renderer/follow-relay.ts | 0 .../activitypub/renderer/follow-user.ts | 0 .../remote/activitypub/renderer/follow.ts | 0 .../remote/activitypub/renderer/hashtag.ts | 0 .../src}/remote/activitypub/renderer/image.ts | 0 .../src}/remote/activitypub/renderer/index.ts | 0 .../src}/remote/activitypub/renderer/key.ts | 0 .../src}/remote/activitypub/renderer/like.ts | 0 .../remote/activitypub/renderer/mention.ts | 0 .../src}/remote/activitypub/renderer/note.ts | 0 .../renderer/ordered-collection-page.ts | 0 .../renderer/ordered-collection.ts | 0 .../remote/activitypub/renderer/person.ts | 3 +- .../remote/activitypub/renderer/question.ts | 0 .../src}/remote/activitypub/renderer/read.ts | 0 .../remote/activitypub/renderer/reject.ts | 0 .../remote/activitypub/renderer/remove.ts | 0 .../remote/activitypub/renderer/tombstone.ts | 0 .../src}/remote/activitypub/renderer/undo.ts | 0 .../remote/activitypub/renderer/update.ts | 0 .../src}/remote/activitypub/renderer/vote.ts | 0 .../src}/remote/activitypub/request.ts | 0 .../src}/remote/activitypub/resolver.ts | 0 .../backend/src}/remote/activitypub/type.ts | 0 .../backend/src}/remote/logger.ts | 0 .../backend/src}/remote/resolve-user.ts | 0 .../backend/src}/remote/webfinger.ts | 0 .../backend/src}/server/activitypub.ts | 0 .../src}/server/activitypub/featured.ts | 0 .../src}/server/activitypub/followers.ts | 0 .../src}/server/activitypub/following.ts | 0 .../backend/src}/server/activitypub/outbox.ts | 0 .../backend/src}/server/api/2fa.ts | 0 .../backend/src}/server/api/api-handler.ts | 0 .../backend/src}/server/api/authenticate.ts | 0 .../backend/src}/server/api/call.ts | 0 .../server/api/common/generate-block-query.ts | 0 .../api/common/generate-channel-query.ts | 0 .../api/common/generate-muted-note-query.ts | 0 .../generate-muted-note-thread-query.ts | 0 .../api/common/generate-muted-user-query.ts | 0 .../api/common/generate-native-user-token.ts | 0 .../api/common/generate-replies-query.ts | 0 .../api/common/generate-visibility-query.ts | 0 .../backend/src}/server/api/common/getters.ts | 0 .../src}/server/api/common/inject-featured.ts | 0 .../src}/server/api/common/inject-promo.ts | 0 .../src}/server/api/common/is-native-token.ts | 0 .../api/common/make-pagination-query.ts | 0 .../api/common/read-messaging-message.ts | 0 .../server/api/common/read-notification.ts | 0 .../backend/src}/server/api/common/signin.ts | 0 .../backend/src}/server/api/common/signup.ts | 0 .../backend/src}/server/api/define.ts | 0 .../backend/src}/server/api/endpoints.ts | 0 .../api/endpoints/admin/abuse-user-reports.ts | 0 .../api/endpoints/admin/accounts/create.ts | 0 .../api/endpoints/admin/accounts/delete.ts | 0 .../server/api/endpoints/admin/ad/create.ts | 0 .../server/api/endpoints/admin/ad/delete.ts | 0 .../server/api/endpoints/admin/ad/list.ts | 0 .../server/api/endpoints/admin/ad/update.ts | 0 .../endpoints/admin/announcements/create.ts | 0 .../endpoints/admin/announcements/delete.ts | 0 .../api/endpoints/admin/announcements/list.ts | 0 .../endpoints/admin/announcements/update.ts | 0 .../admin/delete-all-files-of-a-user.ts | 0 .../server/api/endpoints/admin/delete-logs.ts | 0 .../admin/drive/clean-remote-files.ts | 0 .../api/endpoints/admin/drive/cleanup.ts | 0 .../server/api/endpoints/admin/drive/files.ts | 0 .../api/endpoints/admin/drive/show-file.ts | 0 .../server/api/endpoints/admin/emoji/add.ts | 0 .../server/api/endpoints/admin/emoji/copy.ts | 0 .../api/endpoints/admin/emoji/list-remote.ts | 0 .../server/api/endpoints/admin/emoji/list.ts | 0 .../api/endpoints/admin/emoji/remove.ts | 0 .../api/endpoints/admin/emoji/update.ts | 0 .../admin/federation/delete-all-files.ts | 0 .../refresh-remote-instance-metadata.ts | 0 .../admin/federation/remove-all-following.ts | 0 .../admin/federation/update-instance.ts | 0 .../api/endpoints/admin/get-index-stats.ts | 0 .../api/endpoints/admin/get-table-stats.ts | 0 .../src}/server/api/endpoints/admin/invite.ts | 0 .../api/endpoints/admin/moderators/add.ts | 0 .../api/endpoints/admin/moderators/remove.ts | 0 .../api/endpoints/admin/promo/create.ts | 0 .../server/api/endpoints/admin/queue/clear.ts | 0 .../endpoints/admin/queue/deliver-delayed.ts | 0 .../endpoints/admin/queue/inbox-delayed.ts | 0 .../server/api/endpoints/admin/queue/jobs.ts | 0 .../server/api/endpoints/admin/queue/stats.ts | 0 .../server/api/endpoints/admin/relays/add.ts | 0 .../server/api/endpoints/admin/relays/list.ts | 0 .../api/endpoints/admin/relays/remove.ts | 0 .../api/endpoints/admin/reset-password.ts | 0 .../admin/resolve-abuse-user-report.ts | 0 .../api/endpoints/admin/resync-chart.ts | 0 .../server/api/endpoints/admin/send-email.ts | 0 .../server/api/endpoints/admin/server-info.ts | 0 .../endpoints/admin/show-moderation-logs.ts | 0 .../server/api/endpoints/admin/show-user.ts | 0 .../server/api/endpoints/admin/show-users.ts | 0 .../api/endpoints/admin/silence-user.ts | 0 .../api/endpoints/admin/suspend-user.ts | 0 .../api/endpoints/admin/unsilence-user.ts | 0 .../api/endpoints/admin/unsuspend-user.ts | 0 .../server/api/endpoints/admin/update-meta.ts | 0 .../src}/server/api/endpoints/admin/vacuum.ts | 0 .../server/api/endpoints/announcements.ts | 0 .../server/api/endpoints/antennas/create.ts | 0 .../server/api/endpoints/antennas/delete.ts | 0 .../server/api/endpoints/antennas/list.ts | 0 .../server/api/endpoints/antennas/notes.ts | 0 .../server/api/endpoints/antennas/show.ts | 0 .../server/api/endpoints/antennas/update.ts | 0 .../src}/server/api/endpoints/ap/get.ts | 0 .../src}/server/api/endpoints/ap/show.ts | 0 .../src}/server/api/endpoints/app/create.ts | 0 .../src}/server/api/endpoints/app/show.ts | 0 .../src}/server/api/endpoints/auth/accept.ts | 0 .../api/endpoints/auth/session/generate.ts | 0 .../server/api/endpoints/auth/session/show.ts | 0 .../api/endpoints/auth/session/userkey.ts | 0 .../server/api/endpoints/blocking/create.ts | 0 .../server/api/endpoints/blocking/delete.ts | 0 .../server/api/endpoints/blocking/list.ts | 0 .../server/api/endpoints/channels/create.ts | 0 .../server/api/endpoints/channels/featured.ts | 0 .../server/api/endpoints/channels/follow.ts | 0 .../server/api/endpoints/channels/followed.ts | 0 .../server/api/endpoints/channels/owned.ts | 0 .../server/api/endpoints/channels/pin-note.ts | 0 .../server/api/endpoints/channels/show.ts | 0 .../server/api/endpoints/channels/timeline.ts | 0 .../server/api/endpoints/channels/unfollow.ts | 0 .../server/api/endpoints/channels/update.ts | 0 .../api/endpoints/charts/active-users.ts | 0 .../src}/server/api/endpoints/charts/drive.ts | 0 .../server/api/endpoints/charts/federation.ts | 0 .../server/api/endpoints/charts/hashtag.ts | 0 .../server/api/endpoints/charts/instance.ts | 0 .../server/api/endpoints/charts/network.ts | 0 .../src}/server/api/endpoints/charts/notes.ts | 0 .../server/api/endpoints/charts/user/drive.ts | 0 .../api/endpoints/charts/user/following.ts | 0 .../server/api/endpoints/charts/user/notes.ts | 0 .../api/endpoints/charts/user/reactions.ts | 0 .../src}/server/api/endpoints/charts/users.ts | 0 .../server/api/endpoints/clips/add-note.ts | 0 .../src}/server/api/endpoints/clips/create.ts | 0 .../src}/server/api/endpoints/clips/delete.ts | 0 .../src}/server/api/endpoints/clips/list.ts | 0 .../src}/server/api/endpoints/clips/notes.ts | 0 .../src}/server/api/endpoints/clips/show.ts | 0 .../src}/server/api/endpoints/clips/update.ts | 0 .../src}/server/api/endpoints/drive.ts | 0 .../src}/server/api/endpoints/drive/files.ts | 0 .../endpoints/drive/files/attached-notes.ts | 0 .../endpoints/drive/files/check-existence.ts | 0 .../api/endpoints/drive/files/create.ts | 0 .../api/endpoints/drive/files/delete.ts | 0 .../api/endpoints/drive/files/find-by-hash.ts | 0 .../server/api/endpoints/drive/files/find.ts | 0 .../server/api/endpoints/drive/files/show.ts | 0 .../api/endpoints/drive/files/update.ts | 0 .../endpoints/drive/files/upload-from-url.ts | 0 .../server/api/endpoints/drive/folders.ts | 0 .../api/endpoints/drive/folders/create.ts | 0 .../api/endpoints/drive/folders/delete.ts | 0 .../api/endpoints/drive/folders/find.ts | 0 .../api/endpoints/drive/folders/show.ts | 0 .../api/endpoints/drive/folders/update.ts | 0 .../src}/server/api/endpoints/drive/stream.ts | 0 .../api/endpoints/email-address/available.ts | 0 .../src}/server/api/endpoints/endpoint.ts | 0 .../src}/server/api/endpoints/endpoints.ts | 0 .../server/api/endpoints/federation/dns.ts | 0 .../api/endpoints/federation/followers.ts | 0 .../api/endpoints/federation/following.ts | 0 .../api/endpoints/federation/instances.ts | 0 .../api/endpoints/federation/show-instance.ts | 0 .../federation/update-remote-user.ts | 0 .../server/api/endpoints/federation/users.ts | 0 .../server/api/endpoints/following/create.ts | 0 .../server/api/endpoints/following/delete.ts | 0 .../endpoints/following/requests/accept.ts | 0 .../endpoints/following/requests/cancel.ts | 0 .../api/endpoints/following/requests/list.ts | 0 .../endpoints/following/requests/reject.ts | 0 .../server/api/endpoints/gallery/featured.ts | 0 .../server/api/endpoints/gallery/popular.ts | 0 .../server/api/endpoints/gallery/posts.ts | 0 .../api/endpoints/gallery/posts/create.ts | 0 .../api/endpoints/gallery/posts/delete.ts | 0 .../api/endpoints/gallery/posts/like.ts | 0 .../api/endpoints/gallery/posts/show.ts | 0 .../api/endpoints/gallery/posts/unlike.ts | 0 .../api/endpoints/gallery/posts/update.ts | 0 .../api/endpoints/games/reversi/games.ts | 0 .../api/endpoints/games/reversi/games/show.ts | 0 .../games/reversi/games/surrender.ts | 0 .../endpoints/games/reversi/invitations.ts | 0 .../api/endpoints/games/reversi/match.ts | 0 .../endpoints/games/reversi/match/cancel.ts | 0 .../api/endpoints/get-online-users-count.ts | 0 .../server/api/endpoints/hashtags/list.ts | 0 .../server/api/endpoints/hashtags/search.ts | 0 .../server/api/endpoints/hashtags/show.ts | 0 .../server/api/endpoints/hashtags/trend.ts | 0 .../server/api/endpoints/hashtags/users.ts | 0 .../backend/src}/server/api/endpoints/i.ts | 0 .../src}/server/api/endpoints/i/2fa/done.ts | 0 .../server/api/endpoints/i/2fa/key-done.ts | 0 .../api/endpoints/i/2fa/password-less.ts | 0 .../api/endpoints/i/2fa/register-key.ts | 0 .../server/api/endpoints/i/2fa/register.ts | 0 .../server/api/endpoints/i/2fa/remove-key.ts | 0 .../server/api/endpoints/i/2fa/unregister.ts | 0 .../src}/server/api/endpoints/i/apps.ts | 0 .../server/api/endpoints/i/authorized-apps.ts | 0 .../server/api/endpoints/i/change-password.ts | 0 .../server/api/endpoints/i/delete-account.ts | 0 .../server/api/endpoints/i/export-blocking.ts | 0 .../api/endpoints/i/export-following.ts | 0 .../server/api/endpoints/i/export-mute.ts | 0 .../server/api/endpoints/i/export-notes.ts | 0 .../api/endpoints/i/export-user-lists.ts | 0 .../src}/server/api/endpoints/i/favorites.ts | 0 .../server/api/endpoints/i/gallery/likes.ts | 0 .../server/api/endpoints/i/gallery/posts.ts | 0 .../endpoints/i/get-word-muted-notes-count.ts | 0 .../server/api/endpoints/i/import-blocking.ts | 0 .../api/endpoints/i/import-following.ts | 0 .../server/api/endpoints/i/import-muting.ts | 0 .../api/endpoints/i/import-user-lists.ts | 0 .../server/api/endpoints/i/notifications.ts | 0 .../src}/server/api/endpoints/i/page-likes.ts | 0 .../src}/server/api/endpoints/i/pages.ts | 0 .../src}/server/api/endpoints/i/pin.ts | 0 .../i/read-all-messaging-messages.ts | 0 .../api/endpoints/i/read-all-unread-notes.ts | 0 .../api/endpoints/i/read-announcement.ts | 0 .../api/endpoints/i/regenerate-token.ts | 0 .../api/endpoints/i/registry/get-all.ts | 0 .../api/endpoints/i/registry/get-detail.ts | 0 .../server/api/endpoints/i/registry/get.ts | 0 .../endpoints/i/registry/keys-with-type.ts | 0 .../server/api/endpoints/i/registry/keys.ts | 0 .../server/api/endpoints/i/registry/remove.ts | 0 .../server/api/endpoints/i/registry/scopes.ts | 0 .../server/api/endpoints/i/registry/set.ts | 0 .../server/api/endpoints/i/revoke-token.ts | 0 .../server/api/endpoints/i/signin-history.ts | 0 .../src}/server/api/endpoints/i/unpin.ts | 0 .../server/api/endpoints/i/update-email.ts | 0 .../src}/server/api/endpoints/i/update.ts | 0 .../api/endpoints/i/user-group-invites.ts | 0 .../server/api/endpoints/messaging/history.ts | 0 .../api/endpoints/messaging/messages.ts | 0 .../endpoints/messaging/messages/create.ts | 0 .../endpoints/messaging/messages/delete.ts | 0 .../api/endpoints/messaging/messages/read.ts | 0 .../backend/src}/server/api/endpoints/meta.ts | 0 .../server/api/endpoints/miauth/gen-token.ts | 0 .../src}/server/api/endpoints/mute/create.ts | 0 .../src}/server/api/endpoints/mute/delete.ts | 0 .../src}/server/api/endpoints/mute/list.ts | 0 .../src}/server/api/endpoints/my/apps.ts | 0 .../src}/server/api/endpoints/notes.ts | 0 .../server/api/endpoints/notes/children.ts | 0 .../src}/server/api/endpoints/notes/clips.ts | 0 .../api/endpoints/notes/conversation.ts | 0 .../src}/server/api/endpoints/notes/create.ts | 0 .../src}/server/api/endpoints/notes/delete.ts | 0 .../api/endpoints/notes/favorites/create.ts | 0 .../api/endpoints/notes/favorites/delete.ts | 0 .../server/api/endpoints/notes/featured.ts | 0 .../api/endpoints/notes/global-timeline.ts | 0 .../api/endpoints/notes/hybrid-timeline.ts | 0 .../api/endpoints/notes/local-timeline.ts | 0 .../server/api/endpoints/notes/mentions.ts | 0 .../endpoints/notes/polls/recommendation.ts | 0 .../server/api/endpoints/notes/polls/vote.ts | 0 .../server/api/endpoints/notes/reactions.ts | 0 .../api/endpoints/notes/reactions/create.ts | 0 .../api/endpoints/notes/reactions/delete.ts | 0 .../server/api/endpoints/notes/renotes.ts | 0 .../server/api/endpoints/notes/replies.ts | 0 .../api/endpoints/notes/search-by-tag.ts | 0 .../src}/server/api/endpoints/notes/search.ts | 0 .../src}/server/api/endpoints/notes/show.ts | 0 .../src}/server/api/endpoints/notes/state.ts | 0 .../endpoints/notes/thread-muting/create.ts | 0 .../endpoints/notes/thread-muting/delete.ts | 0 .../server/api/endpoints/notes/timeline.ts | 0 .../server/api/endpoints/notes/translate.ts | 0 .../server/api/endpoints/notes/unrenote.ts | 0 .../api/endpoints/notes/user-list-timeline.ts | 0 .../api/endpoints/notes/watching/create.ts | 0 .../api/endpoints/notes/watching/delete.ts | 0 .../api/endpoints/notifications/create.ts | 0 .../notifications/mark-all-as-read.ts | 0 .../api/endpoints/notifications/read.ts | 0 .../src}/server/api/endpoints/page-push.ts | 0 .../src}/server/api/endpoints/pages/create.ts | 0 .../src}/server/api/endpoints/pages/delete.ts | 0 .../server/api/endpoints/pages/featured.ts | 0 .../src}/server/api/endpoints/pages/like.ts | 0 .../src}/server/api/endpoints/pages/show.ts | 0 .../src}/server/api/endpoints/pages/unlike.ts | 0 .../src}/server/api/endpoints/pages/update.ts | 0 .../backend/src}/server/api/endpoints/ping.ts | 0 .../src}/server/api/endpoints/pinned-users.ts | 4 +- .../src}/server/api/endpoints/promo/read.ts | 0 .../api/endpoints/request-reset-password.ts | 0 .../src}/server/api/endpoints/reset-db.ts | 0 .../server/api/endpoints/reset-password.ts | 0 .../src}/server/api/endpoints/room/show.ts | 0 .../src}/server/api/endpoints/room/update.ts | 0 .../src}/server/api/endpoints/server-info.ts | 0 .../src}/server/api/endpoints/stats.ts | 0 .../src}/server/api/endpoints/sw/register.ts | 0 .../server/api/endpoints/sw/unregister.ts | 0 .../api/endpoints/username/available.ts | 0 .../src}/server/api/endpoints/users.ts | 0 .../src}/server/api/endpoints/users/clips.ts | 0 .../server/api/endpoints/users/followers.ts | 0 .../server/api/endpoints/users/following.ts | 0 .../api/endpoints/users/gallery/posts.ts | 0 .../users/get-frequently-replied-users.ts | 0 .../api/endpoints/users/groups/create.ts | 0 .../api/endpoints/users/groups/delete.ts | 0 .../users/groups/invitations/accept.ts | 0 .../users/groups/invitations/reject.ts | 0 .../api/endpoints/users/groups/invite.ts | 0 .../api/endpoints/users/groups/joined.ts | 0 .../api/endpoints/users/groups/leave.ts | 0 .../api/endpoints/users/groups/owned.ts | 0 .../server/api/endpoints/users/groups/pull.ts | 0 .../server/api/endpoints/users/groups/show.ts | 0 .../api/endpoints/users/groups/transfer.ts | 0 .../api/endpoints/users/groups/update.ts | 0 .../api/endpoints/users/lists/create.ts | 0 .../api/endpoints/users/lists/delete.ts | 0 .../server/api/endpoints/users/lists/list.ts | 0 .../server/api/endpoints/users/lists/pull.ts | 0 .../server/api/endpoints/users/lists/push.ts | 0 .../server/api/endpoints/users/lists/show.ts | 0 .../api/endpoints/users/lists/update.ts | 0 .../src}/server/api/endpoints/users/notes.ts | 0 .../src}/server/api/endpoints/users/pages.ts | 0 .../server/api/endpoints/users/reactions.ts | 0 .../api/endpoints/users/recommendation.ts | 0 .../server/api/endpoints/users/relation.ts | 0 .../api/endpoints/users/report-abuse.ts | 0 .../users/search-by-username-and-host.ts | 0 .../src}/server/api/endpoints/users/search.ts | 0 .../src}/server/api/endpoints/users/show.ts | 0 .../src}/server/api/endpoints/users/stats.ts | 0 .../backend/src}/server/api/error.ts | 0 .../backend/src}/server/api/index.ts | 0 .../backend/src}/server/api/limiter.ts | 6 +- .../backend/src}/server/api/logger.ts | 0 .../backend/src}/server/api/openapi/errors.ts | 0 .../src}/server/api/openapi/gen-spec.ts | 2 - .../src}/server/api/openapi/schemas.ts | 0 .../backend/src}/server/api/private/signin.ts | 0 .../src}/server/api/private/signup-pending.ts | 0 .../backend/src}/server/api/private/signup.ts | 0 .../src}/server/api/service/discord.ts | 0 .../backend/src}/server/api/service/github.ts | 0 .../src}/server/api/service/twitter.ts | 0 .../backend/src}/server/api/stream/channel.ts | 0 .../src}/server/api/stream/channels/admin.ts | 0 .../server/api/stream/channels/antenna.ts | 0 .../server/api/stream/channels/channel.ts | 0 .../src}/server/api/stream/channels/drive.ts | 0 .../api/stream/channels/games/reversi-game.ts | 0 .../api/stream/channels/games/reversi.ts | 0 .../api/stream/channels/global-timeline.ts | 0 .../server/api/stream/channels/hashtag.ts | 0 .../api/stream/channels/home-timeline.ts | 0 .../api/stream/channels/hybrid-timeline.ts | 0 .../src}/server/api/stream/channels/index.ts | 0 .../api/stream/channels/local-timeline.ts | 0 .../src}/server/api/stream/channels/main.ts | 0 .../api/stream/channels/messaging-index.ts | 0 .../server/api/stream/channels/messaging.ts | 0 .../server/api/stream/channels/queue-stats.ts | 0 .../api/stream/channels/server-stats.ts | 0 .../server/api/stream/channels/user-list.ts | 0 .../backend/src}/server/api/stream/index.ts | 0 .../backend/src}/server/api/stream/types.ts | 0 .../backend/src}/server/api/streaming.ts | 0 .../src}/server/file/assets/bad-egg.png | 0 .../src}/server/file/assets/cache-expired.png | 0 .../backend/src}/server/file/assets/dummy.png | 0 .../src}/server/file/assets/not-an-image.png | 0 .../file/assets/thumbnail-not-available.png | 0 .../src}/server/file/assets/tombstone.png | 0 .../backend/src}/server/file/index.ts | 0 .../src}/server/file/send-drive-file.ts | 0 {src => packages/backend/src}/server/index.ts | 4 +- .../backend/src}/server/nodeinfo.ts | 0 .../backend/src}/server/proxy/index.ts | 0 .../backend/src}/server/proxy/proxy-media.ts | 0 .../backend/src}/server/web/bios.css | 0 .../backend/src}/server/web/bios.js | 0 .../backend/src}/server/web/boot.js | 0 .../backend/src}/server/web/cli.css | 0 .../backend/src}/server/web/cli.js | 0 .../backend/src}/server/web/feed.ts | 0 .../backend/src}/server/web/index.ts | 19 +- .../backend/src}/server/web/manifest.json | 0 .../backend/src}/server/web/manifest.ts | 0 .../backend/src}/server/web/style.css | 0 .../backend/src}/server/web/url-preview.ts | 0 .../backend/src}/server/web/views/base.pug | 0 .../backend/src}/server/web/views/bios.pug | 0 .../backend/src}/server/web/views/channel.pug | 0 .../backend/src}/server/web/views/cli.pug | 0 .../backend/src}/server/web/views/clip.pug | 0 .../backend/src}/server/web/views/flush.pug | 0 .../src}/server/web/views/gallery-post.pug | 0 .../src}/server/web/views/info-card.pug | 0 .../backend/src}/server/web/views/note.pug | 0 .../backend/src}/server/web/views/page.pug | 0 .../backend/src}/server/web/views/user.pug | 0 .../backend/src}/server/well-known.ts | 6 +- .../src}/services/add-note-to-antenna.ts | 0 .../backend/src}/services/blocking/create.ts | 0 .../backend/src}/services/blocking/delete.ts | 0 .../chart/charts/classes/active-users.ts | 0 .../services/chart/charts/classes/drive.ts | 0 .../chart/charts/classes/federation.ts | 0 .../services/chart/charts/classes/hashtag.ts | 0 .../services/chart/charts/classes/instance.ts | 0 .../services/chart/charts/classes/network.ts | 0 .../services/chart/charts/classes/notes.ts | 0 .../chart/charts/classes/per-user-drive.ts | 0 .../charts/classes/per-user-following.ts | 0 .../chart/charts/classes/per-user-notes.ts | 0 .../charts/classes/per-user-reactions.ts | 0 .../chart/charts/classes/test-grouped.ts | 0 .../chart/charts/classes/test-unique.ts | 0 .../services/chart/charts/classes/test.ts | 0 .../services/chart/charts/classes/users.ts | 0 .../chart/charts/schemas/active-users.ts | 0 .../services/chart/charts/schemas/drive.ts | 0 .../chart/charts/schemas/federation.ts | 0 .../services/chart/charts/schemas/hashtag.ts | 0 .../services/chart/charts/schemas/instance.ts | 0 .../services/chart/charts/schemas/network.ts | 0 .../services/chart/charts/schemas/notes.ts | 0 .../chart/charts/schemas/per-user-drive.ts | 0 .../charts/schemas/per-user-following.ts | 0 .../chart/charts/schemas/per-user-notes.ts | 0 .../charts/schemas/per-user-reactions.ts | 0 .../chart/charts/schemas/test-grouped.ts | 0 .../chart/charts/schemas/test-unique.ts | 0 .../services/chart/charts/schemas/test.ts | 0 .../services/chart/charts/schemas/users.ts | 0 .../backend/src}/services/chart/core.ts | 0 .../backend/src}/services/chart/entities.ts | 0 .../backend/src}/services/chart/index.ts | 0 .../src}/services/create-notification.ts | 0 .../src}/services/create-system-user.ts | 0 .../backend/src}/services/drive/add-file.ts | 0 .../src}/services/drive/delete-file.ts | 0 .../drive/generate-video-thumbnail.ts | 0 .../src}/services/drive/image-processor.ts | 0 .../src}/services/drive/internal-storage.ts | 2 +- .../backend/src}/services/drive/logger.ts | 0 .../backend/src}/services/drive/s3.ts | 0 .../src}/services/drive/upload-from-url.ts | 0 .../src}/services/fetch-instance-metadata.ts | 0 .../backend/src}/services/following/create.ts | 0 .../backend/src}/services/following/delete.ts | 0 .../services/following/requests/accept-all.ts | 0 .../services/following/requests/accept.ts | 0 .../services/following/requests/cancel.ts | 0 .../services/following/requests/create.ts | 0 .../services/following/requests/reject.ts | 0 .../backend/src}/services/i/pin.ts | 0 .../backend/src}/services/i/update.ts | 0 .../src}/services/insert-moderation-log.ts | 0 .../backend/src}/services/instance-actor.ts | 0 .../backend/src}/services/logger.ts | 2 +- .../backend/src}/services/messages/create.ts | 0 .../backend/src}/services/messages/delete.ts | 0 .../backend/src}/services/note/create.ts | 7 +- .../backend/src}/services/note/delete.ts | 0 .../src}/services/note/polls/update.ts | 0 .../backend/src}/services/note/polls/vote.ts | 0 .../src}/services/note/reaction/create.ts | 0 .../src}/services/note/reaction/delete.ts | 0 .../backend/src}/services/note/read.ts | 0 .../backend/src}/services/note/unread.ts | 0 .../backend/src}/services/note/unwatch.ts | 0 .../backend/src}/services/note/watch.ts | 0 .../src}/services/push-notification.ts | 0 .../register-or-fetch-instance-doc.ts | 0 .../backend/src}/services/relay.ts | 0 .../src}/services/send-email-notification.ts | 8 +- .../backend/src}/services/send-email.ts | 0 .../backend/src}/services/stream.ts | 0 .../backend/src}/services/suspend-user.ts | 0 .../backend/src}/services/unsuspend-user.ts | 0 .../backend/src}/services/update-hashtag.ts | 0 .../backend/src}/services/user-list/push.ts | 0 .../services/validate-email-for-account.ts | 0 {src => packages/backend/src}/types.ts | 0 packages/backend/tools/accept-migration.js | 26 + .../backend/tools/accept-migration.js.map | 1 + .../backend}/tools/accept-migration.ts | 0 packages/backend/tools/add-emoji.js | 30 + packages/backend/tools/add-emoji.js.map | 1 + {src => packages/backend}/tools/add-emoji.ts | 0 packages/backend/tools/demote-admin.js | 30 + packages/backend/tools/demote-admin.js.map | 1 + .../backend}/tools/demote-admin.ts | 0 packages/backend/tools/mark-admin.js | 30 + packages/backend/tools/mark-admin.js.map | 1 + {src => packages/backend}/tools/mark-admin.ts | 0 packages/backend/tools/refresh-question.js | 14 + .../backend/tools/refresh-question.js.map | 1 + .../backend}/tools/refresh-question.ts | 0 packages/backend/tools/resync-remote-user.js | 26 + .../backend/tools/resync-remote-user.js.map | 1 + .../backend}/tools/resync-remote-user.ts | 4 +- packages/backend/tools/show-signin-history.js | 47 + .../backend/tools/show-signin-history.js.map | 1 + .../backend}/tools/show-signin-history.ts | 0 {src => packages/backend}/tsconfig.json | 15 +- packages/backend/yarn.lock | 8274 +++++++++++++++++ {src => packages}/client/.eslintrc | 2 +- packages/client/.npmrc | 2 + {src => packages}/client/@types/global.d.ts | 2 + {src => packages}/client/@types/vue.d.ts | 0 .../client/assets}/about-icon.png | 0 .../client/assets}/fedi.jpg | 0 .../client/assets}/label-red.svg | 0 .../client/assets}/label.svg | 0 .../client/assets}/misskey.svg | 0 .../client/assets}/remove.png | 0 .../room/furnitures/banknote/banknote.blend | 0 .../room/furnitures/banknote/banknote.glb | 0 .../assets}/room/furnitures/banknote/tex.png | 0 .../assets}/room/furnitures/bed/bed.blend | 0 .../assets}/room/furnitures/bed/bed.glb | 0 .../assets}/room/furnitures/bin/bin.blend | 0 .../assets}/room/furnitures/bin/bin.glb | 0 .../assets}/room/furnitures/book/book.blend | 0 .../assets}/room/furnitures/book/book.glb | 0 .../assets}/room/furnitures/book2/barcode.png | 0 .../assets}/room/furnitures/book2/book2.blend | 0 .../assets}/room/furnitures/book2/book2.glb | 0 .../room/furnitures/book2/texture.afdesign | 0 .../assets}/room/furnitures/book2/texture.png | 0 .../assets}/room/furnitures/book2/uv.png | 0 .../cardboard-box/cardboard-box.blend | 0 .../cardboard-box/cardboard-box.glb | 0 .../cardboard-box2/cardboard-box2.blend | 0 .../cardboard-box2/cardboard-box2.glb | 0 .../furnitures/cardboard-box2/texture.png | 0 .../room/furnitures/cardboard-box2/uv.png | 0 .../cardboard-box3/cardboard-box3.blend | 0 .../cardboard-box3/cardboard-box3.glb | 0 .../furnitures/cardboard-box3/texture.png | 0 .../furnitures/cardboard-box3/texture.xcf | 0 .../room/furnitures/cardboard-box3/uv.png | 0 .../carpet-stripe/carpet-stripe.blend | 0 .../carpet-stripe/carpet-stripe.glb | 0 .../assets}/room/furnitures/chair/chair.blend | 0 .../assets}/room/furnitures/chair/chair.glb | 0 .../room/furnitures/chair2/chair2.blend | 0 .../assets}/room/furnitures/chair2/chair2.glb | 0 .../room/furnitures/color-box/color-box.blend | 0 .../room/furnitures/color-box/color-box.glb | 0 .../room/furnitures/corkboard/corkboard.blend | 0 .../room/furnitures/corkboard/corkboard.glb | 0 .../assets}/room/furnitures/cube/cube.blend | 0 .../assets}/room/furnitures/cube/cube.glb | 0 .../furnitures/cup-noodle/cup-noodle.blend | 0 .../room/furnitures/cup-noodle/cup-noodle.glb | 0 .../room/furnitures/cup-noodle/noodle.png | 0 .../assets}/room/furnitures/desk/desk.blend | 0 .../assets}/room/furnitures/desk/desk.glb | 0 .../room/furnitures/doll-ai/doll-ai.blend | 0 .../room/furnitures/doll-ai/doll-ai.glb | 0 .../room/furnitures/doll-ai/doll_ai_tex.png | 0 .../energy-drink/energy-drink.blend | 0 .../furnitures/energy-drink/energy-drink.glb | 0 .../furnitures/energy-drink/texture.afdesign | 0 .../room/furnitures/energy-drink/texture.png | 0 .../room/furnitures/energy-drink/uv.png | 0 .../assets}/room/furnitures/eraser/cover.png | 0 .../assets}/room/furnitures/eraser/cover.psd | 0 .../room/furnitures/eraser/eraser-uv.png | 0 .../room/furnitures/eraser/eraser.blend | 0 .../assets}/room/furnitures/eraser/eraser.glb | 0 .../facial-tissue/facial-tissue-uv.png | 0 .../facial-tissue/facial-tissue.blend | 0 .../facial-tissue/facial-tissue.glb | 0 .../facial-tissue/facial-tissue.png | 0 .../facial-tissue/facial-tissue.psd | 0 .../assets}/room/furnitures/fan/fan.blend | 0 .../assets}/room/furnitures/fan/fan.glb | 0 .../holo-display/holo-display.blend | 0 .../furnitures/holo-display/holo-display.glb | 0 .../room/furnitures/holo-display/ray-uv.png | 0 .../room/furnitures/holo-display/ray.png | 0 .../room/furnitures/keyboard/keyboard.blend | 0 .../room/furnitures/keyboard/keyboard.glb | 0 .../room/furnitures/low-table/low-table.blend | 0 .../room/furnitures/low-table/low-table.glb | 0 .../assets}/room/furnitures/mat/mat.blend | 0 .../assets}/room/furnitures/mat/mat.glb | 0 .../assets}/room/furnitures/milk/milk-uv.png | 0 .../assets}/room/furnitures/milk/milk.blend | 0 .../assets}/room/furnitures/milk/milk.glb | 0 .../assets}/room/furnitures/milk/milk.png | 0 .../assets}/room/furnitures/milk/milk.psd | 0 .../room/furnitures/monitor/monitor.blend | 0 .../room/furnitures/monitor/monitor.glb | 0 .../room/furnitures/monitor/monitor.psd | 0 .../room/furnitures/monitor/screen-uv.png | 0 .../room/furnitures/monitor/screen.jpg | 0 .../assets}/room/furnitures/moon/moon.blend | 0 .../assets}/room/furnitures/moon/moon.glb | 0 .../assets}/room/furnitures/moon/moon.jpg | 0 .../room/furnitures/mousepad/mousepad.blend | 0 .../room/furnitures/mousepad/mousepad.glb | 0 .../room/furnitures/pc/motherboard-uv.png | 0 .../room/furnitures/pc/motherboard-uv.psd | 0 .../room/furnitures/pc/motherboard.jpg | 0 .../assets}/room/furnitures/pc/pc.blend | 0 .../client/assets}/room/furnitures/pc/pc.glb | 0 .../room/furnitures/pencil/pencil.blend | 0 .../assets}/room/furnitures/pencil/pencil.glb | 0 .../room/furnitures/photoframe/photo-uv.png | 0 .../room/furnitures/photoframe/photo.jpg | 0 .../furnitures/photoframe/photoframe.blend | 0 .../room/furnitures/photoframe/photoframe.glb | 0 .../assets}/room/furnitures/piano/piano.blend | 0 .../assets}/room/furnitures/piano/piano.glb | 0 .../room/furnitures/pinguin/pinguin.blend | 0 .../room/furnitures/pinguin/pinguin.glb | 0 .../room/furnitures/plant/plant-soil-uv.png | 0 .../room/furnitures/plant/plant-soil.png | 0 .../room/furnitures/plant/plant-soil.psd | 0 .../assets}/room/furnitures/plant/plant.blend | 0 .../assets}/room/furnitures/plant/plant.glb | 0 .../room/furnitures/plant2/plant2.blend | 0 .../assets}/room/furnitures/plant2/plant2.glb | 0 .../assets}/room/furnitures/plant2/soil.png | 0 .../room/furnitures/poster-h/poster-h.blend | 0 .../room/furnitures/poster-h/poster-h.glb | 0 .../assets}/room/furnitures/poster-h/uv.png | 0 .../room/furnitures/poster-v/poster-v.blend | 0 .../room/furnitures/poster-v/poster-v.glb | 0 .../assets}/room/furnitures/poster-v/uv.png | 0 .../room/furnitures/pudding/pudding.blend | 0 .../room/furnitures/pudding/pudding.glb | 0 .../furnitures/rubik-cube/rubik-cube.blend | 0 .../room/furnitures/rubik-cube/rubik-cube.glb | 0 .../room/furnitures/server/rack-uv.png | 0 .../assets}/room/furnitures/server/rack.png | 0 .../room/furnitures/server/server.blend | 0 .../assets}/room/furnitures/server/server.glb | 0 .../assets}/room/furnitures/server/server.png | 0 .../assets}/room/furnitures/server/uv.png | 0 .../assets}/room/furnitures/sofa/sofa.blend | 0 .../assets}/room/furnitures/sofa/sofa.glb | 0 .../room/furnitures/spiral/spiral.blend | 0 .../assets}/room/furnitures/spiral/spiral.glb | 0 .../assets}/room/furnitures/tv/screen-uv.png | 0 .../assets}/room/furnitures/tv/tv.blend | 0 .../client/assets}/room/furnitures/tv/tv.glb | 0 .../furnitures/wall-clock/wall-clock.blend | 0 .../room/furnitures/wall-clock/wall-clock.glb | 0 .../assets}/room/rooms/default/default.blend | 0 .../assets}/room/rooms/default/default.glb | 0 .../assets}/room/rooms/washitsu/husuma-uv.png | 0 .../assets}/room/rooms/washitsu/husuma.png | 0 .../room/rooms/washitsu/tatami-single1600.png | 0 .../assets}/room/rooms/washitsu/tatami-uv.png | 0 .../room/rooms/washitsu/tatami.afdesign | 0 .../assets}/room/rooms/washitsu/tatami.png | 0 .../room/rooms/washitsu/washitsu.blend | 0 .../assets}/room/rooms/washitsu/washitsu.glb | 0 .../client/assets}/sounds/aisha/1.mp3 | 0 .../client/assets}/sounds/aisha/2.mp3 | 0 .../client/assets}/sounds/aisha/3.mp3 | 0 .../assets}/sounds/noizenecio/kick_gaba.mp3 | 0 .../assets}/sounds/noizenecio/kick_gaba2.mp3 | 0 .../client/assets}/sounds/syuilo/down.mp3 | 0 .../client/assets}/sounds/syuilo/kick.mp3 | 0 .../sounds/syuilo/pirori-square-wet.mp3 | 0 .../assets}/sounds/syuilo/pirori-wet.mp3 | 0 .../client/assets}/sounds/syuilo/pirori.mp3 | 0 .../client/assets}/sounds/syuilo/poi1.mp3 | 0 .../client/assets}/sounds/syuilo/poi2.mp3 | 0 .../client/assets}/sounds/syuilo/pope1.mp3 | 0 .../client/assets}/sounds/syuilo/pope2.mp3 | 0 .../client/assets}/sounds/syuilo/popo.mp3 | 0 .../assets}/sounds/syuilo/queue-jammed.mp3 | 0 .../client/assets}/sounds/syuilo/reverved.mp3 | 0 .../client/assets}/sounds/syuilo/ryukyu.mp3 | 0 .../client/assets}/sounds/syuilo/snare.mp3 | 0 .../assets}/sounds/syuilo/square-pico.mp3 | 0 .../client/assets}/sounds/syuilo/triple.mp3 | 0 .../client/assets}/sounds/syuilo/up.mp3 | 0 .../client/assets}/sounds/syuilo/waon.mp3 | 0 .../client/assets}/sparkle-spritesheet.png | 0 .../client/assets}/unread.svg | 0 packages/client/package.json | 163 + .../client => packages/client/src}/account.ts | 12 +- .../src}/components/abuse-report-window.vue | 8 +- .../client/src}/components/analog-clock.vue | 0 .../client/src}/components/autocomplete.vue | 17 +- .../client/src}/components/avatars.vue | 2 +- .../client/src}/components/captcha.vue | 0 .../src}/components/channel-follow-button.vue | 2 +- .../src}/components/channel-preview.vue | 0 .../client/src}/components/chart.vue | 4 +- .../client/src}/components/code-core.vue | 0 .../client/src}/components/code.vue | 0 .../client/src}/components/cw-button.vue | 2 +- .../src}/components/date-separated-list.vue | 2 +- .../src}/components/debobigego/base.vue | 0 .../src}/components/debobigego/button.vue | 0 .../components/debobigego/debobigego.scss | 0 .../src}/components/debobigego/group.vue | 0 .../src}/components/debobigego/info.vue | 0 .../src}/components/debobigego/input.vue | 0 .../components/debobigego/key-value-view.vue | 0 .../src}/components/debobigego/link.vue | 0 .../components/debobigego/object-view.vue | 0 .../src}/components/debobigego/pagination.vue | 2 +- .../src}/components/debobigego/radios.vue | 2 +- .../src}/components/debobigego/range.vue | 0 .../src}/components/debobigego/select.vue | 0 .../src}/components/debobigego/suspense.vue | 2 +- .../src}/components/debobigego/switch.vue | 0 .../src}/components/debobigego/textarea.vue | 0 .../src}/components/debobigego/tuple.vue | 0 .../client/src}/components/dialog.vue | 8 +- .../src}/components/drive-file-thumbnail.vue | 4 +- .../src}/components/drive-select-dialog.vue | 4 +- .../client/src}/components/drive-window.vue | 2 +- .../client/src}/components/drive.file.vue | 14 +- .../client/src}/components/drive.folder.vue | 2 +- .../src}/components/drive.nav-folder.vue | 2 +- .../client/src}/components/drive.vue | 2 +- .../src}/components/emoji-picker-dialog.vue | 4 +- .../src}/components/emoji-picker-window.vue | 4 +- .../src}/components/emoji-picker.section.vue | 2 +- .../client/src}/components/emoji-picker.vue | 14 +- .../src}/components/featured-photos.vue | 2 +- .../client/src}/components/file-type-icon.vue | 2 +- .../client/src}/components/follow-button.vue | 2 +- .../src}/components/forgot-password.vue | 8 +- .../client/src}/components/form-dialog.vue | 2 +- .../client/src}/components/form/input.vue | 2 +- .../client/src}/components/form/radio.vue | 0 .../client/src}/components/form/radios.vue | 0 .../client/src}/components/form/range.vue | 0 .../client/src}/components/form/section.vue | 0 .../client/src}/components/form/select.vue | 4 +- .../client/src}/components/form/slot.vue | 0 .../client/src}/components/form/switch.vue | 0 .../client/src}/components/form/textarea.vue | 2 +- .../client/src}/components/formula-core.vue | 4 +- .../client/src}/components/formula.vue | 2 +- .../src}/components/gallery-post-preview.vue | 6 +- .../client/src}/components/global/a.vue | 12 +- .../client/src}/components/global/acct.vue | 2 +- .../client/src}/components/global/ad.vue | 10 +- .../client/src}/components/global/avatar.vue | 8 +- .../src}/components/global/ellipsis.vue | 0 .../client/src}/components/global/emoji.vue | 4 +- .../client/src}/components/global/error.vue | 2 +- .../client/src}/components/global/header.vue | 12 +- .../client/src}/components/global/i18n.ts | 0 .../client/src}/components/global/loading.vue | 0 .../global/misskey-flavored-markdown.vue | 2 +- .../client/src}/components/global/spacer.vue | 0 .../components/global/sticky-container.vue | 0 .../client/src}/components/global/time.vue | 0 .../client/src}/components/global/url.vue | 8 +- .../src}/components/global/user-name.vue | 0 .../client/src}/components/google.vue | 2 +- .../client/src}/components/image-viewer.vue | 6 +- .../src}/components/img-with-blurhash.vue | 0 .../client/src}/components/index.ts | 0 .../client/src}/components/instance-stats.vue | 8 +- .../src}/components/instance-ticker.vue | 2 +- .../client/src}/components/launch-pad.vue | 6 +- .../client/src}/components/link.vue | 8 +- .../client/src}/components/media-banner.vue | 4 +- .../client/src}/components/media-caption.vue | 23 +- .../client/src}/components/media-image.vue | 8 +- .../client/src}/components/media-list.vue | 4 +- .../client/src}/components/media-video.vue | 2 +- .../client/src}/components/mention.vue | 8 +- .../client/src}/components/mfm.ts | 26 +- .../client/src}/components/mini-chart.vue | 2 +- .../src}/components/modal-page-window.vue | 14 +- .../client/src}/components/note-detailed.vue | 28 +- .../client/src}/components/note-header.vue | 6 +- .../client/src}/components/note-preview.vue | 0 .../client/src}/components/note-simple.vue | 2 +- .../client/src}/components/note.sub.vue | 2 +- .../client/src}/components/note.vue | 28 +- .../client/src}/components/notes.vue | 4 +- .../notification-setting-window.vue | 4 +- .../client/src}/components/notification.vue | 10 +- .../client/src}/components/notifications.vue | 8 +- .../client/src}/components/number-diff.vue | 2 +- .../client/src}/components/page-preview.vue | 4 +- .../client/src}/components/page-window.vue | 12 +- .../src}/components/page/page.block.vue | 4 +- .../src}/components/page/page.button.vue | 6 +- .../src}/components/page/page.canvas.vue | 6 +- .../src}/components/page/page.counter.vue | 6 +- .../client/src}/components/page/page.if.vue | 4 +- .../src}/components/page/page.image.vue | 6 +- .../client/src}/components/page/page.note.vue | 8 +- .../components/page/page.number-input.vue | 6 +- .../client/src}/components/page/page.post.vue | 8 +- .../components/page/page.radio-button.vue | 6 +- .../src}/components/page/page.section.vue | 6 +- .../src}/components/page/page.switch.vue | 6 +- .../src}/components/page/page.text-input.vue | 6 +- .../client/src}/components/page/page.text.vue | 8 +- .../components/page/page.textarea-input.vue | 8 +- .../src}/components/page/page.textarea.vue | 4 +- .../client/src}/components/page/page.vue | 8 +- .../client/src}/components/particle.vue | 0 .../client/src}/components/poll-editor.vue | 4 +- .../client/src}/components/poll.vue | 4 +- .../src}/components/post-form-attaches.vue | 4 +- .../src}/components/post-form-dialog.vue | 4 +- .../client/src}/components/post-form.vue | 28 +- .../client/src}/components/queue-chart.vue | 6 +- .../client/src}/components/reaction-icon.vue | 0 .../src}/components/reaction-tooltip.vue | 0 .../components/reactions-viewer.details.vue | 0 .../components/reactions-viewer.reaction.vue | 6 +- .../src}/components/reactions-viewer.vue | 0 .../client/src}/components/remote-caution.vue | 2 +- .../client/src}/components/sample.vue | 14 +- .../client/src}/components/signin-dialog.vue | 2 +- .../client/src}/components/signin.vue | 14 +- .../client/src}/components/signup-dialog.vue | 2 +- .../client/src}/components/signup.vue | 6 +- .../client/src}/components/sparkle.vue | 5 +- .../src}/components/sub-note-content.vue | 2 +- .../client/src}/components/tab.vue | 0 .../components/taskmanager.api-window.vue | 4 +- .../client/src}/components/taskmanager.vue | 10 +- .../client/src}/components/timeline.vue | 4 +- .../client/src}/components/toast.vue | 0 .../src}/components/token-generate-window.vue | 6 +- .../client/src}/components/ui/button.vue | 0 .../client/src}/components/ui/container.vue | 0 .../src}/components/ui/context-menu.vue | 2 +- .../client/src}/components/ui/folder.vue | 0 .../client/src}/components/ui/hr.vue | 2 +- .../client/src}/components/ui/info.vue | 2 +- .../client/src}/components/ui/menu.vue | 4 +- .../src}/components/ui/modal-window.vue | 0 .../client/src}/components/ui/modal.vue | 0 .../client/src}/components/ui/pagination.vue | 2 +- .../client/src}/components/ui/popup-menu.vue | 0 .../client/src}/components/ui/popup.vue | 0 .../client/src}/components/ui/super-menu.vue | 0 .../client/src}/components/ui/tooltip.vue | 0 .../client/src}/components/ui/window.vue | 4 +- .../client/src}/components/updated.vue | 6 +- .../src}/components/url-preview-popup.vue | 2 +- .../client/src}/components/url-preview.vue | 4 +- .../client/src}/components/user-info.vue | 4 +- .../client/src}/components/user-list.vue | 4 +- .../src}/components/user-online-indicator.vue | 0 .../client/src}/components/user-preview.vue | 8 +- .../src}/components/user-select-dialog.vue | 4 +- .../client/src}/components/users-dialog.vue | 4 +- .../src}/components/visibility-picker.vue | 2 +- .../client/src}/components/waiting-dialog.vue | 2 +- .../client/src}/components/widgets.vue | 6 +- {src/client => packages/client/src}/config.ts | 0 .../client/src}/directives/anim.ts | 0 .../client/src}/directives/appear.ts | 0 .../client/src}/directives/click-anime.ts | 2 +- .../client/src}/directives/follow-append.ts | 2 +- .../client/src}/directives/get-size.ts | 0 .../client/src}/directives/hotkey.ts | 0 .../client/src}/directives/index.ts | 0 .../client/src}/directives/particle.ts | 4 +- .../client/src}/directives/size.ts | 0 .../src}/directives/sticky-container.ts | 0 .../client/src}/directives/tooltip.ts | 6 +- .../client/src}/directives/user-preview.ts | 4 +- {src => packages/client/src}/emojilist.json | 0 {src/client => packages/client/src}/events.ts | 0 .../client/src}/filters/bytes.ts | 0 .../client/src}/filters/note.ts | 0 .../client/src}/filters/number.ts | 0 packages/client/src/filters/user.ts | 15 + {src/client => packages/client/src}/i18n.ts | 4 +- {src/client => packages/client/src}/init.ts | 62 +- .../client/src}/instance.ts | 0 {src/client => packages/client/src}/menu.ts | 10 +- {src/client => packages/client/src}/os.ts | 38 +- .../client/src}/pages/_error_.vue | 10 +- .../client/src}/pages/_loading_.vue | 2 +- .../client/src}/pages/about-misskey.vue | 18 +- .../client/src}/pages/about.vue | 22 +- .../client/src}/pages/admin/abuses.vue | 16 +- .../client/src}/pages/admin/ads.vue | 12 +- .../client/src}/pages/admin/announcements.vue | 10 +- .../src}/pages/admin/bot-protection.vue | 22 +- .../client/src}/pages/admin/database.vue | 18 +- .../src}/pages/admin/email-settings.vue | 20 +- .../src}/pages/admin/emoji-edit-dialog.vue | 10 +- .../client/src}/pages/admin/emojis.vue | 14 +- .../client/src}/pages/admin/file-dialog.vue | 14 +- .../src}/pages/admin/files-settings.vue | 18 +- .../client/src}/pages/admin/files.vue | 18 +- .../client/src}/pages/admin/index.vue | 22 +- .../src}/pages/admin/instance-block.vue | 22 +- .../client/src}/pages/admin/instance.vue | 20 +- .../src}/pages/admin/integrations-discord.vue | 18 +- .../src}/pages/admin/integrations-github.vue | 18 +- .../src}/pages/admin/integrations-twitter.vue | 18 +- .../client/src}/pages/admin/integrations.vue | 22 +- .../client/src}/pages/admin/metrics.vue | 18 +- .../src}/pages/admin/object-storage.vue | 18 +- .../src}/pages/admin/other-settings.vue | 18 +- .../client/src}/pages/admin/overview.vue | 26 +- .../client/src}/pages/admin/proxy-account.vue | 22 +- .../client/src}/pages/admin/queue.chart.vue | 6 +- .../client/src}/pages/admin/queue.vue | 10 +- .../client/src}/pages/admin/relays.vue | 12 +- .../client/src}/pages/admin/security.vue | 20 +- .../src}/pages/admin/service-worker.vue | 18 +- .../client/src}/pages/admin/settings.vue | 22 +- .../client/src}/pages/admin/users.vue | 16 +- .../src}/pages/advanced-theme-editor.vue | 26 +- .../client/src}/pages/announcements.vue | 8 +- .../client/src}/pages/antenna-timeline.vue | 10 +- .../client/src}/pages/api-console.vue | 12 +- .../client/src}/pages/auth.form.vue | 4 +- .../client/src}/pages/auth.vue | 6 +- .../client/src}/pages/channel-editor.vue | 12 +- .../client/src}/pages/channel.vue | 12 +- .../client/src}/pages/channels.vue | 10 +- .../client/src}/pages/clip.vue | 10 +- .../client/src}/pages/drive.vue | 6 +- .../client/src}/pages/emojis.category.vue | 16 +- .../client/src}/pages/emojis.emoji.vue | 4 +- .../client/src}/pages/emojis.vue | 4 +- .../client/src}/pages/explore.vue | 16 +- .../client/src}/pages/favorites.vue | 8 +- .../client/src}/pages/featured.vue | 6 +- .../client/src}/pages/federation.vue | 12 +- .../client/src}/pages/follow-requests.vue | 8 +- .../client/src}/pages/follow.vue | 6 +- .../client/src}/pages/gallery/edit.vue | 22 +- .../client/src}/pages/gallery/index.vue | 20 +- .../client/src}/pages/gallery/post.vue | 18 +- .../client/src}/pages/instance-info.vue | 30 +- .../client/src}/pages/mentions.vue | 6 +- .../client/src}/pages/messages.vue | 6 +- .../client/src}/pages/messaging/index.vue | 16 +- .../pages/messaging/messaging-room.form.vue | 8 +- .../messaging/messaging-room.message.vue | 8 +- .../src}/pages/messaging/messaging-room.vue | 16 +- .../client/src}/pages/mfm-cheat-sheet.vue | 4 +- .../client/src}/pages/miauth.vue | 8 +- .../client/src}/pages/my-antennas/create.vue | 4 +- .../client/src}/pages/my-antennas/edit.vue | 6 +- .../client/src}/pages/my-antennas/editor.vue | 16 +- .../client/src}/pages/my-antennas/index.vue | 6 +- .../client/src}/pages/my-clips/index.vue | 8 +- .../client/src}/pages/my-groups/group.vue | 8 +- .../client/src}/pages/my-groups/index.vue | 14 +- .../client/src}/pages/my-lists/index.vue | 10 +- .../client/src}/pages/my-lists/list.vue | 8 +- .../client/src}/pages/not-found.vue | 4 +- .../client/src}/pages/note.vue | 14 +- .../client/src}/pages/notifications.vue | 10 +- .../page-editor/els/page-editor.el.button.vue | 8 +- .../page-editor/els/page-editor.el.canvas.vue | 4 +- .../els/page-editor.el.counter.vue | 4 +- .../page-editor/els/page-editor.el.if.vue | 4 +- .../page-editor/els/page-editor.el.image.vue | 4 +- .../page-editor/els/page-editor.el.note.vue | 10 +- .../els/page-editor.el.number-input.vue | 4 +- .../page-editor/els/page-editor.el.post.vue | 8 +- .../els/page-editor.el.radio-button.vue | 6 +- .../els/page-editor.el.section.vue | 2 +- .../page-editor/els/page-editor.el.switch.vue | 6 +- .../els/page-editor.el.text-input.vue | 4 +- .../page-editor/els/page-editor.el.text.vue | 2 +- .../els/page-editor.el.textarea-input.vue | 6 +- .../els/page-editor.el.textarea.vue | 2 +- .../pages/page-editor/page-editor.blocks.vue | 2 +- .../page-editor/page-editor.container.vue | 0 .../page-editor/page-editor.script-block.vue | 10 +- .../src}/pages/page-editor/page-editor.vue | 26 +- .../client/src}/pages/page.vue | 18 +- .../client/src}/pages/pages.vue | 10 +- .../client/src}/pages/preview.vue | 4 +- .../client/src}/pages/reset-password.vue | 16 +- .../client/src}/pages/reversi/game.board.vue | 12 +- .../src}/pages/reversi/game.setting.vue | 8 +- .../client/src}/pages/reversi/game.vue | 4 +- .../client/src}/pages/reversi/index.vue | 8 +- .../client/src}/pages/room/preview.vue | 2 +- .../client/src}/pages/room/room.vue | 22 +- .../client/src}/pages/scratchpad.vue | 10 +- .../client/src}/pages/search.vue | 6 +- .../client/src}/pages/settings/2fa.vue | 22 +- .../src}/pages/settings/account-info.vue | 22 +- .../client/src}/pages/settings/accounts.vue | 20 +- .../client/src}/pages/settings/api.vue | 18 +- .../client/src}/pages/settings/apps.vue | 16 +- .../client/src}/pages/settings/custom-css.vue | 26 +- .../client/src}/pages/settings/deck.vue | 20 +- .../src}/pages/settings/delete-account.vue | 16 +- .../client/src}/pages/settings/drive.vue | 14 +- .../src}/pages/settings/email-address.vue | 12 +- .../pages/settings/email-notification.vue | 14 +- .../client/src}/pages/settings/email.vue | 14 +- .../pages/settings/experimental-features.vue | 18 +- .../client/src}/pages/settings/general.vue | 28 +- .../src}/pages/settings/import-export.vue | 10 +- .../client/src}/pages/settings/index.vue | 18 +- .../src}/pages/settings/integration.vue | 10 +- .../client/src}/pages/settings/menu.vue | 18 +- .../client/src}/pages/settings/mute-block.vue | 18 +- .../src}/pages/settings/notifications.vue | 16 +- .../client/src}/pages/settings/other.vue | 24 +- .../src}/pages/settings/plugin.install.vue | 26 +- .../src}/pages/settings/plugin.manage.vue | 18 +- .../client/src}/pages/settings/plugin.vue | 12 +- .../client/src}/pages/settings/privacy.vue | 14 +- .../client/src}/pages/settings/profile.vue | 22 +- .../client/src}/pages/settings/reaction.vue | 16 +- .../src}/pages/settings/registry.keys.vue | 18 +- .../src}/pages/settings/registry.value.vue | 20 +- .../client/src}/pages/settings/registry.vue | 18 +- .../client/src}/pages/settings/security.vue | 14 +- .../client/src}/pages/settings/sounds.vue | 18 +- .../src}/pages/settings/theme.install.vue | 24 +- .../src}/pages/settings/theme.manage.vue | 26 +- .../client/src}/pages/settings/theme.vue | 28 +- .../client/src}/pages/settings/update.vue | 22 +- .../client/src}/pages/settings/word-mute.vue | 18 +- .../client/src}/pages/share.vue | 14 +- .../client/src}/pages/signup-complete.vue | 6 +- .../client/src}/pages/tag.vue | 6 +- .../client/src}/pages/test.vue | 14 +- .../client/src}/pages/theme-editor.vue | 20 +- .../client/src}/pages/timeline.tutorial.vue | 2 +- .../client/src}/pages/timeline.vue | 12 +- .../client/src}/pages/user-ap-info.vue | 26 +- .../client/src}/pages/user-info.vue | 30 +- .../client/src}/pages/user-list-timeline.vue | 10 +- .../client/src}/pages/user/clips.vue | 2 +- .../client/src}/pages/user/follow-list.vue | 4 +- .../client/src}/pages/user/gallery.vue | 4 +- .../client/src}/pages/user/index.activity.vue | 6 +- .../client/src}/pages/user/index.photos.vue | 10 +- .../client/src}/pages/user/index.timeline.vue | 6 +- .../client/src}/pages/user/index.vue | 32 +- .../client/src}/pages/user/pages.vue | 4 +- .../client/src}/pages/user/reactions.vue | 6 +- .../client/src}/pages/v.vue | 4 +- .../client/src}/pages/welcome.entrance.a.vue | 18 +- .../client/src}/pages/welcome.entrance.b.vue | 18 +- .../client/src}/pages/welcome.entrance.c.vue | 18 +- .../client/src}/pages/welcome.setup.vue | 10 +- .../client/src}/pages/welcome.timeline.vue | 8 +- .../client/src}/pages/welcome.vue | 6 +- {src/client => packages/client/src}/pizzax.ts | 0 {src/client => packages/client/src}/plugin.ts | 6 +- {src/client => packages/client/src}/router.ts | 8 +- .../client/src}/scripts/2fa.ts | 0 .../client/src}/scripts/aiscript/api.ts | 4 +- packages/client/src/scripts/array.ts | 138 + .../client/src}/scripts/autocomplete.ts | 4 +- .../client/src}/scripts/check-word-mute.ts | 0 .../client/src}/scripts/collect-page-vars.ts | 0 .../client/src}/scripts/contains.ts | 0 .../client/src}/scripts/copy-to-clipboard.ts | 0 .../client/src/scripts}/emojilist.ts | 0 .../extract-avg-color-from-blurhash.ts | 0 .../client/src/scripts/extract-mentions.ts | 11 + .../src/scripts}/extract-url-from-mfm.ts | 2 +- .../client/src}/scripts/focus.ts | 0 .../client/src}/scripts/form.ts | 0 .../client/src/scripts}/format-time-string.ts | 0 .../client/src/scripts/games/reversi/core.ts | 263 + .../client/src/scripts/games/reversi/maps.ts | 896 ++ .../src/scripts/games/reversi/package.json | 18 + .../src/scripts/games/reversi/tsconfig.json | 21 + .../client/src}/scripts/gen-search-query.ts | 6 +- .../src}/scripts/get-account-from-id.ts | 2 +- .../client/src}/scripts/get-md5.ts | 0 .../client/src/scripts/get-note-summary.ts | 55 + .../src}/scripts/get-static-image-url.ts | 4 +- .../client/src}/scripts/get-user-menu.ts | 20 +- .../client/src}/scripts/hotkey.ts | 0 .../client/src}/scripts/hpml/block.ts | 0 .../client/src}/scripts/hpml/evaluator.ts | 4 +- .../client/src}/scripts/hpml/expr.ts | 0 .../client/src}/scripts/hpml/index.ts | 0 .../client/src}/scripts/hpml/lib.ts | 0 .../client/src}/scripts/hpml/type-checker.ts | 0 packages/client/src/scripts/i18n.ts | 29 + .../client/src}/scripts/idb-proxy.ts | 0 .../client/src}/scripts/initialize-sw.ts | 8 +- .../client/src}/scripts/is-device-darkmode.ts | 0 .../client/src}/scripts/is-device-touch.ts | 0 .../client/src}/scripts/is-mobile.ts | 0 .../client/src}/scripts/keycode.ts | 0 .../client/src}/scripts/loading.ts | 0 .../client/src}/scripts/login-id.ts | 0 .../client/src}/scripts/lookup-user.ts | 8 +- packages/client/src/scripts/mfm-tags.ts | 1 + .../client/src}/scripts/paging.ts | 2 +- .../client/src}/scripts/physics.ts | 0 .../client/src}/scripts/please-login.ts | 6 +- .../client/src}/scripts/popout.ts | 2 +- .../client/src}/scripts/reaction-picker.ts | 4 +- .../client/src}/scripts/room/furniture.ts | 0 .../client/src}/scripts/room/furnitures.json5 | 0 .../client/src}/scripts/room/room.ts | 6 +- .../client/src}/scripts/scroll.ts | 0 .../client/src}/scripts/search.ts | 6 +- .../client/src}/scripts/select-file.ts | 6 +- .../src}/scripts/show-suspended-dialog.ts | 4 +- .../client/src}/scripts/sound.ts | 4 +- .../client/src}/scripts/sticky-sidebar.ts | 0 .../client/src}/scripts/theme-editor.ts | 0 .../client/src}/scripts/theme.ts | 30 +- packages/client/src/scripts/time.ts | 39 + .../client/src/scripts}/twemoji-base.ts | 0 .../client/src}/scripts/unison-reload.ts | 0 packages/client/src/scripts/url.ts | 13 + {src/client => packages/client/src}/store.ts | 4 +- .../client => packages/client/src}/style.scss | 0 .../client/src}/sw/compose-notification.ts | 8 +- {src/client => packages/client/src}/sw/sw.ts | 4 +- .../client => packages/client/src}/symbols.ts | 0 .../client/src}/theme-store.ts | 4 +- .../client/src}/themes/_dark.json5 | 0 .../client/src}/themes/_light.json5 | 0 .../client/src}/themes/d-astro.json5 | 0 .../client/src}/themes/d-black.json5 | 0 .../client/src}/themes/d-botanical.json5 | 0 .../client/src}/themes/d-dark.json5 | 0 .../client/src}/themes/d-future.json5 | 0 .../client/src}/themes/d-persimmon.json5 | 0 .../client/src}/themes/d-pumpkin.json5 | 0 .../client/src}/themes/l-apricot.json5 | 0 .../client/src}/themes/l-light.json5 | 0 .../client/src}/themes/l-rainy.json5 | 0 .../client/src}/themes/l-sushi.json5 | 0 .../client/src}/themes/l-vivid.json5 | 0 .../client/src}/ui/_common_/common.vue | 8 +- .../client/src}/ui/_common_/sidebar.vue | 12 +- .../src}/ui/_common_/stream-indicator.vue | 2 +- .../client/src}/ui/_common_/upload.vue | 2 +- .../src}/ui/chat/date-separated-list.vue | 2 +- .../client/src}/ui/chat/header-clock.vue | 2 +- .../client/src}/ui/chat/index.vue | 18 +- .../client/src}/ui/chat/note-header.vue | 6 +- .../client/src}/ui/chat/note-preview.vue | 4 +- .../client/src}/ui/chat/note.sub.vue | 4 +- .../client/src}/ui/chat/note.vue | 36 +- .../client/src}/ui/chat/notes.vue | 4 +- .../client/src}/ui/chat/pages/channel.vue | 12 +- .../client/src}/ui/chat/pages/timeline.vue | 12 +- .../client/src}/ui/chat/post-form.vue | 29 +- .../client/src}/ui/chat/side.vue | 10 +- .../client/src}/ui/chat/store.ts | 0 .../client/src}/ui/chat/sub-note-content.vue | 6 +- .../client/src}/ui/chat/widgets.vue | 2 +- .../client/src}/ui/classic.header.vue | 14 +- .../client/src}/ui/classic.side.vue | 10 +- .../client/src}/ui/classic.sidebar.vue | 20 +- .../client/src}/ui/classic.vue | 12 +- .../client/src}/ui/classic.widgets.vue | 2 +- .../client/src}/ui/deck.vue | 12 +- .../client/src}/ui/deck/antenna-column.vue | 4 +- .../client/src}/ui/deck/column-core.vue | 0 .../client/src}/ui/deck/column.vue | 2 +- .../client/src}/ui/deck/deck-store.ts | 4 +- .../client/src}/ui/deck/direct-column.vue | 6 +- .../client/src}/ui/deck/list-column.vue | 4 +- .../client/src}/ui/deck/main-column.vue | 8 +- .../client/src}/ui/deck/mentions-column.vue | 6 +- .../src}/ui/deck/notifications-column.vue | 6 +- .../client/src}/ui/deck/tl-column.vue | 4 +- .../client/src}/ui/deck/widgets-column.vue | 2 +- .../client/src}/ui/desktop.vue | 12 +- .../client/src}/ui/universal.vue | 12 +- .../client/src}/ui/universal.widgets.vue | 4 +- .../client/src}/ui/visitor.vue | 0 .../client/src}/ui/visitor/a.vue | 14 +- .../client/src}/ui/visitor/b.vue | 18 +- .../client/src}/ui/visitor/header.vue | 8 +- .../client/src}/ui/visitor/kanban.vue | 12 +- .../client => packages/client/src}/ui/zen.vue | 4 +- .../client/src}/widgets/activity.calendar.vue | 2 +- .../client/src}/widgets/activity.chart.vue | 2 +- .../client/src}/widgets/activity.vue | 4 +- .../client/src}/widgets/aichan.vue | 4 +- .../client/src}/widgets/aiscript.vue | 6 +- .../client/src}/widgets/button.vue | 6 +- .../client/src}/widgets/calendar.vue | 2 +- .../client/src}/widgets/clock.vue | 6 +- .../client/src}/widgets/define.ts | 4 +- .../client/src}/widgets/digital-clock.vue | 2 +- .../client/src}/widgets/federation.vue | 6 +- .../client/src}/widgets/index.ts | 0 .../client/src}/widgets/job-queue.vue | 6 +- .../client/src}/widgets/memo.vue | 4 +- .../client/src}/widgets/notifications.vue | 8 +- .../client/src}/widgets/online-users.vue | 2 +- .../client/src}/widgets/photos.vue | 6 +- .../client/src}/widgets/post-form.vue | 2 +- .../client/src}/widgets/rss.vue | 4 +- .../src}/widgets/server-metric/cpu-mem.vue | 0 .../client/src}/widgets/server-metric/cpu.vue | 0 .../src}/widgets/server-metric/disk.vue | 2 +- .../src}/widgets/server-metric/index.vue | 4 +- .../client/src}/widgets/server-metric/mem.vue | 2 +- .../client/src}/widgets/server-metric/net.vue | 2 +- .../client/src}/widgets/server-metric/pie.vue | 0 .../client/src}/widgets/slideshow.vue | 2 +- .../client/src}/widgets/timeline.vue | 6 +- .../client/src}/widgets/trends.vue | 6 +- {src => packages}/client/tsconfig.json | 7 +- .../client/webpack.config.js | 33 +- packages/client/yarn.lock | 6874 ++++++++++++++ {src => packages}/meta.json | 0 src/client/filters/user.ts | 15 - src/mfm/fn-name-list.ts | 23 - src/misc/acct.ts | 11 - src/misc/get-user-name.ts | 5 - src/misc/license.ts | 19 - src/server/api/openapi/description.ts | 51 - src/well-known-services.ts | 4 - vetur.config.js | 41 - yarn.lock | 8026 +--------------- 1714 files changed, 20803 insertions(+), 11751 deletions(-) delete mode 100644 .imgbotconfig create mode 100644 gulpfile.js delete mode 100644 gulpfile.ts delete mode 100644 index.js delete mode 100644 migration/1557476068003-PinnedUsers.ts delete mode 100644 migration/1558266512381-UserListJoining.ts delete mode 100644 migration/1562422242907-PasswordLessLogin.ts delete mode 100644 migration/1562448332510-PageTitleHideOption.ts delete mode 100644 migration/1565634203341-room.ts delete mode 100644 migration/1571220798684-CustomEmojiCategory.ts delete mode 100644 migration/1576269851876-TalkFederationId.ts delete mode 100644 migration/1576869585998-ProxyRemoteFiles.ts delete mode 100644 migration/1579270193251-v12-2.ts delete mode 100644 migration/1579282808087-v12-3.ts delete mode 100644 migration/1580154400017-v12-9.ts delete mode 100644 migration/1580543501339-v12-13.ts delete mode 100644 migration/1581708415836-drive-user-folder-id-index.ts delete mode 100644 migration/1582019042083-featured-injecttion.ts delete mode 100644 migration/1582210532752-antenna-exclude.ts delete mode 100644 migration/1582875306439-note-reaction-length.ts delete mode 100644 migration/1585772678853-ap-url.ts delete mode 100644 migration/1586624197029-AddObjectStorageUseProxy.ts delete mode 100644 migration/1586641139527-remote-reaction.ts delete mode 100644 migration/1586708940386-pageAiScript.ts delete mode 100644 migration/1595075960584-blurhash.ts delete mode 100644 migration/1595676934834-instance-icon-url.ts delete mode 100644 migration/1596786425167-channel2.ts delete mode 100644 migration/1597230137744-objectStorageSetPublicRead.ts delete mode 100644 migration/1597385880794-add-sensitive-index.ts delete mode 100644 migration/1597893996136-ChannelNoteIdDescIndex.ts delete mode 100644 migration/1603776877564-instance-theme-color.ts delete mode 100644 migration/1603781553011-instance-favicon.ts delete mode 100644 migration/1604821689616-delete-auto-watch.ts delete mode 100644 migration/1605408848373-clip-description.ts delete mode 100644 migration/1605585339718-instance-pinned-pages.ts delete mode 100644 migration/1607151207216-instance-pinned-clip.ts delete mode 100644 migration/1610283021566-registry3.ts delete mode 100644 migration/1611547387175-objectStorageS3ForcePathStyle.ts delete mode 100644 migration/1612619156584-announcement-email.ts delete mode 100644 migration/1613155914446-emailNotificationTypes.ts delete mode 100644 migration/1613181457597-user-lang.ts delete mode 100644 migration/1613503367223-use-bigint-for-driveUsage.ts delete mode 100644 migration/1615965918224-chart-v2.ts delete mode 100644 migration/1618639857000-user-hide-online-status.ts delete mode 100644 migration/1620364649428-ad2.ts delete mode 100644 migration/1621479946000-add-note-indexes.ts delete mode 100644 migration/1622679304522-user-profile-description-length.ts delete mode 100644 migration/1622681548499-log-message-length.ts delete mode 100644 migration/1629024377804-deepl-integration.ts delete mode 100644 migration/1629288472000-fix-channel-userId.ts delete mode 100644 migration/1629512953000-user-is-deleted.ts delete mode 100644 migration/1629778475000-deepl-integration2.ts delete mode 100644 migration/1633068642000-email-required-for-signup.ts delete mode 100644 migration/1634486652000-user-public-reactions.ts delete mode 100644 migration/1634902659689-delete-log.ts rename {src => packages/backend}/.eslintrc (100%) rename .mocharc.json => packages/backend/.mocharc.json (100%) create mode 100644 packages/backend/.npmrc rename {src => packages/backend}/@types/hcaptcha.d.ts (100%) rename {src => packages/backend}/@types/http-signature.d.ts (100%) rename {src => packages/backend}/@types/jsrsasign.d.ts (100%) rename {src => packages/backend}/@types/koa-json-body.d.ts (100%) rename {src => packages/backend}/@types/koa-slow.d.ts (100%) rename {src => packages/backend}/@types/langmap.d.ts (100%) rename {src => packages/backend}/@types/ms.d.ts (100%) rename {src => packages/backend}/@types/os-utils.d.ts (100%) rename {src => packages/backend}/@types/package.json.d.ts (100%) rename {src => packages/backend}/@types/probe-image-size.d.ts (100%) rename {assets => packages/backend/assets}/api-doc.png (100%) rename {assets => packages/backend/assets}/apple-touch-icon.png (100%) rename {assets => packages/backend/assets}/favicon.ico (100%) rename {assets => packages/backend/assets}/favicon.png (100%) rename {assets => packages/backend/assets}/icons/192.png (100%) rename {assets => packages/backend/assets}/icons/512.png (100%) rename {assets => packages/backend/assets}/mi-white.png (100%) rename {assets => packages/backend/assets}/redoc.html (100%) rename {assets => packages/backend/assets}/robots.txt (100%) rename {assets => packages/backend/assets}/user-unknown.png (100%) rename migration/1000000000000-Init.ts => packages/backend/migration/1000000000000-Init.js (99%) rename migration/1556348509290-Pages.ts => packages/backend/migration/1556348509290-Pages.js (91%) rename migration/1556746559567-UserProfile.ts => packages/backend/migration/1556746559567-UserProfile.js (70%) create mode 100644 packages/backend/migration/1557476068003-PinnedUsers.js rename migration/1557761316509-AddSomeUrls.ts => packages/backend/migration/1557761316509-AddSomeUrls.js (71%) rename migration/1557932705754-ObjectStorageSetting.ts => packages/backend/migration/1557932705754-ObjectStorageSetting.js (88%) rename migration/1558072954435-PageLike.ts => packages/backend/migration/1558072954435-PageLike.js (85%) rename migration/1558103093633-UserGroup.ts => packages/backend/migration/1558103093633-UserGroup.js (93%) rename migration/1558257926829-UserGroupInvite.ts => packages/backend/migration/1558257926829-UserGroupInvite.js (87%) create mode 100644 packages/backend/migration/1558266512381-UserListJoining.js rename migration/1561706992953-webauthn.ts => packages/backend/migration/1561706992953-webauthn.js (90%) rename migration/1561873850023-ChartIndexes.ts => packages/backend/migration/1561873850023-ChartIndexes.js (98%) create mode 100644 packages/backend/migration/1562422242907-PasswordLessLogin.js rename migration/1562444565093-PinnedPage.ts => packages/backend/migration/1562444565093-PinnedPage.js (75%) create mode 100644 packages/backend/migration/1562448332510-PageTitleHideOption.js rename migration/1562869971568-ModerationLog.ts => packages/backend/migration/1562869971568-ModerationLog.js (77%) rename migration/1563757595828-UsedUsername.ts => packages/backend/migration/1563757595828-UsedUsername.js (54%) create mode 100644 packages/backend/migration/1565634203341-room.js create mode 100644 packages/backend/migration/1571220798684-CustomEmojiCategory.js rename migration/1572760203493-nodeinfo.ts => packages/backend/migration/1572760203493-nodeinfo.js (88%) create mode 100644 packages/backend/migration/1576269851876-TalkFederationId.js create mode 100644 packages/backend/migration/1576869585998-ProxyRemoteFiles.js rename migration/1579267006611-v12.ts => packages/backend/migration/1579267006611-v12.js (91%) create mode 100644 packages/backend/migration/1579270193251-v12-2.js create mode 100644 packages/backend/migration/1579282808087-v12-3.js rename migration/1579544426412-v12-4.ts => packages/backend/migration/1579544426412-v12-4.js (67%) rename migration/1579977526288-v12-5.ts => packages/backend/migration/1579977526288-v12-5.js (95%) rename migration/1579993013959-v12-6.ts => packages/backend/migration/1579993013959-v12-6.js (69%) rename migration/1580069531114-v12-7.ts => packages/backend/migration/1580069531114-v12-7.js (83%) rename migration/1580148575182-v12-8.ts => packages/backend/migration/1580148575182-v12-8.js (64%) create mode 100644 packages/backend/migration/1580154400017-v12-9.js rename migration/1580276619901-v12-10.ts => packages/backend/migration/1580276619901-v12-10.js (67%) rename migration/1580331224276-v12-11.ts => packages/backend/migration/1580331224276-v12-11.js (70%) rename migration/1580508795118-v12-12.ts => packages/backend/migration/1580508795118-v12-12.js (93%) create mode 100644 packages/backend/migration/1580543501339-v12-13.js rename migration/1580864313253-v12-14.ts => packages/backend/migration/1580864313253-v12-14.js (77%) rename migration/1581526429287-user-group-invitation.ts => packages/backend/migration/1581526429287-user-group-invitation.js (91%) rename migration/1581695816408-user-group-antenna.ts => packages/backend/migration/1581695816408-user-group-antenna.js (85%) create mode 100644 packages/backend/migration/1581708415836-drive-user-folder-id-index.js rename migration/1581979837262-promo.ts => packages/backend/migration/1581979837262-promo.js (89%) create mode 100644 packages/backend/migration/1582019042083-featured-injecttion.js create mode 100644 packages/backend/migration/1582210532752-antenna-exclude.js create mode 100644 packages/backend/migration/1582875306439-note-reaction-length.js rename migration/1585361548360-miauth.ts => packages/backend/migration/1585361548360-miauth.js (91%) rename migration/1585385921215-custom-notification.ts => packages/backend/migration/1585385921215-custom-notification.js (93%) create mode 100644 packages/backend/migration/1585772678853-ap-url.js create mode 100644 packages/backend/migration/1586624197029-AddObjectStorageUseProxy.js create mode 100644 packages/backend/migration/1586641139527-remote-reaction.js create mode 100644 packages/backend/migration/1586708940386-pageAiScript.js rename migration/1588044505511-hCaptcha.ts => packages/backend/migration/1588044505511-hCaptcha.js (68%) rename migration/1589023282116-pubRelay.ts => packages/backend/migration/1589023282116-pubRelay.js (71%) create mode 100644 packages/backend/migration/1595075960584-blurhash.js rename migration/1595077605646-blurhash-for-avatar-banner.ts => packages/backend/migration/1595077605646-blurhash-for-avatar-banner.js (67%) create mode 100644 packages/backend/migration/1595676934834-instance-icon-url.js rename migration/1595771249699-word-mute.ts => packages/backend/migration/1595771249699-word-mute.js (87%) rename migration/1595782306083-word-mute2.ts => packages/backend/migration/1595782306083-word-mute2.js (66%) rename migration/1596548170836-channel.ts => packages/backend/migration/1596548170836-channel.js (95%) create mode 100644 packages/backend/migration/1596786425167-channel2.js create mode 100644 packages/backend/migration/1597230137744-objectStorageSetPublicRead.js rename migration/1597236229720-IncludingNotificationTypes.ts => packages/backend/migration/1597236229720-IncludingNotificationTypes.js (62%) create mode 100644 packages/backend/migration/1597385880794-add-sensitive-index.js rename migration/1597459042300-channel-unread.ts => packages/backend/migration/1597459042300-channel-unread.js (78%) create mode 100644 packages/backend/migration/1597893996136-ChannelNoteIdDescIndex.js rename migration/1600353287890-mutingNotificationTypes.ts => packages/backend/migration/1600353287890-mutingNotificationTypes.js (77%) rename migration/1603094348345-refine-abuse-user-report.ts => packages/backend/migration/1603094348345-refine-abuse-user-report.js (87%) rename migration/1603095701770-refine-abuse-user-report2.ts => packages/backend/migration/1603095701770-refine-abuse-user-report2.js (70%) create mode 100644 packages/backend/migration/1603776877564-instance-theme-color.js create mode 100644 packages/backend/migration/1603781553011-instance-favicon.js create mode 100644 packages/backend/migration/1604821689616-delete-auto-watch.js create mode 100644 packages/backend/migration/1605408848373-clip-description.js rename migration/1605408971051-comments.ts => packages/backend/migration/1605408971051-comments.js (99%) create mode 100644 packages/backend/migration/1605585339718-instance-pinned-pages.js rename migration/1605965516823-instance-images.ts => packages/backend/migration/1605965516823-instance-images.js (54%) rename migration/1606191203881-no-crawle.ts => packages/backend/migration/1606191203881-no-crawle.js (60%) create mode 100644 packages/backend/migration/1607151207216-instance-pinned-clip.js rename migration/1607353487793-isExplorable.ts => packages/backend/migration/1607353487793-isExplorable.js (66%) rename migration/1610277136869-registry.ts => packages/backend/migration/1610277136869-registry.js (85%) rename migration/1610277585759-registry2.ts => packages/backend/migration/1610277585759-registry2.js (59%) create mode 100644 packages/backend/migration/1610283021566-registry3.js rename migration/1611354329133-followersUri.ts => packages/backend/migration/1611354329133-followersUri.js (63%) rename migration/1611397665007-gallery.ts => packages/backend/migration/1611397665007-gallery.js (93%) create mode 100644 packages/backend/migration/1611547387175-objectStorageS3ForcePathStyle.js create mode 100644 packages/backend/migration/1612619156584-announcement-email.js create mode 100644 packages/backend/migration/1613155914446-emailNotificationTypes.js create mode 100644 packages/backend/migration/1613181457597-user-lang.js create mode 100644 packages/backend/migration/1613503367223-use-bigint-for-driveUsage.js create mode 100644 packages/backend/migration/1615965918224-chart-v2.js rename migration/1615966519402-chart-v2-2.ts => packages/backend/migration/1615966519402-chart-v2-2.js (80%) rename migration/1618637372000-user-last-active-date.ts => packages/backend/migration/1618637372000-user-last-active-date.js (55%) create mode 100644 packages/backend/migration/1618639857000-user-hide-online-status.js rename migration/1619942102890-password-reset.ts => packages/backend/migration/1619942102890-password-reset.js (78%) rename migration/1620019354680-ad.ts => packages/backend/migration/1620019354680-ad.js (78%) create mode 100644 packages/backend/migration/1620364649428-ad2.js create mode 100644 packages/backend/migration/1621479946000-add-note-indexes.js create mode 100644 packages/backend/migration/1622679304522-user-profile-description-length.js create mode 100644 packages/backend/migration/1622681548499-log-message-length.js rename migration/1629004542760-chart-reindex.ts => packages/backend/migration/1629004542760-chart-reindex.js (98%) create mode 100644 packages/backend/migration/1629024377804-deepl-integration.js create mode 100644 packages/backend/migration/1629288472000-fix-channel-userId.js create mode 100644 packages/backend/migration/1629512953000-user-is-deleted.js create mode 100644 packages/backend/migration/1629778475000-deepl-integration2.js create mode 100644 packages/backend/migration/1633068642000-email-required-for-signup.js rename migration/1633071909016-user-pending.ts => packages/backend/migration/1633071909016-user-pending.js (68%) create mode 100644 packages/backend/migration/1634486652000-user-public-reactions.js create mode 100644 packages/backend/migration/1634902659689-delete-log.js rename migration/1635500777168-note-thread-mute.ts => packages/backend/migration/1635500777168-note-thread-mute.js (84%) rename migration/1636197624383-ff-visibility.ts => packages/backend/migration/1636197624383-ff-visibility.js (60%) rename ormconfig.js => packages/backend/ormconfig.js (91%) create mode 100644 packages/backend/package.json rename {src => packages/backend/src}/boot/index.ts (91%) rename {src => packages/backend/src}/boot/master.ts (98%) rename {src => packages/backend/src}/boot/worker.ts (100%) rename {src => packages/backend/src}/config/index.ts (100%) rename {src => packages/backend/src}/config/load.ts (91%) rename {src => packages/backend/src}/config/types.ts (100%) rename {src => packages/backend/src}/const.ts (100%) rename {src => packages/backend/src}/daemons/janitor.ts (100%) rename {src => packages/backend/src}/daemons/queue-stats.ts (100%) rename {src => packages/backend/src}/daemons/server-stats.ts (100%) rename {src => packages/backend/src}/db/elasticsearch.ts (100%) rename {src => packages/backend/src}/db/logger.ts (100%) rename {src => packages/backend/src}/db/postgre.ts (100%) rename {src => packages/backend/src}/db/redis.ts (100%) rename {src => packages/backend/src}/env.ts (100%) rename {src => packages/backend/src}/games/reversi/core.ts (100%) rename {src => packages/backend/src}/games/reversi/maps.ts (100%) rename {src => packages/backend/src}/games/reversi/package.json (100%) rename {src => packages/backend/src}/games/reversi/tsconfig.json (100%) rename {src => packages/backend/src}/global.d.ts (100%) rename {src => packages/backend/src}/index.ts (77%) rename {src => packages/backend/src}/mfm/from-html.ts (100%) rename {src => packages/backend/src}/mfm/to-html.ts (87%) rename {src => packages/backend/src}/misc/antenna-cache.ts (100%) rename {src => packages/backend/src}/misc/api-permissions.ts (100%) rename {src => packages/backend/src}/misc/app-lock.ts (100%) rename {src => packages/backend/src}/misc/before-shutdown.ts (100%) rename {src => packages/backend/src}/misc/cache.ts (100%) rename {src => packages/backend/src}/misc/cafy-id.ts (100%) rename {src => packages/backend/src}/misc/captcha.ts (100%) rename {src => packages/backend/src}/misc/check-hit-antenna.ts (96%) rename {src => packages/backend/src}/misc/check-word-mute.ts (100%) rename {src => packages/backend/src}/misc/content-disposition.ts (100%) rename {src => packages/backend/src}/misc/convert-host.ts (100%) rename {src => packages/backend/src}/misc/count-same-renotes.ts (100%) rename {src => packages/backend/src}/misc/create-temp.ts (100%) rename {src => packages/backend/src}/misc/detect-url-mime.ts (100%) rename {src => packages/backend/src}/misc/download-text-file.ts (100%) rename {src => packages/backend/src}/misc/download-url.ts (100%) rename {src => packages/backend/src}/misc/emoji-regex.ts (100%) rename {src => packages/backend/src}/misc/extract-custom-emojis-from-mfm.ts (100%) rename {src => packages/backend/src}/misc/extract-hashtags.ts (100%) rename {src => packages/backend/src}/misc/extract-mentions.ts (100%) rename {src => packages/backend/src}/misc/fetch-meta.ts (100%) rename {src => packages/backend/src}/misc/fetch-proxy-account.ts (100%) rename {src => packages/backend/src}/misc/fetch.ts (100%) rename {src => packages/backend/src}/misc/gen-avatar.ts (100%) rename {src => packages/backend/src}/misc/gen-id.ts (100%) rename {src => packages/backend/src}/misc/gen-key-pair.ts (100%) rename {src => packages/backend/src}/misc/get-file-info.ts (100%) rename {src => packages/backend/src}/misc/get-note-summary.ts (63%) rename {src => packages/backend/src}/misc/get-reaction-emoji.ts (100%) rename {src => packages/backend/src}/misc/hard-limits.ts (100%) rename {src => packages/backend/src}/misc/i18n.ts (100%) rename {src => packages/backend/src}/misc/id/aid.ts (100%) rename {src => packages/backend/src}/misc/id/meid.ts (100%) rename {src => packages/backend/src}/misc/id/meidg.ts (100%) rename {src => packages/backend/src}/misc/id/object-id.ts (100%) rename {src => packages/backend/src}/misc/identifiable-error.ts (100%) rename {src => packages/backend/src}/misc/is-blocker-user-related.ts (100%) rename {src => packages/backend/src}/misc/is-duplicate-key-value-error.ts (100%) rename {src => packages/backend/src}/misc/is-muted-user-related.ts (100%) rename {src => packages/backend/src}/misc/is-quote.ts (100%) rename {src => packages/backend/src}/misc/keypair-store.ts (100%) rename {src => packages/backend/src}/misc/normalize-for-search.ts (100%) rename {src => packages/backend/src}/misc/nyaize.ts (100%) rename {src => packages/backend/src}/misc/populate-emojis.ts (100%) rename {src => packages/backend/src}/misc/reaction-lib.ts (100%) rename {src => packages/backend/src}/misc/safe-for-sql.ts (100%) rename {src => packages/backend/src}/misc/schema.ts (100%) rename {src => packages/backend/src}/misc/secure-rndstr.ts (100%) rename {src => packages/backend/src}/misc/show-machine-info.ts (100%) rename {src => packages/backend/src}/misc/simple-schema.ts (100%) rename {src => packages/backend/src}/misc/truncate.ts (100%) rename {src => packages/backend/src}/models/entities/abuse-user-report.ts (100%) rename {src => packages/backend/src}/models/entities/access-token.ts (100%) rename {src => packages/backend/src}/models/entities/ad.ts (100%) rename {src => packages/backend/src}/models/entities/announcement-read.ts (100%) rename {src => packages/backend/src}/models/entities/announcement.ts (100%) rename {src => packages/backend/src}/models/entities/antenna-note.ts (100%) rename {src => packages/backend/src}/models/entities/antenna.ts (100%) rename {src => packages/backend/src}/models/entities/app.ts (100%) rename {src => packages/backend/src}/models/entities/attestation-challenge.ts (100%) rename {src => packages/backend/src}/models/entities/auth-session.ts (100%) rename {src => packages/backend/src}/models/entities/blocking.ts (100%) rename {src => packages/backend/src}/models/entities/channel-following.ts (100%) rename {src => packages/backend/src}/models/entities/channel-note-pining.ts (100%) rename {src => packages/backend/src}/models/entities/channel.ts (100%) rename {src => packages/backend/src}/models/entities/clip-note.ts (100%) rename {src => packages/backend/src}/models/entities/clip.ts (100%) rename {src => packages/backend/src}/models/entities/drive-file.ts (100%) rename {src => packages/backend/src}/models/entities/drive-folder.ts (100%) rename {src => packages/backend/src}/models/entities/emoji.ts (100%) rename {src => packages/backend/src}/models/entities/follow-request.ts (100%) rename {src => packages/backend/src}/models/entities/following.ts (100%) rename {src => packages/backend/src}/models/entities/gallery-like.ts (100%) rename {src => packages/backend/src}/models/entities/gallery-post.ts (100%) rename {src => packages/backend/src}/models/entities/games/reversi/game.ts (100%) rename {src => packages/backend/src}/models/entities/games/reversi/matching.ts (100%) rename {src => packages/backend/src}/models/entities/hashtag.ts (100%) rename {src => packages/backend/src}/models/entities/instance.ts (100%) rename {src => packages/backend/src}/models/entities/messaging-message.ts (100%) rename {src => packages/backend/src}/models/entities/meta.ts (100%) rename {src => packages/backend/src}/models/entities/moderation-log.ts (100%) rename {src => packages/backend/src}/models/entities/muted-note.ts (100%) rename {src => packages/backend/src}/models/entities/muting.ts (100%) rename {src => packages/backend/src}/models/entities/note-favorite.ts (100%) rename {src => packages/backend/src}/models/entities/note-reaction.ts (100%) rename {src => packages/backend/src}/models/entities/note-thread-muting.ts (100%) rename {src => packages/backend/src}/models/entities/note-unread.ts (100%) rename {src => packages/backend/src}/models/entities/note-watching.ts (100%) rename {src => packages/backend/src}/models/entities/note.ts (100%) rename {src => packages/backend/src}/models/entities/notification.ts (100%) rename {src => packages/backend/src}/models/entities/page-like.ts (100%) rename {src => packages/backend/src}/models/entities/page.ts (100%) rename {src => packages/backend/src}/models/entities/password-reset-request.ts (100%) rename {src => packages/backend/src}/models/entities/poll-vote.ts (100%) rename {src => packages/backend/src}/models/entities/poll.ts (100%) rename {src => packages/backend/src}/models/entities/promo-note.ts (100%) rename {src => packages/backend/src}/models/entities/promo-read.ts (100%) rename {src => packages/backend/src}/models/entities/registration-tickets.ts (100%) rename {src => packages/backend/src}/models/entities/registry-item.ts (100%) rename {src => packages/backend/src}/models/entities/relay.ts (100%) rename {src => packages/backend/src}/models/entities/signin.ts (100%) rename {src => packages/backend/src}/models/entities/sw-subscription.ts (100%) rename {src => packages/backend/src}/models/entities/used-username.ts (100%) rename {src => packages/backend/src}/models/entities/user-group-invitation.ts (100%) rename {src => packages/backend/src}/models/entities/user-group-joining.ts (100%) rename {src => packages/backend/src}/models/entities/user-group.ts (100%) rename {src => packages/backend/src}/models/entities/user-keypair.ts (100%) rename {src => packages/backend/src}/models/entities/user-list-joining.ts (100%) rename {src => packages/backend/src}/models/entities/user-list.ts (100%) rename {src => packages/backend/src}/models/entities/user-note-pining.ts (100%) rename {src => packages/backend/src}/models/entities/user-pending.ts (100%) rename {src => packages/backend/src}/models/entities/user-profile.ts (100%) rename {src => packages/backend/src}/models/entities/user-publickey.ts (100%) rename {src => packages/backend/src}/models/entities/user-security-key.ts (100%) rename {src => packages/backend/src}/models/entities/user.ts (100%) rename {src => packages/backend/src}/models/id.ts (100%) rename {src => packages/backend/src}/models/index.ts (100%) rename {src => packages/backend/src}/models/repositories/abuse-user-report.ts (100%) rename {src => packages/backend/src}/models/repositories/antenna.ts (100%) rename {src => packages/backend/src}/models/repositories/app.ts (100%) rename {src => packages/backend/src}/models/repositories/auth-session.ts (100%) rename {src => packages/backend/src}/models/repositories/blocking.ts (100%) rename {src => packages/backend/src}/models/repositories/channel.ts (100%) rename {src => packages/backend/src}/models/repositories/clip.ts (100%) rename {src => packages/backend/src}/models/repositories/drive-file.ts (100%) rename {src => packages/backend/src}/models/repositories/drive-folder.ts (100%) rename {src => packages/backend/src}/models/repositories/emoji.ts (100%) rename {src => packages/backend/src}/models/repositories/federation-instance.ts (100%) rename {src => packages/backend/src}/models/repositories/follow-request.ts (100%) rename {src => packages/backend/src}/models/repositories/following.ts (100%) rename {src => packages/backend/src}/models/repositories/gallery-like.ts (100%) rename {src => packages/backend/src}/models/repositories/gallery-post.ts (100%) rename {src => packages/backend/src}/models/repositories/games/reversi/game.ts (100%) rename {src => packages/backend/src}/models/repositories/games/reversi/matching.ts (100%) rename {src => packages/backend/src}/models/repositories/hashtag.ts (100%) rename {src => packages/backend/src}/models/repositories/messaging-message.ts (100%) rename {src => packages/backend/src}/models/repositories/moderation-logs.ts (100%) rename {src => packages/backend/src}/models/repositories/muting.ts (100%) rename {src => packages/backend/src}/models/repositories/note-favorite.ts (100%) rename {src => packages/backend/src}/models/repositories/note-reaction.ts (100%) rename {src => packages/backend/src}/models/repositories/note.ts (100%) rename {src => packages/backend/src}/models/repositories/notification.ts (100%) rename {src => packages/backend/src}/models/repositories/page-like.ts (100%) rename {src => packages/backend/src}/models/repositories/page.ts (100%) rename {src => packages/backend/src}/models/repositories/queue.ts (100%) rename {src => packages/backend/src}/models/repositories/relay.ts (100%) rename {src => packages/backend/src}/models/repositories/signin.ts (100%) rename {src => packages/backend/src}/models/repositories/user-group-invitation.ts (100%) rename {src => packages/backend/src}/models/repositories/user-group.ts (100%) rename {src => packages/backend/src}/models/repositories/user-list.ts (100%) rename {src => packages/backend/src}/models/repositories/user.ts (100%) rename {src => packages/backend/src}/prelude/README.md (100%) rename {src => packages/backend/src}/prelude/array.ts (100%) rename {src => packages/backend/src}/prelude/await-all.ts (100%) rename {src => packages/backend/src}/prelude/math.ts (100%) rename {src => packages/backend/src}/prelude/maybe.ts (100%) rename {src => packages/backend/src}/prelude/relation.ts (100%) rename {src => packages/backend/src}/prelude/string.ts (100%) rename {src => packages/backend/src}/prelude/symbol.ts (100%) rename {src => packages/backend/src}/prelude/time.ts (100%) rename {src => packages/backend/src}/prelude/url.ts (100%) rename {src => packages/backend/src}/prelude/xml.ts (100%) rename {src => packages/backend/src}/queue/get-job-info.ts (100%) rename {src => packages/backend/src}/queue/index.ts (100%) rename {src => packages/backend/src}/queue/initialize.ts (100%) rename {src => packages/backend/src}/queue/logger.ts (100%) rename {src => packages/backend/src}/queue/processors/db/delete-account.ts (100%) rename {src => packages/backend/src}/queue/processors/db/delete-drive-files.ts (100%) rename {src => packages/backend/src}/queue/processors/db/export-blocking.ts (100%) rename {src => packages/backend/src}/queue/processors/db/export-following.ts (100%) rename {src => packages/backend/src}/queue/processors/db/export-mute.ts (100%) rename {src => packages/backend/src}/queue/processors/db/export-notes.ts (100%) rename {src => packages/backend/src}/queue/processors/db/export-user-lists.ts (100%) rename {src => packages/backend/src}/queue/processors/db/import-blocking.ts (94%) rename {src => packages/backend/src}/queue/processors/db/import-following.ts (94%) rename {src => packages/backend/src}/queue/processors/db/import-muting.ts (95%) rename {src => packages/backend/src}/queue/processors/db/import-user-lists.ts (94%) rename {src => packages/backend/src}/queue/processors/db/index.ts (100%) rename {src => packages/backend/src}/queue/processors/deliver.ts (100%) rename {src => packages/backend/src}/queue/processors/inbox.ts (100%) rename {src => packages/backend/src}/queue/processors/object-storage/clean-remote-files.ts (100%) rename {src => packages/backend/src}/queue/processors/object-storage/delete-file.ts (100%) rename {src => packages/backend/src}/queue/processors/object-storage/index.ts (100%) rename {src => packages/backend/src}/queue/processors/system/index.ts (100%) rename {src => packages/backend/src}/queue/processors/system/resync-charts.ts (100%) rename {src => packages/backend/src}/queue/queues.ts (100%) rename {src => packages/backend/src}/queue/types.ts (100%) rename {src => packages/backend/src}/remote/activitypub/ap-request.ts (100%) rename {src => packages/backend/src}/remote/activitypub/audience.ts (100%) rename {src => packages/backend/src}/remote/activitypub/db-resolver.ts (100%) rename {src => packages/backend/src}/remote/activitypub/deliver-manager.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/accept/follow.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/accept/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/add/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/announce/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/announce/note.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/block/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/create/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/create/note.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/delete/actor.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/delete/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/delete/note.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/flag/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/follow.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/like.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/move/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/read.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/reject/follow.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/reject/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/remove/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/undo/announce.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/undo/block.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/undo/follow.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/undo/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/undo/like.ts (100%) rename {src => packages/backend/src}/remote/activitypub/kernel/update/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/logger.ts (100%) rename {src => packages/backend/src}/remote/activitypub/misc/contexts.ts (100%) rename {src => packages/backend/src}/remote/activitypub/misc/get-note-html.ts (57%) rename {src => packages/backend/src}/remote/activitypub/misc/html-to-mfm.ts (100%) rename {src => packages/backend/src}/remote/activitypub/misc/ld-signature.ts (100%) rename {src => packages/backend/src}/remote/activitypub/models/icon.ts (100%) rename {src => packages/backend/src}/remote/activitypub/models/identifier.ts (100%) rename {src => packages/backend/src}/remote/activitypub/models/image.ts (100%) rename {src => packages/backend/src}/remote/activitypub/models/mention.ts (100%) rename {src => packages/backend/src}/remote/activitypub/models/note.ts (100%) rename {src => packages/backend/src}/remote/activitypub/models/person.ts (100%) rename {src => packages/backend/src}/remote/activitypub/models/question.ts (100%) rename {src => packages/backend/src}/remote/activitypub/models/tag.ts (100%) rename {src => packages/backend/src}/remote/activitypub/perform.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/accept.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/add.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/announce.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/block.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/create.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/delete.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/document.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/emoji.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/follow-relay.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/follow-user.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/follow.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/hashtag.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/image.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/index.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/key.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/like.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/mention.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/note.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/ordered-collection-page.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/ordered-collection.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/person.ts (97%) rename {src => packages/backend/src}/remote/activitypub/renderer/question.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/read.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/reject.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/remove.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/tombstone.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/undo.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/update.ts (100%) rename {src => packages/backend/src}/remote/activitypub/renderer/vote.ts (100%) rename {src => packages/backend/src}/remote/activitypub/request.ts (100%) rename {src => packages/backend/src}/remote/activitypub/resolver.ts (100%) rename {src => packages/backend/src}/remote/activitypub/type.ts (100%) rename {src => packages/backend/src}/remote/logger.ts (100%) rename {src => packages/backend/src}/remote/resolve-user.ts (100%) rename {src => packages/backend/src}/remote/webfinger.ts (100%) rename {src => packages/backend/src}/server/activitypub.ts (100%) rename {src => packages/backend/src}/server/activitypub/featured.ts (100%) rename {src => packages/backend/src}/server/activitypub/followers.ts (100%) rename {src => packages/backend/src}/server/activitypub/following.ts (100%) rename {src => packages/backend/src}/server/activitypub/outbox.ts (100%) rename {src => packages/backend/src}/server/api/2fa.ts (100%) rename {src => packages/backend/src}/server/api/api-handler.ts (100%) rename {src => packages/backend/src}/server/api/authenticate.ts (100%) rename {src => packages/backend/src}/server/api/call.ts (100%) rename {src => packages/backend/src}/server/api/common/generate-block-query.ts (100%) rename {src => packages/backend/src}/server/api/common/generate-channel-query.ts (100%) rename {src => packages/backend/src}/server/api/common/generate-muted-note-query.ts (100%) rename {src => packages/backend/src}/server/api/common/generate-muted-note-thread-query.ts (100%) rename {src => packages/backend/src}/server/api/common/generate-muted-user-query.ts (100%) rename {src => packages/backend/src}/server/api/common/generate-native-user-token.ts (100%) rename {src => packages/backend/src}/server/api/common/generate-replies-query.ts (100%) rename {src => packages/backend/src}/server/api/common/generate-visibility-query.ts (100%) rename {src => packages/backend/src}/server/api/common/getters.ts (100%) rename {src => packages/backend/src}/server/api/common/inject-featured.ts (100%) rename {src => packages/backend/src}/server/api/common/inject-promo.ts (100%) rename {src => packages/backend/src}/server/api/common/is-native-token.ts (100%) rename {src => packages/backend/src}/server/api/common/make-pagination-query.ts (100%) rename {src => packages/backend/src}/server/api/common/read-messaging-message.ts (100%) rename {src => packages/backend/src}/server/api/common/read-notification.ts (100%) rename {src => packages/backend/src}/server/api/common/signin.ts (100%) rename {src => packages/backend/src}/server/api/common/signup.ts (100%) rename {src => packages/backend/src}/server/api/define.ts (100%) rename {src => packages/backend/src}/server/api/endpoints.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/abuse-user-reports.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/accounts/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/accounts/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/ad/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/ad/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/ad/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/ad/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/announcements/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/announcements/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/announcements/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/announcements/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/delete-all-files-of-a-user.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/delete-logs.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/drive/clean-remote-files.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/drive/cleanup.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/drive/files.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/drive/show-file.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/emoji/add.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/emoji/copy.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/emoji/list-remote.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/emoji/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/emoji/remove.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/emoji/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/federation/delete-all-files.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/federation/remove-all-following.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/federation/update-instance.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/get-index-stats.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/get-table-stats.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/invite.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/moderators/add.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/moderators/remove.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/promo/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/queue/clear.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/queue/deliver-delayed.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/queue/inbox-delayed.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/queue/jobs.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/queue/stats.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/relays/add.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/relays/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/relays/remove.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/reset-password.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/resolve-abuse-user-report.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/resync-chart.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/send-email.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/server-info.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/show-moderation-logs.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/show-user.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/show-users.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/silence-user.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/suspend-user.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/unsilence-user.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/unsuspend-user.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/update-meta.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/admin/vacuum.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/announcements.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/antennas/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/antennas/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/antennas/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/antennas/notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/antennas/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/antennas/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/ap/get.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/ap/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/app/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/app/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/auth/accept.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/auth/session/generate.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/auth/session/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/auth/session/userkey.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/blocking/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/blocking/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/blocking/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/featured.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/follow.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/followed.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/owned.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/pin-note.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/timeline.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/unfollow.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/channels/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/active-users.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/drive.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/federation.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/hashtag.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/instance.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/network.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/user/drive.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/user/following.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/user/notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/user/reactions.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/charts/users.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/clips/add-note.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/clips/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/clips/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/clips/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/clips/notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/clips/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/clips/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/attached-notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/check-existence.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/find-by-hash.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/find.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/files/upload-from-url.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/folders.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/folders/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/folders/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/folders/find.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/folders/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/folders/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/drive/stream.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/email-address/available.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/endpoint.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/endpoints.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/federation/dns.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/federation/followers.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/federation/following.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/federation/instances.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/federation/show-instance.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/federation/update-remote-user.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/federation/users.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/following/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/following/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/following/requests/accept.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/following/requests/cancel.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/following/requests/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/following/requests/reject.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/featured.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/popular.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/posts.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/posts/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/posts/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/posts/like.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/posts/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/posts/unlike.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/gallery/posts/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/games/reversi/games.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/games/reversi/games/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/games/reversi/games/surrender.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/games/reversi/invitations.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/games/reversi/match.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/games/reversi/match/cancel.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/get-online-users-count.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/hashtags/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/hashtags/search.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/hashtags/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/hashtags/trend.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/hashtags/users.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/2fa/done.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/2fa/key-done.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/2fa/password-less.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/2fa/register-key.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/2fa/register.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/2fa/remove-key.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/2fa/unregister.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/apps.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/authorized-apps.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/change-password.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/delete-account.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/export-blocking.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/export-following.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/export-mute.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/export-notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/export-user-lists.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/favorites.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/gallery/likes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/gallery/posts.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/get-word-muted-notes-count.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/import-blocking.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/import-following.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/import-muting.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/import-user-lists.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/notifications.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/page-likes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/pages.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/pin.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/read-all-messaging-messages.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/read-all-unread-notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/read-announcement.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/regenerate-token.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/registry/get-all.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/registry/get-detail.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/registry/get.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/registry/keys-with-type.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/registry/keys.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/registry/remove.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/registry/scopes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/registry/set.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/revoke-token.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/signin-history.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/unpin.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/update-email.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/i/user-group-invites.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/messaging/history.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/messaging/messages.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/messaging/messages/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/messaging/messages/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/messaging/messages/read.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/meta.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/miauth/gen-token.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/mute/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/mute/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/mute/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/my/apps.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/children.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/clips.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/conversation.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/favorites/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/favorites/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/featured.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/global-timeline.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/hybrid-timeline.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/local-timeline.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/mentions.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/polls/recommendation.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/polls/vote.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/reactions.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/reactions/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/reactions/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/renotes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/replies.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/search-by-tag.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/search.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/state.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/thread-muting/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/thread-muting/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/timeline.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/translate.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/unrenote.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/user-list-timeline.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/watching/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notes/watching/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notifications/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notifications/mark-all-as-read.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/notifications/read.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/page-push.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/pages/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/pages/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/pages/featured.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/pages/like.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/pages/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/pages/unlike.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/pages/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/ping.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/pinned-users.ts (90%) rename {src => packages/backend/src}/server/api/endpoints/promo/read.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/request-reset-password.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/reset-db.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/reset-password.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/room/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/room/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/server-info.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/stats.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/sw/register.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/sw/unregister.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/username/available.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/clips.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/followers.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/following.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/gallery/posts.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/get-frequently-replied-users.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/invitations/accept.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/invitations/reject.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/invite.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/joined.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/leave.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/owned.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/pull.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/transfer.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/groups/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/lists/create.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/lists/delete.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/lists/list.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/lists/pull.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/lists/push.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/lists/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/lists/update.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/notes.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/pages.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/reactions.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/recommendation.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/relation.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/report-abuse.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/search-by-username-and-host.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/search.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/show.ts (100%) rename {src => packages/backend/src}/server/api/endpoints/users/stats.ts (100%) rename {src => packages/backend/src}/server/api/error.ts (100%) rename {src => packages/backend/src}/server/api/index.ts (100%) rename {src => packages/backend/src}/server/api/limiter.ts (86%) rename {src => packages/backend/src}/server/api/logger.ts (100%) rename {src => packages/backend/src}/server/api/openapi/errors.ts (100%) rename {src => packages/backend/src}/server/api/openapi/gen-spec.ts (98%) rename {src => packages/backend/src}/server/api/openapi/schemas.ts (100%) rename {src => packages/backend/src}/server/api/private/signin.ts (100%) rename {src => packages/backend/src}/server/api/private/signup-pending.ts (100%) rename {src => packages/backend/src}/server/api/private/signup.ts (100%) rename {src => packages/backend/src}/server/api/service/discord.ts (100%) rename {src => packages/backend/src}/server/api/service/github.ts (100%) rename {src => packages/backend/src}/server/api/service/twitter.ts (100%) rename {src => packages/backend/src}/server/api/stream/channel.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/admin.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/antenna.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/channel.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/drive.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/games/reversi-game.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/games/reversi.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/global-timeline.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/hashtag.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/home-timeline.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/hybrid-timeline.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/index.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/local-timeline.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/main.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/messaging-index.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/messaging.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/queue-stats.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/server-stats.ts (100%) rename {src => packages/backend/src}/server/api/stream/channels/user-list.ts (100%) rename {src => packages/backend/src}/server/api/stream/index.ts (100%) rename {src => packages/backend/src}/server/api/stream/types.ts (100%) rename {src => packages/backend/src}/server/api/streaming.ts (100%) rename {src => packages/backend/src}/server/file/assets/bad-egg.png (100%) rename {src => packages/backend/src}/server/file/assets/cache-expired.png (100%) rename {src => packages/backend/src}/server/file/assets/dummy.png (100%) rename {src => packages/backend/src}/server/file/assets/not-an-image.png (100%) rename {src => packages/backend/src}/server/file/assets/thumbnail-not-available.png (100%) rename {src => packages/backend/src}/server/file/assets/tombstone.png (100%) rename {src => packages/backend/src}/server/file/index.ts (100%) rename {src => packages/backend/src}/server/file/send-drive-file.ts (100%) rename {src => packages/backend/src}/server/index.ts (97%) rename {src => packages/backend/src}/server/nodeinfo.ts (100%) rename {src => packages/backend/src}/server/proxy/index.ts (100%) rename {src => packages/backend/src}/server/proxy/proxy-media.ts (100%) rename {src => packages/backend/src}/server/web/bios.css (100%) rename {src => packages/backend/src}/server/web/bios.js (100%) rename {src => packages/backend/src}/server/web/boot.js (100%) rename {src => packages/backend/src}/server/web/cli.css (100%) rename {src => packages/backend/src}/server/web/cli.js (100%) rename {src => packages/backend/src}/server/web/feed.ts (100%) rename {src => packages/backend/src}/server/web/index.ts (93%) rename {src => packages/backend/src}/server/web/manifest.json (100%) rename {src => packages/backend/src}/server/web/manifest.ts (100%) rename {src => packages/backend/src}/server/web/style.css (100%) rename {src => packages/backend/src}/server/web/url-preview.ts (100%) rename {src => packages/backend/src}/server/web/views/base.pug (100%) rename {src => packages/backend/src}/server/web/views/bios.pug (100%) rename {src => packages/backend/src}/server/web/views/channel.pug (100%) rename {src => packages/backend/src}/server/web/views/cli.pug (100%) rename {src => packages/backend/src}/server/web/views/clip.pug (100%) rename {src => packages/backend/src}/server/web/views/flush.pug (100%) rename {src => packages/backend/src}/server/web/views/gallery-post.pug (100%) rename {src => packages/backend/src}/server/web/views/info-card.pug (100%) rename {src => packages/backend/src}/server/web/views/note.pug (100%) rename {src => packages/backend/src}/server/web/views/page.pug (100%) rename {src => packages/backend/src}/server/web/views/user.pug (100%) rename {src => packages/backend/src}/server/well-known.ts (96%) rename {src => packages/backend/src}/services/add-note-to-antenna.ts (100%) rename {src => packages/backend/src}/services/blocking/create.ts (100%) rename {src => packages/backend/src}/services/blocking/delete.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/active-users.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/drive.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/federation.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/hashtag.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/instance.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/network.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/notes.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/per-user-drive.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/per-user-following.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/per-user-notes.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/per-user-reactions.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/test-grouped.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/test-unique.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/test.ts (100%) rename {src => packages/backend/src}/services/chart/charts/classes/users.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/active-users.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/drive.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/federation.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/hashtag.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/instance.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/network.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/notes.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/per-user-drive.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/per-user-following.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/per-user-notes.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/per-user-reactions.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/test-grouped.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/test-unique.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/test.ts (100%) rename {src => packages/backend/src}/services/chart/charts/schemas/users.ts (100%) rename {src => packages/backend/src}/services/chart/core.ts (100%) rename {src => packages/backend/src}/services/chart/entities.ts (100%) rename {src => packages/backend/src}/services/chart/index.ts (100%) rename {src => packages/backend/src}/services/create-notification.ts (100%) rename {src => packages/backend/src}/services/create-system-user.ts (100%) rename {src => packages/backend/src}/services/drive/add-file.ts (100%) rename {src => packages/backend/src}/services/drive/delete-file.ts (100%) rename {src => packages/backend/src}/services/drive/generate-video-thumbnail.ts (100%) rename {src => packages/backend/src}/services/drive/image-processor.ts (100%) rename {src => packages/backend/src}/services/drive/internal-storage.ts (98%) rename {src => packages/backend/src}/services/drive/logger.ts (100%) rename {src => packages/backend/src}/services/drive/s3.ts (100%) rename {src => packages/backend/src}/services/drive/upload-from-url.ts (100%) rename {src => packages/backend/src}/services/fetch-instance-metadata.ts (100%) rename {src => packages/backend/src}/services/following/create.ts (100%) rename {src => packages/backend/src}/services/following/delete.ts (100%) rename {src => packages/backend/src}/services/following/requests/accept-all.ts (100%) rename {src => packages/backend/src}/services/following/requests/accept.ts (100%) rename {src => packages/backend/src}/services/following/requests/cancel.ts (100%) rename {src => packages/backend/src}/services/following/requests/create.ts (100%) rename {src => packages/backend/src}/services/following/requests/reject.ts (100%) rename {src => packages/backend/src}/services/i/pin.ts (100%) rename {src => packages/backend/src}/services/i/update.ts (100%) rename {src => packages/backend/src}/services/insert-moderation-log.ts (100%) rename {src => packages/backend/src}/services/instance-actor.ts (100%) rename {src => packages/backend/src}/services/logger.ts (98%) rename {src => packages/backend/src}/services/messages/create.ts (100%) rename {src => packages/backend/src}/services/messages/delete.ts (100%) rename {src => packages/backend/src}/services/note/create.ts (98%) rename {src => packages/backend/src}/services/note/delete.ts (100%) rename {src => packages/backend/src}/services/note/polls/update.ts (100%) rename {src => packages/backend/src}/services/note/polls/vote.ts (100%) rename {src => packages/backend/src}/services/note/reaction/create.ts (100%) rename {src => packages/backend/src}/services/note/reaction/delete.ts (100%) rename {src => packages/backend/src}/services/note/read.ts (100%) rename {src => packages/backend/src}/services/note/unread.ts (100%) rename {src => packages/backend/src}/services/note/unwatch.ts (100%) rename {src => packages/backend/src}/services/note/watch.ts (100%) rename {src => packages/backend/src}/services/push-notification.ts (100%) rename {src => packages/backend/src}/services/register-or-fetch-instance-doc.ts (100%) rename {src => packages/backend/src}/services/relay.ts (100%) rename {src => packages/backend/src}/services/send-email-notification.ts (79%) rename {src => packages/backend/src}/services/send-email.ts (100%) rename {src => packages/backend/src}/services/stream.ts (100%) rename {src => packages/backend/src}/services/suspend-user.ts (100%) rename {src => packages/backend/src}/services/unsuspend-user.ts (100%) rename {src => packages/backend/src}/services/update-hashtag.ts (100%) rename {src => packages/backend/src}/services/user-list/push.ts (100%) rename {src => packages/backend/src}/services/validate-email-for-account.ts (100%) rename {src => packages/backend/src}/types.ts (100%) create mode 100644 packages/backend/tools/accept-migration.js create mode 100644 packages/backend/tools/accept-migration.js.map rename {src => packages/backend}/tools/accept-migration.ts (100%) create mode 100644 packages/backend/tools/add-emoji.js create mode 100644 packages/backend/tools/add-emoji.js.map rename {src => packages/backend}/tools/add-emoji.ts (100%) create mode 100644 packages/backend/tools/demote-admin.js create mode 100644 packages/backend/tools/demote-admin.js.map rename {src => packages/backend}/tools/demote-admin.ts (100%) create mode 100644 packages/backend/tools/mark-admin.js create mode 100644 packages/backend/tools/mark-admin.js.map rename {src => packages/backend}/tools/mark-admin.ts (100%) create mode 100644 packages/backend/tools/refresh-question.js create mode 100644 packages/backend/tools/refresh-question.js.map rename {src => packages/backend}/tools/refresh-question.ts (100%) create mode 100644 packages/backend/tools/resync-remote-user.js create mode 100644 packages/backend/tools/resync-remote-user.js.map rename {src => packages/backend}/tools/resync-remote-user.ts (85%) create mode 100644 packages/backend/tools/show-signin-history.js create mode 100644 packages/backend/tools/show-signin-history.js.map rename {src => packages/backend}/tools/show-signin-history.ts (100%) rename {src => packages/backend}/tsconfig.json (82%) create mode 100644 packages/backend/yarn.lock rename {src => packages}/client/.eslintrc (97%) create mode 100644 packages/client/.npmrc rename {src => packages}/client/@types/global.d.ts (94%) rename {src => packages}/client/@types/vue.d.ts (100%) rename {assets/client => packages/client/assets}/about-icon.png (100%) rename {assets/client => packages/client/assets}/fedi.jpg (100%) rename {assets/client => packages/client/assets}/label-red.svg (100%) rename {assets/client => packages/client/assets}/label.svg (100%) rename {assets/client => packages/client/assets}/misskey.svg (100%) rename {assets/client => packages/client/assets}/remove.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/banknote/banknote.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/banknote/banknote.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/banknote/tex.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/bed/bed.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/bed/bed.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/bin/bin.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/bin/bin.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/book/book.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/book/book.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/book2/barcode.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/book2/book2.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/book2/book2.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/book2/texture.afdesign (100%) rename {assets/client => packages/client/assets}/room/furnitures/book2/texture.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/book2/uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box/cardboard-box.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box/cardboard-box.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box2/cardboard-box2.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box2/cardboard-box2.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box2/texture.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box2/uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box3/cardboard-box3.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box3/cardboard-box3.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box3/texture.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box3/texture.xcf (100%) rename {assets/client => packages/client/assets}/room/furnitures/cardboard-box3/uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/carpet-stripe/carpet-stripe.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/carpet-stripe/carpet-stripe.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/chair/chair.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/chair/chair.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/chair2/chair2.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/chair2/chair2.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/color-box/color-box.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/color-box/color-box.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/corkboard/corkboard.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/corkboard/corkboard.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/cube/cube.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/cube/cube.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/cup-noodle/cup-noodle.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/cup-noodle/cup-noodle.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/cup-noodle/noodle.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/desk/desk.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/desk/desk.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/doll-ai/doll-ai.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/doll-ai/doll-ai.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/doll-ai/doll_ai_tex.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/energy-drink/energy-drink.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/energy-drink/energy-drink.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/energy-drink/texture.afdesign (100%) rename {assets/client => packages/client/assets}/room/furnitures/energy-drink/texture.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/energy-drink/uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/eraser/cover.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/eraser/cover.psd (100%) rename {assets/client => packages/client/assets}/room/furnitures/eraser/eraser-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/eraser/eraser.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/eraser/eraser.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/facial-tissue/facial-tissue-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/facial-tissue/facial-tissue.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/facial-tissue/facial-tissue.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/facial-tissue/facial-tissue.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/facial-tissue/facial-tissue.psd (100%) rename {assets/client => packages/client/assets}/room/furnitures/fan/fan.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/fan/fan.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/holo-display/holo-display.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/holo-display/holo-display.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/holo-display/ray-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/holo-display/ray.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/keyboard/keyboard.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/keyboard/keyboard.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/low-table/low-table.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/low-table/low-table.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/mat/mat.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/mat/mat.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/milk/milk-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/milk/milk.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/milk/milk.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/milk/milk.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/milk/milk.psd (100%) rename {assets/client => packages/client/assets}/room/furnitures/monitor/monitor.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/monitor/monitor.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/monitor/monitor.psd (100%) rename {assets/client => packages/client/assets}/room/furnitures/monitor/screen-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/monitor/screen.jpg (100%) rename {assets/client => packages/client/assets}/room/furnitures/moon/moon.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/moon/moon.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/moon/moon.jpg (100%) rename {assets/client => packages/client/assets}/room/furnitures/mousepad/mousepad.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/mousepad/mousepad.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/pc/motherboard-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/pc/motherboard-uv.psd (100%) rename {assets/client => packages/client/assets}/room/furnitures/pc/motherboard.jpg (100%) rename {assets/client => packages/client/assets}/room/furnitures/pc/pc.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/pc/pc.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/pencil/pencil.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/pencil/pencil.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/photoframe/photo-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/photoframe/photo.jpg (100%) rename {assets/client => packages/client/assets}/room/furnitures/photoframe/photoframe.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/photoframe/photoframe.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/piano/piano.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/piano/piano.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/pinguin/pinguin.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/pinguin/pinguin.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/plant/plant-soil-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/plant/plant-soil.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/plant/plant-soil.psd (100%) rename {assets/client => packages/client/assets}/room/furnitures/plant/plant.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/plant/plant.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/plant2/plant2.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/plant2/plant2.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/plant2/soil.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/poster-h/poster-h.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/poster-h/poster-h.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/poster-h/uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/poster-v/poster-v.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/poster-v/poster-v.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/poster-v/uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/pudding/pudding.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/pudding/pudding.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/rubik-cube/rubik-cube.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/rubik-cube/rubik-cube.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/server/rack-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/server/rack.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/server/server.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/server/server.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/server/server.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/server/uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/sofa/sofa.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/sofa/sofa.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/spiral/spiral.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/spiral/spiral.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/tv/screen-uv.png (100%) rename {assets/client => packages/client/assets}/room/furnitures/tv/tv.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/tv/tv.glb (100%) rename {assets/client => packages/client/assets}/room/furnitures/wall-clock/wall-clock.blend (100%) rename {assets/client => packages/client/assets}/room/furnitures/wall-clock/wall-clock.glb (100%) rename {assets/client => packages/client/assets}/room/rooms/default/default.blend (100%) rename {assets/client => packages/client/assets}/room/rooms/default/default.glb (100%) rename {assets/client => packages/client/assets}/room/rooms/washitsu/husuma-uv.png (100%) rename {assets/client => packages/client/assets}/room/rooms/washitsu/husuma.png (100%) rename {assets/client => packages/client/assets}/room/rooms/washitsu/tatami-single1600.png (100%) rename {assets/client => packages/client/assets}/room/rooms/washitsu/tatami-uv.png (100%) rename {assets/client => packages/client/assets}/room/rooms/washitsu/tatami.afdesign (100%) rename {assets/client => packages/client/assets}/room/rooms/washitsu/tatami.png (100%) rename {assets/client => packages/client/assets}/room/rooms/washitsu/washitsu.blend (100%) rename {assets/client => packages/client/assets}/room/rooms/washitsu/washitsu.glb (100%) rename {assets/client => packages/client/assets}/sounds/aisha/1.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/aisha/2.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/aisha/3.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/noizenecio/kick_gaba.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/noizenecio/kick_gaba2.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/down.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/kick.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/pirori-square-wet.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/pirori-wet.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/pirori.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/poi1.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/poi2.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/pope1.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/pope2.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/popo.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/queue-jammed.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/reverved.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/ryukyu.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/snare.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/square-pico.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/triple.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/up.mp3 (100%) rename {assets/client => packages/client/assets}/sounds/syuilo/waon.mp3 (100%) rename {assets/client => packages/client/assets}/sparkle-spritesheet.png (100%) rename {assets/client => packages/client/assets}/unread.svg (100%) create mode 100644 packages/client/package.json rename {src/client => packages/client/src}/account.ts (93%) rename {src/client => packages/client/src}/components/abuse-report-window.vue (87%) rename {src/client => packages/client/src}/components/analog-clock.vue (100%) rename {src/client => packages/client/src}/components/autocomplete.vue (95%) rename {src/client => packages/client/src}/components/avatars.vue (93%) rename {src/client => packages/client/src}/components/captcha.vue (100%) rename {src/client => packages/client/src}/components/channel-follow-button.vue (98%) rename {src/client => packages/client/src}/components/channel-preview.vue (100%) rename {src/client => packages/client/src}/components/chart.vue (99%) rename {src/client => packages/client/src}/components/code-core.vue (100%) rename {src/client => packages/client/src}/components/code.vue (100%) rename {src/client => packages/client/src}/components/cw-button.vue (96%) rename {src/client => packages/client/src}/components/date-separated-list.vue (98%) rename {src/client => packages/client/src}/components/debobigego/base.vue (100%) rename {src/client => packages/client/src}/components/debobigego/button.vue (100%) rename {src/client => packages/client/src}/components/debobigego/debobigego.scss (100%) rename {src/client => packages/client/src}/components/debobigego/group.vue (100%) rename {src/client => packages/client/src}/components/debobigego/info.vue (100%) rename {src/client => packages/client/src}/components/debobigego/input.vue (100%) rename {src/client => packages/client/src}/components/debobigego/key-value-view.vue (100%) rename {src/client => packages/client/src}/components/debobigego/link.vue (100%) rename {src/client => packages/client/src}/components/debobigego/object-view.vue (100%) rename {src/client => packages/client/src}/components/debobigego/pagination.vue (95%) rename {src/client => packages/client/src}/components/debobigego/radios.vue (97%) rename {src/client => packages/client/src}/components/debobigego/range.vue (100%) rename {src/client => packages/client/src}/components/debobigego/select.vue (100%) rename {src/client => packages/client/src}/components/debobigego/suspense.vue (97%) rename {src/client => packages/client/src}/components/debobigego/switch.vue (100%) rename {src/client => packages/client/src}/components/debobigego/textarea.vue (100%) rename {src/client => packages/client/src}/components/debobigego/tuple.vue (100%) rename {src/client => packages/client/src}/components/dialog.vue (95%) rename {src/client => packages/client/src}/components/drive-file-thumbnail.vue (95%) rename {src/client => packages/client/src}/components/drive-select-dialog.vue (91%) rename {src/client => packages/client/src}/components/drive-window.vue (91%) rename {src/client => packages/client/src}/components/drive.file.vue (94%) rename {src/client => packages/client/src}/components/drive.folder.vue (99%) rename {src/client => packages/client/src}/components/drive.nav-folder.vue (98%) rename {src/client => packages/client/src}/components/drive.vue (99%) rename {src/client => packages/client/src}/components/emoji-picker-dialog.vue (92%) rename {src/client => packages/client/src}/components/emoji-picker-window.vue (96%) rename {src/client => packages/client/src}/components/emoji-picker.section.vue (92%) rename {src/client => packages/client/src}/components/emoji-picker.vue (96%) rename {src/client => packages/client/src}/components/featured-photos.vue (93%) rename {src/client => packages/client/src}/components/file-type-icon.vue (92%) rename {src/client => packages/client/src}/components/follow-button.vue (99%) rename {src/client => packages/client/src}/components/forgot-password.vue (89%) rename {src/client => packages/client/src}/components/form-dialog.vue (98%) rename {src/client => packages/client/src}/components/form/input.vue (99%) rename {src/client => packages/client/src}/components/form/radio.vue (100%) rename {src/client => packages/client/src}/components/form/radios.vue (100%) rename {src/client => packages/client/src}/components/form/range.vue (100%) rename {src/client => packages/client/src}/components/form/section.vue (100%) rename {src/client => packages/client/src}/components/form/select.vue (98%) rename {src/client => packages/client/src}/components/form/slot.vue (100%) rename {src/client => packages/client/src}/components/form/switch.vue (100%) rename {src/client => packages/client/src}/components/form/textarea.vue (98%) rename {src/client => packages/client/src}/components/formula-core.vue (80%) rename {src/client => packages/client/src}/components/formula.vue (93%) rename {src/client => packages/client/src}/components/gallery-post-preview.vue (92%) rename {src/client => packages/client/src}/components/global/a.vue (90%) rename {src/client => packages/client/src}/components/global/acct.vue (93%) rename {src/client => packages/client/src}/components/global/ad.vue (94%) rename {src/client => packages/client/src}/components/global/avatar.vue (91%) rename {src/client => packages/client/src}/components/global/ellipsis.vue (100%) rename {src/client => packages/client/src}/components/global/emoji.vue (94%) rename {src/client => packages/client/src}/components/global/error.vue (93%) rename {src/client => packages/client/src}/components/global/header.vue (96%) rename {src/client => packages/client/src}/components/global/i18n.ts (100%) rename {src/client => packages/client/src}/components/global/loading.vue (100%) rename {src/client => packages/client/src}/components/global/misskey-flavored-markdown.vue (99%) rename {src/client => packages/client/src}/components/global/spacer.vue (100%) rename {src/client => packages/client/src}/components/global/sticky-container.vue (100%) rename {src/client => packages/client/src}/components/global/time.vue (100%) rename {src/client => packages/client/src}/components/global/url.vue (92%) rename {src/client => packages/client/src}/components/global/user-name.vue (100%) rename {src/client => packages/client/src}/components/google.vue (96%) rename {src/client => packages/client/src}/components/image-viewer.vue (91%) rename {src/client => packages/client/src}/components/img-with-blurhash.vue (100%) rename {src/client => packages/client/src}/components/index.ts (100%) rename {src/client => packages/client/src}/components/instance-stats.vue (92%) rename {src/client => packages/client/src}/components/instance-ticker.vue (95%) rename {src/client => packages/client/src}/components/launch-pad.vue (95%) rename {src/client => packages/client/src}/components/link.vue (87%) rename {src/client => packages/client/src}/components/media-banner.vue (95%) rename {src/client => packages/client/src}/components/media-caption.vue (91%) rename {src/client => packages/client/src}/components/media-image.vue (91%) rename {src/client => packages/client/src}/components/media-list.vue (97%) rename {src/client => packages/client/src}/components/media-video.vue (98%) rename {src/client => packages/client/src}/components/mention.vue (85%) rename {src/client => packages/client/src}/components/mfm.ts (92%) rename {src/client => packages/client/src}/components/mini-chart.vue (98%) rename {src/client => packages/client/src}/components/modal-page-window.vue (92%) rename {src/client => packages/client/src}/components/note-detailed.vue (97%) rename {src/client => packages/client/src}/components/note-header.vue (94%) rename {src/client => packages/client/src}/components/note-preview.vue (100%) rename {src/client => packages/client/src}/components/note-simple.vue (98%) rename {src/client => packages/client/src}/components/note.sub.vue (98%) rename {src/client => packages/client/src}/components/note.vue (97%) rename {src/client => packages/client/src}/components/notes.vue (96%) rename {src/client => packages/client/src}/components/notification-setting-window.vue (95%) rename {src/client => packages/client/src}/components/notification.vue (97%) rename {src/client => packages/client/src}/components/notifications.vue (95%) rename {src/client => packages/client/src}/components/number-diff.vue (94%) rename {src/client => packages/client/src}/components/page-preview.vue (96%) rename {src/client => packages/client/src}/components/page-window.vue (91%) rename {src/client => packages/client/src}/components/page/page.block.vue (92%) rename {src/client => packages/client/src}/components/page/page.button.vue (90%) rename {src/client => packages/client/src}/components/page/page.canvas.vue (83%) rename {src/client => packages/client/src}/components/page/page.counter.vue (85%) rename {src/client => packages/client/src}/components/page/page.if.vue (84%) rename {src/client => packages/client/src}/components/page/page.image.vue (79%) rename {src/client => packages/client/src}/components/page/page.note.vue (79%) rename {src/client => packages/client/src}/components/page/page.number-input.vue (86%) rename {src/client => packages/client/src}/components/page/page.post.vue (92%) rename {src/client => packages/client/src}/components/page/page.radio-button.vue (84%) rename {src/client => packages/client/src}/components/page/page.section.vue (86%) rename {src/client => packages/client/src}/components/page/page.switch.vue (86%) rename {src/client => packages/client/src}/components/page/page.text-input.vue (86%) rename {src/client => packages/client/src}/components/page/page.text.vue (79%) rename {src/client => packages/client/src}/components/page/page.textarea-input.vue (80%) rename {src/client => packages/client/src}/components/page/page.textarea.vue (85%) rename {src/client => packages/client/src}/components/page/page.vue (89%) rename {src/client => packages/client/src}/components/particle.vue (100%) rename {src/client => packages/client/src}/components/poll-editor.vue (97%) rename {src/client => packages/client/src}/components/poll.vue (97%) rename {src/client => packages/client/src}/components/post-form-attaches.vue (97%) rename {src/client => packages/client/src}/components/post-form-dialog.vue (78%) rename {src/client => packages/client/src}/components/post-form.vue (97%) rename {src/client => packages/client/src}/components/queue-chart.vue (97%) rename {src/client => packages/client/src}/components/reaction-icon.vue (100%) rename {src/client => packages/client/src}/components/reaction-tooltip.vue (100%) rename {src/client => packages/client/src}/components/reactions-viewer.details.vue (100%) rename {src/client => packages/client/src}/components/reactions-viewer.reaction.vue (95%) rename {src/client => packages/client/src}/components/reactions-viewer.vue (100%) rename {src/client => packages/client/src}/components/remote-caution.vue (94%) rename {src/client => packages/client/src}/components/sample.vue (87%) rename {src/client => packages/client/src}/components/signin-dialog.vue (90%) rename {src/client => packages/client/src}/components/signin.vue (95%) mode change 100755 => 100644 rename {src/client => packages/client/src}/components/signup-dialog.vue (92%) rename {src/client => packages/client/src}/components/signup.vue (98%) rename {src/client => packages/client/src}/components/sparkle.vue (97%) rename {src/client => packages/client/src}/components/sub-note-content.vue (97%) rename {src/client => packages/client/src}/components/tab.vue (100%) rename {src/client => packages/client/src}/components/taskmanager.api-window.vue (92%) rename {src/client => packages/client/src}/components/taskmanager.vue (95%) rename {src/client => packages/client/src}/components/timeline.vue (98%) rename {src/client => packages/client/src}/components/toast.vue (100%) rename {src/client => packages/client/src}/components/token-generate-window.vue (94%) rename {src/client => packages/client/src}/components/ui/button.vue (100%) rename {src/client => packages/client/src}/components/ui/container.vue (100%) rename {src/client => packages/client/src}/components/ui/context-menu.vue (97%) rename {src/client => packages/client/src}/components/ui/folder.vue (100%) rename {src/client => packages/client/src}/components/ui/hr.vue (76%) rename {src/client => packages/client/src}/components/ui/info.vue (95%) rename {src/client => packages/client/src}/components/ui/menu.vue (98%) rename {src/client => packages/client/src}/components/ui/modal-window.vue (100%) rename {src/client => packages/client/src}/components/ui/modal.vue (100%) rename {src/client => packages/client/src}/components/ui/pagination.vue (96%) rename {src/client => packages/client/src}/components/ui/popup-menu.vue (100%) rename {src/client => packages/client/src}/components/ui/popup.vue (100%) rename {src/client => packages/client/src}/components/ui/super-menu.vue (100%) rename {src/client => packages/client/src}/components/ui/tooltip.vue (100%) rename {src/client => packages/client/src}/components/ui/window.vue (99%) rename {src/client => packages/client/src}/components/updated.vue (87%) rename {src/client => packages/client/src}/components/url-preview-popup.vue (96%) rename {src/client => packages/client/src}/components/url-preview.vue (98%) rename {src/client => packages/client/src}/components/user-info.vue (96%) rename {src/client => packages/client/src}/components/user-list.vue (94%) rename {src/client => packages/client/src}/components/user-online-indicator.vue (100%) rename {src/client => packages/client/src}/components/user-preview.vue (96%) rename {src/client => packages/client/src}/components/user-select-dialog.vue (97%) rename {src/client => packages/client/src}/components/users-dialog.vue (96%) rename {src/client => packages/client/src}/components/visibility-picker.vue (98%) rename {src/client => packages/client/src}/components/waiting-dialog.vue (96%) rename {src/client => packages/client/src}/components/widgets.vue (94%) rename {src/client => packages/client/src}/config.ts (100%) rename {src/client => packages/client/src}/directives/anim.ts (100%) rename {src/client => packages/client/src}/directives/appear.ts (100%) rename {src/client => packages/client/src}/directives/click-anime.ts (93%) rename {src/client => packages/client/src}/directives/follow-append.ts (91%) rename {src/client => packages/client/src}/directives/get-size.ts (100%) rename {src/client => packages/client/src}/directives/hotkey.ts (100%) rename {src/client => packages/client/src}/directives/index.ts (100%) rename {src/client => packages/client/src}/directives/particle.ts (80%) rename {src/client => packages/client/src}/directives/size.ts (100%) rename {src/client => packages/client/src}/directives/sticky-container.ts (100%) rename {src/client => packages/client/src}/directives/tooltip.ts (91%) rename {src/client => packages/client/src}/directives/user-preview.ts (96%) rename {src => packages/client/src}/emojilist.json (100%) rename {src/client => packages/client/src}/events.ts (100%) rename {src/client => packages/client/src}/filters/bytes.ts (100%) rename {src/client => packages/client/src}/filters/note.ts (100%) rename {src/client => packages/client/src}/filters/number.ts (100%) create mode 100644 packages/client/src/filters/user.ts rename {src/client => packages/client/src}/i18n.ts (80%) rename {src/client => packages/client/src}/init.ts (84%) rename {src/client => packages/client/src}/instance.ts (100%) rename {src/client => packages/client/src}/menu.ts (95%) rename {src/client => packages/client/src}/os.ts (91%) rename {src/client => packages/client/src}/pages/_error_.vue (88%) rename {src/client => packages/client/src}/pages/_loading_.vue (80%) rename {src/client => packages/client/src}/pages/about-misskey.vue (90%) rename {src/client => packages/client/src}/pages/about.vue (80%) rename {src/client => packages/client/src}/pages/admin/abuses.vue (91%) rename {src/client => packages/client/src}/pages/admin/ads.vue (90%) rename {src/client => packages/client/src}/pages/admin/announcements.vue (91%) rename {src/client => packages/client/src}/pages/admin/bot-protection.vue (85%) rename {src/client => packages/client/src}/pages/admin/database.vue (69%) rename {src/client => packages/client/src}/pages/admin/email-settings.vue (82%) rename {src/client => packages/client/src}/pages/admin/emoji-edit-dialog.vue (89%) rename {src/client => packages/client/src}/pages/admin/emojis.vue (94%) rename {src/client => packages/client/src}/pages/admin/file-dialog.vue (86%) rename {src/client => packages/client/src}/pages/admin/files-settings.vue (80%) rename {src/client => packages/client/src}/pages/admin/files.vue (89%) rename {src/client => packages/client/src}/pages/admin/index.vue (94%) rename {src/client => packages/client/src}/pages/admin/instance-block.vue (63%) rename {src/client => packages/client/src}/pages/admin/instance.vue (93%) rename {src/client => packages/client/src}/pages/admin/integrations-discord.vue (76%) rename {src/client => packages/client/src}/pages/admin/integrations-github.vue (76%) rename {src/client => packages/client/src}/pages/admin/integrations-twitter.vue (76%) rename {src/client => packages/client/src}/pages/admin/integrations.vue (70%) rename {src/client => packages/client/src}/pages/admin/metrics.vue (95%) rename {src/client => packages/client/src}/pages/admin/object-storage.vue (90%) rename {src/client => packages/client/src}/pages/admin/other-settings.vue (74%) rename {src/client => packages/client/src}/pages/admin/overview.vue (88%) rename {src/client => packages/client/src}/pages/admin/proxy-account.vue (69%) rename {src/client => packages/client/src}/pages/admin/queue.chart.vue (94%) rename {src/client => packages/client/src}/pages/admin/queue.vue (83%) rename {src/client => packages/client/src}/pages/admin/relays.vue (84%) rename {src/client => packages/client/src}/pages/admin/security.vue (75%) rename {src/client => packages/client/src}/pages/admin/service-worker.vue (75%) rename {src/client => packages/client/src}/pages/admin/settings.vue (85%) rename {src/client => packages/client/src}/pages/admin/users.vue (93%) rename {src/client => packages/client/src}/pages/advanced-theme-editor.vue (93%) rename {src/client => packages/client/src}/pages/announcements.vue (89%) rename {src/client => packages/client/src}/pages/antenna-timeline.vue (91%) rename {src/client => packages/client/src}/pages/api-console.vue (86%) rename {src/client => packages/client/src}/pages/auth.form.vue (93%) rename {src/client => packages/client/src}/pages/auth.vue (93%) mode change 100755 => 100644 rename {src/client => packages/client/src}/pages/channel-editor.vue (89%) rename {src/client => packages/client/src}/pages/channel.vue (91%) rename {src/client => packages/client/src}/pages/channels.vue (87%) rename {src/client => packages/client/src}/pages/clip.vue (91%) rename {src/client => packages/client/src}/pages/drive.vue (75%) rename {src/client => packages/client/src}/pages/emojis.category.vue (86%) rename {src/client => packages/client/src}/pages/emojis.emoji.vue (94%) rename {src/client => packages/client/src}/pages/emojis.vue (87%) rename {src/client => packages/client/src}/pages/explore.vue (94%) rename {src/client => packages/client/src}/pages/favorites.vue (82%) rename {src/client => packages/client/src}/pages/featured.vue (80%) rename {src/client => packages/client/src}/pages/federation.vue (95%) rename {src/client => packages/client/src}/pages/follow-requests.vue (94%) rename {src/client => packages/client/src}/pages/follow.vue (90%) rename {src/client => packages/client/src}/pages/gallery/edit.vue (84%) rename {src/client => packages/client/src}/pages/gallery/index.vue (85%) rename {src/client => packages/client/src}/pages/gallery/post.vue (91%) rename {src/client => packages/client/src}/pages/instance-info.vue (89%) rename {src/client => packages/client/src}/pages/mentions.vue (79%) rename {src/client => packages/client/src}/pages/messages.vue (81%) rename {src/client => packages/client/src}/pages/messaging/index.vue (94%) rename {src/client => packages/client/src}/pages/messaging/messaging-room.form.vue (97%) rename {src/client => packages/client/src}/pages/messaging/messaging-room.message.vue (96%) rename {src/client => packages/client/src}/pages/messaging/messaging-room.vue (96%) rename {src/client => packages/client/src}/pages/mfm-cheat-sheet.vue (99%) rename {src/client => packages/client/src}/pages/miauth.vue (91%) rename {src/client => packages/client/src}/pages/my-antennas/create.vue (88%) rename {src/client => packages/client/src}/pages/my-antennas/edit.vue (85%) rename {src/client => packages/client/src}/pages/my-antennas/editor.vue (93%) rename {src/client => packages/client/src}/pages/my-antennas/index.vue (88%) rename {src/client => packages/client/src}/pages/my-clips/index.vue (90%) rename {src/client => packages/client/src}/pages/my-groups/group.vue (95%) rename {src/client => packages/client/src}/pages/my-groups/index.vue (89%) rename {src/client => packages/client/src}/pages/my-lists/index.vue (85%) rename {src/client => packages/client/src}/pages/my-lists/list.vue (94%) rename {src/client => packages/client/src}/pages/not-found.vue (84%) rename {src/client => packages/client/src}/pages/note.vue (92%) rename {src/client => packages/client/src}/pages/notifications.vue (88%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.button.vue (93%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.canvas.vue (93%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.counter.vue (91%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.if.vue (95%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.image.vue (91%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.note.vue (86%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.number-input.vue (91%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.post.vue (84%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.radio-button.vue (90%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.section.vue (98%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.switch.vue (87%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.text-input.vue (91%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.text.vue (96%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.textarea-input.vue (87%) rename {src/client => packages/client/src}/pages/page-editor/els/page-editor.el.textarea.vue (96%) rename {src/client => packages/client/src}/pages/page-editor/page-editor.blocks.vue (98%) rename {src/client => packages/client/src}/pages/page-editor/page-editor.container.vue (100%) rename {src/client => packages/client/src}/pages/page-editor/page-editor.script-block.vue (96%) rename {src/client => packages/client/src}/pages/page-editor/page-editor.vue (95%) rename {src/client => packages/client/src}/pages/page.vue (93%) rename {src/client => packages/client/src}/pages/pages.vue (88%) rename {src/client => packages/client/src}/pages/preview.vue (80%) rename {src/client => packages/client/src}/pages/reset-password.vue (66%) rename {src/client => packages/client/src}/pages/reversi/game.board.vue (97%) rename {src/client => packages/client/src}/pages/reversi/game.setting.vue (97%) rename {src/client => packages/client/src}/pages/reversi/game.vue (94%) rename {src/client => packages/client/src}/pages/reversi/index.vue (96%) rename {src/client => packages/client/src}/pages/room/preview.vue (98%) rename {src/client => packages/client/src}/pages/room/room.vue (92%) rename {src/client => packages/client/src}/pages/scratchpad.vue (91%) rename {src/client => packages/client/src}/pages/search.vue (85%) rename {src/client => packages/client/src}/pages/settings/2fa.vue (91%) rename {src/client => packages/client/src}/pages/settings/account-info.vue (89%) rename {src/client => packages/client/src}/pages/settings/accounts.vue (82%) rename {src/client => packages/client/src}/pages/settings/api.vue (67%) rename {src/client => packages/client/src}/pages/settings/apps.vue (82%) rename {src/client => packages/client/src}/pages/settings/custom-css.vue (59%) rename {src/client => packages/client/src}/pages/settings/deck.vue (79%) rename {src/client => packages/client/src}/pages/settings/delete-account.vue (74%) rename {src/client => packages/client/src}/pages/settings/drive.vue (87%) rename {src/client => packages/client/src}/pages/settings/email-address.vue (78%) rename {src/client => packages/client/src}/pages/settings/email-notification.vue (84%) rename {src/client => packages/client/src}/pages/settings/email.vue (76%) rename {src/client => packages/client/src}/pages/settings/experimental-features.vue (54%) rename {src/client => packages/client/src}/pages/settings/general.vue (90%) rename {src/client => packages/client/src}/pages/settings/import-export.vue (92%) rename {src/client => packages/client/src}/pages/settings/index.vue (95%) rename {src/client => packages/client/src}/pages/settings/integration.vue (94%) rename {src/client => packages/client/src}/pages/settings/menu.vue (83%) rename {src/client => packages/client/src}/pages/settings/mute-block.vue (77%) rename {src/client => packages/client/src}/pages/settings/notifications.vue (77%) rename {src/client => packages/client/src}/pages/settings/other.vue (76%) rename {src/client => packages/client/src}/pages/settings/plugin.install.vue (78%) rename {src/client => packages/client/src}/pages/settings/plugin.manage.vue (84%) rename {src/client => packages/client/src}/pages/settings/plugin.vue (72%) rename {src/client => packages/client/src}/pages/settings/privacy.vue (90%) rename {src/client => packages/client/src}/pages/settings/profile.vue (91%) rename {src/client => packages/client/src}/pages/settings/reaction.vue (88%) rename {src/client => packages/client/src}/pages/settings/registry.keys.vue (80%) rename {src/client => packages/client/src}/pages/settings/registry.value.vue (82%) rename {src/client => packages/client/src}/pages/settings/registry.vue (75%) rename {src/client => packages/client/src}/pages/settings/security.vue (88%) rename {src/client => packages/client/src}/pages/settings/sounds.vue (87%) rename {src/client => packages/client/src}/pages/settings/theme.install.vue (72%) rename {src/client => packages/client/src}/pages/settings/theme.manage.vue (75%) rename {src/client => packages/client/src}/pages/settings/theme.vue (92%) rename {src/client => packages/client/src}/pages/settings/update.vue (74%) rename {src/client => packages/client/src}/pages/settings/word-mute.vue (83%) rename {src/client => packages/client/src}/pages/share.vue (92%) rename {src/client => packages/client/src}/pages/signup-complete.vue (81%) rename {src/client => packages/client/src}/pages/tag.vue (83%) rename {src/client => packages/client/src}/pages/test.vue (94%) rename {src/client => packages/client/src}/pages/theme-editor.vue (94%) rename {src/client => packages/client/src}/pages/timeline.tutorial.vue (98%) rename {src/client => packages/client/src}/pages/timeline.vue (94%) rename {src/client => packages/client/src}/pages/user-ap-info.vue (79%) rename {src/client => packages/client/src}/pages/user-info.vue (86%) rename {src/client => packages/client/src}/pages/user-list-timeline.vue (90%) rename {src/client => packages/client/src}/pages/user/clips.vue (92%) rename {src/client => packages/client/src}/pages/user/follow-list.vue (89%) rename {src/client => packages/client/src}/pages/user/gallery.vue (85%) rename {src/client => packages/client/src}/pages/user/index.activity.vue (80%) rename {src/client => packages/client/src}/pages/user/index.photos.vue (87%) rename {src/client => packages/client/src}/pages/user/index.timeline.vue (90%) rename {src/client => packages/client/src}/pages/user/index.vue (96%) rename {src/client => packages/client/src}/pages/user/pages.vue (83%) rename {src/client => packages/client/src}/pages/user/reactions.vue (88%) rename {src/client => packages/client/src}/pages/v.vue (87%) rename {src/client => packages/client/src}/pages/welcome.entrance.a.vue (92%) rename {src/client => packages/client/src}/pages/welcome.entrance.b.vue (89%) rename {src/client => packages/client/src}/pages/welcome.entrance.c.vue (92%) rename {src/client => packages/client/src}/pages/welcome.setup.vue (89%) rename {src/client => packages/client/src}/pages/welcome.timeline.vue (89%) rename {src/client => packages/client/src}/pages/welcome.vue (81%) rename {src/client => packages/client/src}/pizzax.ts (100%) rename {src/client => packages/client/src}/plugin.ts (96%) rename {src/client => packages/client/src}/router.ts (97%) rename {src/client => packages/client/src}/scripts/2fa.ts (100%) rename {src/client => packages/client/src}/scripts/aiscript/api.ts (95%) create mode 100644 packages/client/src/scripts/array.ts rename {src/client => packages/client/src}/scripts/autocomplete.ts (98%) rename {src/client => packages/client/src}/scripts/check-word-mute.ts (100%) rename {src/client => packages/client/src}/scripts/collect-page-vars.ts (100%) rename {src/client => packages/client/src}/scripts/contains.ts (100%) rename {src/client => packages/client/src}/scripts/copy-to-clipboard.ts (100%) rename {src/misc => packages/client/src/scripts}/emojilist.ts (100%) rename {src/client => packages/client/src}/scripts/extract-avg-color-from-blurhash.ts (100%) create mode 100644 packages/client/src/scripts/extract-mentions.ts rename {src/misc => packages/client/src/scripts}/extract-url-from-mfm.ts (94%) rename {src/client => packages/client/src}/scripts/focus.ts (100%) rename {src/client => packages/client/src}/scripts/form.ts (100%) rename {src/misc => packages/client/src/scripts}/format-time-string.ts (100%) create mode 100644 packages/client/src/scripts/games/reversi/core.ts create mode 100644 packages/client/src/scripts/games/reversi/maps.ts create mode 100644 packages/client/src/scripts/games/reversi/package.json create mode 100644 packages/client/src/scripts/games/reversi/tsconfig.json rename {src/client => packages/client/src}/scripts/gen-search-query.ts (77%) rename {src/client => packages/client/src}/scripts/get-account-from-id.ts (82%) rename {src/client => packages/client/src}/scripts/get-md5.ts (100%) create mode 100644 packages/client/src/scripts/get-note-summary.ts rename {src/client => packages/client/src}/scripts/get-static-image-url.ts (83%) rename {src/client => packages/client/src}/scripts/get-user-menu.ts (91%) rename {src/client => packages/client/src}/scripts/hotkey.ts (100%) rename {src/client => packages/client/src}/scripts/hpml/block.ts (100%) rename {src/client => packages/client/src}/scripts/hpml/evaluator.ts (98%) rename {src/client => packages/client/src}/scripts/hpml/expr.ts (100%) rename {src/client => packages/client/src}/scripts/hpml/index.ts (100%) rename {src/client => packages/client/src}/scripts/hpml/lib.ts (100%) rename {src/client => packages/client/src}/scripts/hpml/type-checker.ts (100%) create mode 100644 packages/client/src/scripts/i18n.ts rename {src/client => packages/client/src}/scripts/idb-proxy.ts (100%) rename {src/client => packages/client/src}/scripts/initialize-sw.ts (92%) rename {src/client => packages/client/src}/scripts/is-device-darkmode.ts (100%) rename {src/client => packages/client/src}/scripts/is-device-touch.ts (100%) rename {src/client => packages/client/src}/scripts/is-mobile.ts (100%) rename {src/client => packages/client/src}/scripts/keycode.ts (100%) rename {src/client => packages/client/src}/scripts/loading.ts (100%) rename {src/client => packages/client/src}/scripts/login-id.ts (100%) rename {src/client => packages/client/src}/scripts/lookup-user.ts (78%) create mode 100644 packages/client/src/scripts/mfm-tags.ts rename {src/client => packages/client/src}/scripts/paging.ts (99%) rename {src/client => packages/client/src}/scripts/physics.ts (100%) rename {src/client => packages/client/src}/scripts/please-login.ts (58%) rename {src/client => packages/client/src}/scripts/popout.ts (95%) rename {src/client => packages/client/src}/scripts/reaction-picker.ts (88%) rename {src/client => packages/client/src}/scripts/room/furniture.ts (100%) rename {src/client => packages/client/src}/scripts/room/furnitures.json5 (100%) rename {src/client => packages/client/src}/scripts/room/room.ts (98%) rename {src/client => packages/client/src}/scripts/scroll.ts (100%) rename {src/client => packages/client/src}/scripts/search.ts (93%) rename {src/client => packages/client/src}/scripts/select-file.ts (94%) rename {src/client => packages/client/src}/scripts/show-suspended-dialog.ts (72%) rename {src/client => packages/client/src}/scripts/sound.ts (88%) rename {src/client => packages/client/src}/scripts/sticky-sidebar.ts (100%) rename {src/client => packages/client/src}/scripts/theme-editor.ts (100%) rename {src/client => packages/client/src}/scripts/theme.ts (80%) create mode 100644 packages/client/src/scripts/time.ts rename {src/misc => packages/client/src/scripts}/twemoji-base.ts (100%) rename {src/client => packages/client/src}/scripts/unison-reload.ts (100%) create mode 100644 packages/client/src/scripts/url.ts rename {src/client => packages/client/src}/store.ts (98%) rename {src/client => packages/client/src}/style.scss (100%) rename {src/client => packages/client/src}/sw/compose-notification.ts (93%) rename {src/client => packages/client/src}/sw/sw.ts (96%) rename {src/client => packages/client/src}/symbols.ts (100%) rename {src/client => packages/client/src}/theme-store.ts (93%) rename {src/client => packages/client/src}/themes/_dark.json5 (100%) rename {src/client => packages/client/src}/themes/_light.json5 (100%) rename {src/client => packages/client/src}/themes/d-astro.json5 (100%) rename {src/client => packages/client/src}/themes/d-black.json5 (100%) rename {src/client => packages/client/src}/themes/d-botanical.json5 (100%) rename {src/client => packages/client/src}/themes/d-dark.json5 (100%) rename {src/client => packages/client/src}/themes/d-future.json5 (100%) rename {src/client => packages/client/src}/themes/d-persimmon.json5 (100%) rename {src/client => packages/client/src}/themes/d-pumpkin.json5 (100%) rename {src/client => packages/client/src}/themes/l-apricot.json5 (100%) rename {src/client => packages/client/src}/themes/l-light.json5 (100%) rename {src/client => packages/client/src}/themes/l-rainy.json5 (100%) rename {src/client => packages/client/src}/themes/l-sushi.json5 (100%) rename {src/client => packages/client/src}/themes/l-vivid.json5 (100%) rename {src/client => packages/client/src}/ui/_common_/common.vue (91%) rename {src/client => packages/client/src}/ui/_common_/sidebar.vue (96%) rename {src/client => packages/client/src}/ui/_common_/stream-indicator.vue (97%) rename {src/client => packages/client/src}/ui/_common_/upload.vue (99%) rename {src/client => packages/client/src}/ui/chat/date-separated-list.vue (98%) rename {src/client => packages/client/src}/ui/chat/header-clock.vue (97%) rename {src/client => packages/client/src}/ui/chat/index.vue (96%) rename {src/client => packages/client/src}/ui/chat/note-header.vue (94%) rename {src/client => packages/client/src}/ui/chat/note-preview.vue (94%) rename {src/client => packages/client/src}/ui/chat/note.sub.vue (96%) rename {src/client => packages/client/src}/ui/chat/note.vue (96%) rename {src/client => packages/client/src}/ui/chat/notes.vue (95%) rename {src/client => packages/client/src}/ui/chat/pages/channel.vue (95%) rename {src/client => packages/client/src}/ui/chat/pages/timeline.vue (94%) rename {src/client => packages/client/src}/ui/chat/post-form.vue (95%) rename {src/client => packages/client/src}/ui/chat/side.vue (92%) rename {src/client => packages/client/src}/ui/chat/store.ts (100%) rename {src/client => packages/client/src}/ui/chat/sub-note-content.vue (89%) rename {src/client => packages/client/src}/ui/chat/widgets.vue (96%) rename {src/client => packages/client/src}/ui/classic.header.vue (92%) rename {src/client => packages/client/src}/ui/classic.side.vue (93%) rename {src/client => packages/client/src}/ui/classic.sidebar.vue (92%) rename {src/client => packages/client/src}/ui/classic.vue (97%) rename {src/client => packages/client/src}/ui/classic.widgets.vue (97%) rename {src/client => packages/client/src}/ui/deck.vue (94%) rename {src/client => packages/client/src}/ui/deck/antenna-column.vue (94%) rename {src/client => packages/client/src}/ui/deck/column-core.vue (100%) rename {src/client => packages/client/src}/ui/deck/column.vue (99%) rename {src/client => packages/client/src}/ui/deck/deck-store.ts (99%) rename {src/client => packages/client/src}/ui/deck/direct-column.vue (86%) rename {src/client => packages/client/src}/ui/deck/list-column.vue (94%) rename {src/client => packages/client/src}/ui/deck/main-column.vue (90%) rename {src/client => packages/client/src}/ui/deck/mentions-column.vue (85%) rename {src/client => packages/client/src}/ui/deck/notifications-column.vue (84%) rename {src/client => packages/client/src}/ui/deck/tl-column.vue (96%) rename {src/client => packages/client/src}/ui/deck/widgets-column.vue (96%) rename {src/client => packages/client/src}/ui/desktop.vue (78%) rename {src/client => packages/client/src}/ui/universal.vue (96%) rename {src/client => packages/client/src}/ui/universal.widgets.vue (94%) rename {src/client => packages/client/src}/ui/visitor.vue (100%) rename {src/client => packages/client/src}/ui/visitor/a.vue (93%) rename {src/client => packages/client/src}/ui/visitor/b.vue (93%) rename {src/client => packages/client/src}/ui/visitor/header.vue (95%) rename {src/client => packages/client/src}/ui/visitor/kanban.vue (93%) rename {src/client => packages/client/src}/ui/zen.vue (96%) rename {src/client => packages/client/src}/widgets/activity.calendar.vue (98%) rename {src/client => packages/client/src}/widgets/activity.chart.vue (98%) rename {src/client => packages/client/src}/widgets/activity.vue (94%) rename {src/client => packages/client/src}/widgets/aichan.vue (92%) rename {src/client => packages/client/src}/widgets/aiscript.vue (94%) rename {src/client => packages/client/src}/widgets/button.vue (90%) rename {src/client => packages/client/src}/widgets/calendar.vue (99%) rename {src/client => packages/client/src}/widgets/clock.vue (83%) rename {src/client => packages/client/src}/widgets/define.ts (94%) rename {src/client => packages/client/src}/widgets/digital-clock.vue (98%) rename {src/client => packages/client/src}/widgets/federation.vue (95%) rename {src/client => packages/client/src}/widgets/index.ts (100%) rename {src/client => packages/client/src}/widgets/job-queue.vue (97%) rename {src/client => packages/client/src}/widgets/memo.vue (94%) rename {src/client => packages/client/src}/widgets/notifications.vue (82%) rename {src/client => packages/client/src}/widgets/online-users.vue (97%) rename {src/client => packages/client/src}/widgets/photos.vue (92%) rename {src/client => packages/client/src}/widgets/post-form.vue (85%) rename {src/client => packages/client/src}/widgets/rss.vue (94%) rename {src/client => packages/client/src}/widgets/server-metric/cpu-mem.vue (100%) rename {src/client => packages/client/src}/widgets/server-metric/cpu.vue (100%) rename {src/client => packages/client/src}/widgets/server-metric/disk.vue (95%) rename {src/client => packages/client/src}/widgets/server-metric/index.vue (94%) rename {src/client => packages/client/src}/widgets/server-metric/mem.vue (96%) rename {src/client => packages/client/src}/widgets/server-metric/net.vue (98%) rename {src/client => packages/client/src}/widgets/server-metric/pie.vue (100%) rename {src/client => packages/client/src}/widgets/slideshow.vue (98%) rename {src/client => packages/client/src}/widgets/timeline.vue (95%) rename {src/client => packages/client/src}/widgets/trends.vue (92%) rename {src => packages}/client/tsconfig.json (85%) rename webpack.config.ts => packages/client/webpack.config.js (82%) create mode 100644 packages/client/yarn.lock rename {src => packages}/meta.json (100%) delete mode 100644 src/client/filters/user.ts delete mode 100644 src/mfm/fn-name-list.ts delete mode 100644 src/misc/acct.ts delete mode 100644 src/misc/get-user-name.ts delete mode 100644 src/misc/license.ts delete mode 100644 src/server/api/openapi/description.ts delete mode 100644 src/well-known-services.ts delete mode 100644 vetur.config.js diff --git a/.gitignore b/.gitignore index f8baa4384..9928d93aa 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ /.idea # Node.js -/node_modules +node_modules report.*.json # Cypress @@ -20,7 +20,7 @@ cypress/videos # misskey /build -/built +built /data /.cache-loader /db diff --git a/.imgbotconfig b/.imgbotconfig deleted file mode 100644 index 6a1dfe1ed..000000000 --- a/.imgbotconfig +++ /dev/null @@ -1,5 +0,0 @@ -{ - "ignoredFiles": [ - "test/resources/*" - ] -} diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 000000000..91d3a3ade --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,71 @@ +/** + * Gulp tasks + */ + +const fs = require('fs'); +const gulp = require('gulp'); +const rimraf = require('rimraf'); +const replace = require('gulp-replace'); +const terser = require('gulp-terser'); +const cssnano = require('gulp-cssnano'); + +const locales = require('./locales'); +const meta = require('./package.json'); + +gulp.task('copy:backend:views', () => + gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views')) +); + +gulp.task('copy:client:fonts', () => + gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/')) +); + +gulp.task('copy:client:locales', cb => { + fs.mkdirSync('./built/_client_dist_/locales', { recursive: true }); + + const v = { '_version_': meta.version }; + + for (const [lang, locale] of Object.entries(locales)) { + fs.writeFileSync(`./built/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8'); + } + + cb(); +}); + +gulp.task('build:backend:script', () => { + return gulp.src(['./packages/backend/src/server/web/boot.js', './packages/backend/src/server/web/bios.js', './packages/backend/src/server/web/cli.js']) + .pipe(replace('VERSION', JSON.stringify(meta.version))) + .pipe(replace('LANGS', JSON.stringify(Object.keys(locales)))) + .pipe(terser({ + toplevel: true + })) + .pipe(gulp.dest('./packages/backend/built/server/web/')); +}); + +gulp.task('build:backend:style', () => { + return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css']) + .pipe(cssnano({ + zindex: false + })) + .pipe(gulp.dest('./packages/backend/built/server/web/')); +}); + +gulp.task('clean', cb => + rimraf('./built', cb) +); + +gulp.task('cleanall', gulp.parallel('clean', cb => + rimraf('./node_modules', cb) +)); + +gulp.task('build', gulp.parallel( + 'copy:client:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:client:fonts' +)); + +gulp.task('default', gulp.task('build')); + +gulp.task('watch', () => { + gulp.watch([ + './packages/**/*', + ], { ignoreInitial: false }, gulp.task('build')); +}); diff --git a/gulpfile.ts b/gulpfile.ts deleted file mode 100644 index 2cdcbdb6f..000000000 --- a/gulpfile.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Gulp tasks - */ - -import * as fs from 'fs'; -import * as gulp from 'gulp'; -import rimraf from 'rimraf'; -const replace = require('gulp-replace'); -const terser = require('gulp-terser'); -const cssnano = require('gulp-cssnano'); - -const locales: { [x: string]: any } = require('./locales'); -const meta = require('./package.json'); - -gulp.task('build:copy:views', () => - gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views')) -); - -gulp.task('build:copy:fonts', () => - gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/assets/fonts/')) -); - -gulp.task('build:copy:locales', cb => { - fs.mkdirSync('./built/assets/locales', { recursive: true }); - - const v = { '_version_': meta.version }; - - for (const [lang, locale] of Object.entries(locales)) { - fs.writeFileSync(`./built/assets/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8'); - } - - cb(); -}); - -gulp.task('build:client:script', () => { - return gulp.src(['./src/server/web/boot.js', './src/server/web/bios.js', './src/server/web/cli.js']) - .pipe(replace('VERSION', JSON.stringify(meta.version))) - .pipe(replace('LANGS', JSON.stringify(Object.keys(locales)))) - .pipe(terser({ - toplevel: true - })) - .pipe(gulp.dest('./built/server/web/')); -}); - -gulp.task('build:client:style', () => { - return gulp.src(['./src/server/web/style.css', './src/server/web/bios.css', './src/server/web/cli.css']) - .pipe(cssnano({ - zindex: false - })) - .pipe(gulp.dest('./built/server/web/')); -}); - -gulp.task('build:copy', gulp.parallel('build:copy:locales', 'build:copy:views', 'build:client:script', 'build:client:style', 'build:copy:fonts', () => - gulp.src([ - './src/emojilist.json', - './src/**/assets/**/*', - '!./src/client/assets/**/*' - ]).pipe(gulp.dest('./built/')) -)); - -gulp.task('clean', cb => - rimraf('./built', cb) -); - -gulp.task('cleanall', gulp.parallel('clean', cb => - rimraf('./node_modules', cb) -)); - -gulp.task('build', gulp.parallel( - 'build:copy', -)); - -gulp.task('default', gulp.task('build')); - -gulp.task('watch', () => { - gulp.watch([ - './src/**/*', - '!./src/client/**/*' - ], { ignoreInitial: false }, gulp.task('build')); -}); diff --git a/index.js b/index.js deleted file mode 100644 index aa103e667..000000000 --- a/index.js +++ /dev/null @@ -1,17 +0,0 @@ -/* -import * as fs from 'fs'; - -if (fs.existsSync('./built')) { - import('./built/index.js').then(built => built()); -} else { - console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.'); -} -*/ - -const fs = require('fs'); - -if (fs.existsSync('./built')) { - require('./built').default(); -} else { - console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.'); -} diff --git a/migration/1557476068003-PinnedUsers.ts b/migration/1557476068003-PinnedUsers.ts deleted file mode 100644 index 4e7222aaf..000000000 --- a/migration/1557476068003-PinnedUsers.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class PinnedUsers1557476068003 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedUsers" character varying(256) array NOT NULL DEFAULT '{}'::varchar[]`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`); - } - -} diff --git a/migration/1558266512381-UserListJoining.ts b/migration/1558266512381-UserListJoining.ts deleted file mode 100644 index f4a917045..000000000 --- a/migration/1558266512381-UserListJoining.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class UserListJoining1558266512381 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE UNIQUE INDEX "IDX_90f7da835e4c10aca6853621e1" ON "user_list_joining" ("userId", "userListId") `); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP INDEX "IDX_90f7da835e4c10aca6853621e1"`); - } - -} diff --git a/migration/1562422242907-PasswordLessLogin.ts b/migration/1562422242907-PasswordLessLogin.ts deleted file mode 100644 index e789a3433..000000000 --- a/migration/1562422242907-PasswordLessLogin.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class PasswordLessLogin1562422242907 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "usePasswordLessLogin" boolean DEFAULT false NOT NULL`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "usePasswordLessLogin"`); - } - -} diff --git a/migration/1562448332510-PageTitleHideOption.ts b/migration/1562448332510-PageTitleHideOption.ts deleted file mode 100644 index acc9b7e26..000000000 --- a/migration/1562448332510-PageTitleHideOption.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class PageTitleHideOption1562448332510 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "page" ADD "hideTitleWhenPinned" boolean NOT NULL DEFAULT false`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "hideTitleWhenPinned"`); - } - -} diff --git a/migration/1565634203341-room.ts b/migration/1565634203341-room.ts deleted file mode 100644 index 783b375ff..000000000 --- a/migration/1565634203341-room.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class room1565634203341 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ADD "room" jsonb NOT NULL DEFAULT '{}'`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "room"`); - } - -} diff --git a/migration/1571220798684-CustomEmojiCategory.ts b/migration/1571220798684-CustomEmojiCategory.ts deleted file mode 100644 index 37f63fa3d..000000000 --- a/migration/1571220798684-CustomEmojiCategory.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class CustomEmojiCategory1571220798684 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "emoji" ADD "category" character varying(128)`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "emoji" DROP COLUMN "category"`, undefined); - } - -} diff --git a/migration/1576269851876-TalkFederationId.ts b/migration/1576269851876-TalkFederationId.ts deleted file mode 100644 index 57e86c8b0..000000000 --- a/migration/1576269851876-TalkFederationId.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class TalkFederationId1576269851876 implements MigrationInterface { - name = 'TalkFederationId1576269851876' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "messaging_message" ADD "uri" character varying(512)`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "uri"`, undefined); - } - -} diff --git a/migration/1576869585998-ProxyRemoteFiles.ts b/migration/1576869585998-ProxyRemoteFiles.ts deleted file mode 100644 index 1d15370bb..000000000 --- a/migration/1576869585998-ProxyRemoteFiles.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class ProxyRemoteFiles1576869585998 implements MigrationInterface { - name = 'ProxyRemoteFiles1576869585998' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "proxyRemoteFiles" boolean NOT NULL DEFAULT false`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyRemoteFiles"`, undefined); - } - -} diff --git a/migration/1579270193251-v12-2.ts b/migration/1579270193251-v12-2.ts deleted file mode 100644 index efad0cd56..000000000 --- a/migration/1579270193251-v12-2.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v1221579270193251 implements MigrationInterface { - name = 'v1221579270193251' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "announcement_read" ADD "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "announcement_read" DROP COLUMN "createdAt"`, undefined); - } - -} diff --git a/migration/1579282808087-v12-3.ts b/migration/1579282808087-v12-3.ts deleted file mode 100644 index a330caa97..000000000 --- a/migration/1579282808087-v12-3.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v1231579282808087 implements MigrationInterface { - name = 'v1231579282808087' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "announcement" ADD "updatedAt" TIMESTAMP WITH TIME ZONE`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "announcement" DROP COLUMN "updatedAt"`, undefined); - } - -} diff --git a/migration/1580154400017-v12-9.ts b/migration/1580154400017-v12-9.ts deleted file mode 100644 index de06d26e4..000000000 --- a/migration/1580154400017-v12-9.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v1291580154400017 implements MigrationInterface { - name = 'v1291580154400017' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "antenna" ADD "withReplies" boolean NOT NULL DEFAULT false`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "withReplies"`, undefined); - } - -} diff --git a/migration/1580543501339-v12-13.ts b/migration/1580543501339-v12-13.ts deleted file mode 100644 index 7f5d8b803..000000000 --- a/migration/1580543501339-v12-13.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v12131580543501339 implements MigrationInterface { - name = 'v12131580543501339' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE INDEX "IDX_NOTE_TAGS" ON "note" USING gin ("tags")`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP INDEX "IDX_NOTE_TAGS"`, undefined); - } - -} diff --git a/migration/1581708415836-drive-user-folder-id-index.ts b/migration/1581708415836-drive-user-folder-id-index.ts deleted file mode 100644 index e7a7628ff..000000000 --- a/migration/1581708415836-drive-user-folder-id-index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class driveUserFolderIdIndex1581708415836 implements MigrationInterface { - name = 'driveUserFolderIdIndex1581708415836' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE INDEX "IDX_55720b33a61a7c806a8215b825" ON "drive_file" ("userId", "folderId", "id") `, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP INDEX "IDX_55720b33a61a7c806a8215b825"`, undefined); - } - -} diff --git a/migration/1582019042083-featured-injecttion.ts b/migration/1582019042083-featured-injecttion.ts deleted file mode 100644 index 9c8498997..000000000 --- a/migration/1582019042083-featured-injecttion.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class featuredInjecttion1582019042083 implements MigrationInterface { - name = 'featuredInjecttion1582019042083' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ADD "injectFeaturedNote" boolean NOT NULL DEFAULT true`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "injectFeaturedNote"`, undefined); - } - -} diff --git a/migration/1582210532752-antenna-exclude.ts b/migration/1582210532752-antenna-exclude.ts deleted file mode 100644 index bff47a3ec..000000000 --- a/migration/1582210532752-antenna-exclude.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class antennaExclude1582210532752 implements MigrationInterface { - name = 'antennaExclude1582210532752' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "antenna" ADD "excludeKeywords" jsonb NOT NULL DEFAULT '[]'`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "excludeKeywords"`, undefined); - } - -} diff --git a/migration/1582875306439-note-reaction-length.ts b/migration/1582875306439-note-reaction-length.ts deleted file mode 100644 index b9af61eb0..000000000 --- a/migration/1582875306439-note-reaction-length.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class noteReactionLength1582875306439 implements MigrationInterface { - name = 'noteReactionLength1582875306439' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(128)`, undefined); - } - -} diff --git a/migration/1585772678853-ap-url.ts b/migration/1585772678853-ap-url.ts deleted file mode 100644 index 622d09727..000000000 --- a/migration/1585772678853-ap-url.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* tslint:disable:quotemark class-name indent */ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class apUrl1585772678853 implements MigrationInterface { - name = 'apUrl1585772678853' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "note" ADD "url" character varying(512)`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "url"`, undefined); - } - -} diff --git a/migration/1586624197029-AddObjectStorageUseProxy.ts b/migration/1586624197029-AddObjectStorageUseProxy.ts deleted file mode 100644 index deadf9483..000000000 --- a/migration/1586624197029-AddObjectStorageUseProxy.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from 'typeorm'; - -export class AddObjectStorageUseProxy1586624197029 implements MigrationInterface { - name = 'AddObjectStorageUseProxy1586624197029' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseProxy" boolean NOT NULL DEFAULT true`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseProxy"`, undefined); - } - -} diff --git a/migration/1586641139527-remote-reaction.ts b/migration/1586641139527-remote-reaction.ts deleted file mode 100644 index 5a7fb36e3..000000000 --- a/migration/1586641139527-remote-reaction.ts +++ /dev/null @@ -1,12 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class remoteReaction1586641139527 implements MigrationInterface { - name = 'remoteReaction1586641139527' - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(260)`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined); - } -} diff --git a/migration/1586708940386-pageAiScript.ts b/migration/1586708940386-pageAiScript.ts deleted file mode 100644 index fdd6e76b9..000000000 --- a/migration/1586708940386-pageAiScript.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class pageAiScript1586708940386 implements MigrationInterface { - name = 'pageAiScript1586708940386' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "page" ADD "script" character varying(16384) NOT NULL DEFAULT ''`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "script"`, undefined); - } - -} diff --git a/migration/1595075960584-blurhash.ts b/migration/1595075960584-blurhash.ts deleted file mode 100644 index 7c716ae17..000000000 --- a/migration/1595075960584-blurhash.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class blurhash1595075960584 implements MigrationInterface { - name = 'blurhash1595075960584' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "drive_file" ADD "blurhash" character varying(128)`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "drive_file" DROP COLUMN "blurhash"`); - } - -} diff --git a/migration/1595676934834-instance-icon-url.ts b/migration/1595676934834-instance-icon-url.ts deleted file mode 100644 index c75370f17..000000000 --- a/migration/1595676934834-instance-icon-url.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class instanceIconUrl1595676934834 implements MigrationInterface { - name = 'instanceIconUrl1595676934834' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "instance" ADD "iconUrl" character varying(256) DEFAULT null`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "iconUrl"`); - } - -} diff --git a/migration/1596786425167-channel2.ts b/migration/1596786425167-channel2.ts deleted file mode 100644 index 0233f7ab0..000000000 --- a/migration/1596786425167-channel2.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class channel21596786425167 implements MigrationInterface { - name = 'channel21596786425167' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "channel_following" ADD "readCursor" TIMESTAMP WITH TIME ZONE NOT NULL`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "channel_following" DROP COLUMN "readCursor"`); - } - -} diff --git a/migration/1597230137744-objectStorageSetPublicRead.ts b/migration/1597230137744-objectStorageSetPublicRead.ts deleted file mode 100644 index f040f2afd..000000000 --- a/migration/1597230137744-objectStorageSetPublicRead.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class objectStorageSetPublicRead1597230137744 implements MigrationInterface { - name = 'objectStorageSetPublicRead1597230137744' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageSetPublicRead" boolean NOT NULL DEFAULT false`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSetPublicRead"`); - } - -} diff --git a/migration/1597385880794-add-sensitive-index.ts b/migration/1597385880794-add-sensitive-index.ts deleted file mode 100644 index ff6251ac0..000000000 --- a/migration/1597385880794-add-sensitive-index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class addSensitiveIndex1597385880794 implements MigrationInterface { - name = 'addSensitiveIndex1597385880794' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE INDEX "IDX_a7eba67f8b3fa27271e85d2e26" ON "drive_file" ("isSensitive") `); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP INDEX "IDX_a7eba67f8b3fa27271e85d2e26"`); - } - -} diff --git a/migration/1597893996136-ChannelNoteIdDescIndex.ts b/migration/1597893996136-ChannelNoteIdDescIndex.ts deleted file mode 100644 index 6cbd865fc..000000000 --- a/migration/1597893996136-ChannelNoteIdDescIndex.ts +++ /dev/null @@ -1,16 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class ChannelNoteIdDescIndex1597893996136 implements MigrationInterface { - name = 'ChannelNoteIdDescIndex1597893996136' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP INDEX "IDX_f22169eb10657bded6d875ac8f"`); - await queryRunner.query(`CREATE INDEX "IDX_note_on_channelId_and_id_desc" ON "note" ("channelId", "id" desc)`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP INDEX "IDX_note_on_channelId_and_id_desc"`); - await queryRunner.query(`CREATE INDEX "IDX_f22169eb10657bded6d875ac8f" ON "note" ("channelId") `); - } - -} diff --git a/migration/1603776877564-instance-theme-color.ts b/migration/1603776877564-instance-theme-color.ts deleted file mode 100644 index 80c9d516f..000000000 --- a/migration/1603776877564-instance-theme-color.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class instanceThemeColor1603776877564 implements MigrationInterface { - name = 'instanceThemeColor1603776877564' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "instance" ADD "themeColor" character varying(64) DEFAULT null`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "themeColor"`); - } - -} diff --git a/migration/1603781553011-instance-favicon.ts b/migration/1603781553011-instance-favicon.ts deleted file mode 100644 index d748c43f5..000000000 --- a/migration/1603781553011-instance-favicon.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class instanceFavicon1603781553011 implements MigrationInterface { - name = 'instanceFavicon1603781553011' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "instance" ADD "faviconUrl" character varying(256) DEFAULT null`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "faviconUrl"`); - } - -} diff --git a/migration/1604821689616-delete-auto-watch.ts b/migration/1604821689616-delete-auto-watch.ts deleted file mode 100644 index e47a4cf1d..000000000 --- a/migration/1604821689616-delete-auto-watch.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class deleteAutoWatch1604821689616 implements MigrationInterface { - name = 'deleteAutoWatch1604821689616' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "autoWatch"`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ADD "autoWatch" boolean NOT NULL DEFAULT false`); - } - -} diff --git a/migration/1605408848373-clip-description.ts b/migration/1605408848373-clip-description.ts deleted file mode 100644 index b352173e4..000000000 --- a/migration/1605408848373-clip-description.ts +++ /dev/null @@ -1,15 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class clipDescription1605408848373 implements MigrationInterface { - name = 'clipDescription1605408848373' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "clip" ADD "description" character varying(2048) DEFAULT null`); - } - - public async down(queryRunner: QueryRunner): Promise { - - await queryRunner.query(`ALTER TABLE "clip" DROP COLUMN "description"`); - } - -} diff --git a/migration/1605585339718-instance-pinned-pages.ts b/migration/1605585339718-instance-pinned-pages.ts deleted file mode 100644 index f59346130..000000000 --- a/migration/1605585339718-instance-pinned-pages.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class instancePinnedPages1605585339718 implements MigrationInterface { - name = 'instancePinnedPages1605585339718' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedPages" character varying(512) array NOT NULL DEFAULT '{"/featured", "/channels", "/explore", "/pages", "/about-misskey"}'::varchar[]`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedPages"`); - } - -} diff --git a/migration/1607151207216-instance-pinned-clip.ts b/migration/1607151207216-instance-pinned-clip.ts deleted file mode 100644 index 7e2c8b7de..000000000 --- a/migration/1607151207216-instance-pinned-clip.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class instancePinnedClip1607151207216 implements MigrationInterface { - name = 'instancePinnedClip1607151207216' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedClipId" character varying(32)`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedClipId"`); - } - -} diff --git a/migration/1610283021566-registry3.ts b/migration/1610283021566-registry3.ts deleted file mode 100644 index 61f235fb2..000000000 --- a/migration/1610283021566-registry3.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class registry31610283021566 implements MigrationInterface { - name = 'registry31610283021566' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "registry_item" ALTER COLUMN "value" DROP NOT NULL`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "registry_item" ALTER COLUMN "value" SET NOT NULL`); - } - -} diff --git a/migration/1611547387175-objectStorageS3ForcePathStyle.ts b/migration/1611547387175-objectStorageS3ForcePathStyle.ts deleted file mode 100644 index 1506a2900..000000000 --- a/migration/1611547387175-objectStorageS3ForcePathStyle.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class objectStorageS3ForcePathStyle1611547387175 implements MigrationInterface { - name = 'objectStorageS3ForcePathStyle1611547387175' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageS3ForcePathStyle" boolean NOT NULL DEFAULT true`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageS3ForcePathStyle"`); - } - -} diff --git a/migration/1612619156584-announcement-email.ts b/migration/1612619156584-announcement-email.ts deleted file mode 100644 index 0371daf8f..000000000 --- a/migration/1612619156584-announcement-email.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class announcementEmail1612619156584 implements MigrationInterface { - name = 'announcementEmail1612619156584' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ADD "receiveAnnouncementEmail" boolean NOT NULL DEFAULT true`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "receiveAnnouncementEmail"`); - } - -} diff --git a/migration/1613155914446-emailNotificationTypes.ts b/migration/1613155914446-emailNotificationTypes.ts deleted file mode 100644 index d6908aecf..000000000 --- a/migration/1613155914446-emailNotificationTypes.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class emailNotificationTypes1613155914446 implements MigrationInterface { - name = 'emailNotificationTypes1613155914446' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ADD "emailNotificationTypes" jsonb NOT NULL DEFAULT '["follow","receiveFollowRequest","groupInvited"]'`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "emailNotificationTypes"`); - } - -} diff --git a/migration/1613181457597-user-lang.ts b/migration/1613181457597-user-lang.ts deleted file mode 100644 index ac1fc88c9..000000000 --- a/migration/1613181457597-user-lang.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class userLang1613181457597 implements MigrationInterface { - name = 'userLang1613181457597' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ADD "lang" character varying(32)`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "lang"`); - } - -} diff --git a/migration/1613503367223-use-bigint-for-driveUsage.ts b/migration/1613503367223-use-bigint-for-driveUsage.ts deleted file mode 100644 index d04e817ec..000000000 --- a/migration/1613503367223-use-bigint-for-driveUsage.ts +++ /dev/null @@ -1,15 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class useBigintForDriveUsage1613503367223 implements MigrationInterface { - name = 'useBigintForDriveUsage1613503367223' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "instance" ALTER COLUMN "driveUsage" TYPE bigint`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "driveUsage"`); - await queryRunner.query(`ALTER TABLE "instance" ADD "driveUsage" integer NOT NULL DEFAULT 0`); - } - -} diff --git a/migration/1615965918224-chart-v2.ts b/migration/1615965918224-chart-v2.ts deleted file mode 100644 index cacbd1945..000000000 --- a/migration/1615965918224-chart-v2.ts +++ /dev/null @@ -1,218 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class chartV21615965918224 implements MigrationInterface { - name = 'chartV21615965918224' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DELETE FROM "__chart__active_users" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__drive" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__federation" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__hashtag" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__instance" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__network" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__notes" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__per_user_drive" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__per_user_following" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__per_user_notes" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__per_user_reaction" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__test" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__test_grouped" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__test_unique" WHERE "span" = 'day'`); - await queryRunner.query(`DELETE FROM "__chart__users" WHERE "span" = 'day'`); - - await queryRunner.query(`DROP INDEX "IDX_15e91a03aeeac9dbccdf43fc06"`); - await queryRunner.query(`DROP INDEX "IDX_20f57cc8f142c131340ee16742"`); - await queryRunner.query(`DROP INDEX "IDX_c26e2c1cbb6e911e0554b27416"`); - await queryRunner.query(`DROP INDEX "IDX_3fa0d0f17ca72e3dc80999a032"`); - await queryRunner.query(`DROP INDEX "IDX_6e1df243476e20cbf86572ecc0"`); - await queryRunner.query(`DROP INDEX "IDX_06690fc959f1c9fdaf21928222"`); - await queryRunner.query(`DROP INDEX "IDX_e447064455928cf627590ef527"`); - await queryRunner.query(`DROP INDEX "IDX_2d416e6af791a82e338c79d480"`); - await queryRunner.query(`DROP INDEX "IDX_e9cd07672b37d8966cf3709283"`); - await queryRunner.query(`DROP INDEX "IDX_fcc181fb8283009c61cc4083ef"`); - await queryRunner.query(`DROP INDEX "IDX_49975586f50ed7b800fdd88fbd"`); - await queryRunner.query(`DROP INDEX "IDX_6d6f156ceefc6bc5f273a0e370"`); - await queryRunner.query(`DROP INDEX "IDX_c12f0af4a66cdd30c2287ce8aa"`); - await queryRunner.query(`DROP INDEX "IDX_d0a4f79af5a97b08f37b547197"`); - await queryRunner.query(`DROP INDEX "IDX_f5448d9633cff74208d850aabe"`); - await queryRunner.query(`DROP INDEX "IDX_f8dd01baeded2ffa833e0a610a"`); - await queryRunner.query(`DROP INDEX "IDX_08fac0eb3b11f04c200c0b40dd"`); - await queryRunner.query(`DROP INDEX "IDX_9ff6944f01acb756fdc92d7563"`); - await queryRunner.query(`DROP INDEX "IDX_e69096589f11e3baa98ddd64d0"`); - await queryRunner.query(`DROP INDEX "IDX_0c9a159c5082cbeef3ca6706b5"`); - await queryRunner.query(`DROP INDEX "IDX_924fc196c80ca24bae01dd37e4"`); - await queryRunner.query(`DROP INDEX "IDX_328f259961e60c4fa0bfcf55ca"`); - await queryRunner.query(`DROP INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53"`); - await queryRunner.query(`DROP INDEX "IDX_f2aeafde2ae6fbad38e857631b"`); - await queryRunner.query(`DROP INDEX "IDX_f92dd6d03f8d994f29987f6214"`); - await queryRunner.query(`DROP INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f"`); - await queryRunner.query(`DROP INDEX "IDX_4db3b84c7be0d3464714f3e0b1"`); - await queryRunner.query(`DROP INDEX "IDX_8d2cbbc8114d90d19b44d626b6"`); - await queryRunner.query(`DROP INDEX "IDX_046feeb12e9ef5f783f409866a"`); - await queryRunner.query(`DROP INDEX "IDX_f68a5ab958f9f5fa17a32ac23b"`); - await queryRunner.query(`DROP INDEX "IDX_65633a106bce43fc7c5c30a5c7"`); - await queryRunner.query(`DROP INDEX "IDX_edeb73c09c3143a81bcb34d569"`); - await queryRunner.query(`DROP INDEX "IDX_e316f01a6d24eb31db27f88262"`); - await queryRunner.query(`DROP INDEX "IDX_2be7ec6cebddc14dc11e206686"`); - await queryRunner.query(`DROP INDEX "IDX_a5133470f4825902e170328ca5"`); - await queryRunner.query(`DROP INDEX "IDX_84e661abb7bd1e51b690d4b017"`); - await queryRunner.query(`DROP INDEX "IDX_5c73bf61da4f6e6f15bae88ed1"`); - await queryRunner.query(`DROP INDEX "IDX_d70c86baedc68326be11f9c0ce"`); - await queryRunner.query(`DROP INDEX "IDX_66e1e1ecd2f29e57778af35b59"`); - await queryRunner.query(`DROP INDEX "IDX_92255988735563f0fe4aba1f05"`); - await queryRunner.query(`DROP INDEX "IDX_c5870993e25c3d5771f91f5003"`); - await queryRunner.query(`DROP INDEX "IDX_f170de677ea75ad4533de2723e"`); - await queryRunner.query(`DROP INDEX "IDX_7c184198ecf66a8d3ecb253ab3"`); - await queryRunner.query(`DROP INDEX "IDX_f091abb24193d50c653c6b77fc"`); - await queryRunner.query(`DROP INDEX "IDX_a770a57c70e668cc61590c9161"`); - await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__active_users_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___local_count"`); - await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___remote_count"`); - await queryRunner.query(`ALTER TABLE "__chart__drive" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__drive_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__drive" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__federation_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__hashtag_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___local_count"`); - await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___remote_count"`); - await queryRunner.query(`ALTER TABLE "__chart__instance" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__instance_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__instance" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__network" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__network_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__network" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__notes" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__notes_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__notes" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__per_user_drive_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_following" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__per_user_following_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_following" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__per_user_notes_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__per_user_reaction_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__test_grouped" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__test_grouped_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__test_grouped" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__test_unique_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "___foo"`); - await queryRunner.query(`ALTER TABLE "__chart__test" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__test_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__test" DROP COLUMN "unique"`); - await queryRunner.query(`ALTER TABLE "__chart__users" DROP COLUMN "span"`); - await queryRunner.query(`DROP TYPE "public"."__chart__users_span_enum"`); - await queryRunner.query(`ALTER TABLE "__chart__users" DROP COLUMN "unique"`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "__chart__users" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__users_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__users" ADD "span" "__chart__users_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__test" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__test_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__test" ADD "span" "__chart__test_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "___foo" bigint NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__test_unique_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "span" "__chart__test_unique_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__test_grouped" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__test_grouped" ADD "span" "__chart__test_grouped_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" ADD "span" "__chart__per_user_reaction_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" ADD "span" "__chart__per_user_notes_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_following" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_following" ADD "span" "__chart__per_user_following_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" ADD "span" "__chart__per_user_drive_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__notes" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__notes_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__notes" ADD "span" "__chart__notes_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__network" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__network_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__network" ADD "span" "__chart__network_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__instance" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__instance_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__instance" ADD "span" "__chart__instance_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___remote_count" bigint NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___local_count" bigint NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__hashtag_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "span" "__chart__hashtag_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__federation_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "span" "__chart__federation_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__drive" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__drive_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__drive" ADD "span" "__chart__drive_span_enum" NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___remote_count" bigint NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___local_count" bigint NOT NULL`); - await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); - await queryRunner.query(`CREATE TYPE "public"."__chart__active_users_span_enum" AS ENUM('hour', 'day')`); - await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "span" "__chart__active_users_span_enum" NOT NULL`); - await queryRunner.query(`CREATE INDEX "IDX_a770a57c70e668cc61590c9161" ON "__chart__users" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_f091abb24193d50c653c6b77fc" ON "__chart__users" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_7c184198ecf66a8d3ecb253ab3" ON "__chart__users" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_f170de677ea75ad4533de2723e" ON "__chart__test" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_c5870993e25c3d5771f91f5003" ON "__chart__test" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_92255988735563f0fe4aba1f05" ON "__chart__test" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_66e1e1ecd2f29e57778af35b59" ON "__chart__test_unique" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_d70c86baedc68326be11f9c0ce" ON "__chart__test_unique" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_5c73bf61da4f6e6f15bae88ed1" ON "__chart__test_unique" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_84e661abb7bd1e51b690d4b017" ON "__chart__test_grouped" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_a5133470f4825902e170328ca5" ON "__chart__test_grouped" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_2be7ec6cebddc14dc11e206686" ON "__chart__test_grouped" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_e316f01a6d24eb31db27f88262" ON "__chart__per_user_reaction" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_edeb73c09c3143a81bcb34d569" ON "__chart__per_user_reaction" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_65633a106bce43fc7c5c30a5c7" ON "__chart__per_user_reaction" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_f68a5ab958f9f5fa17a32ac23b" ON "__chart__per_user_notes" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_046feeb12e9ef5f783f409866a" ON "__chart__per_user_notes" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_8d2cbbc8114d90d19b44d626b6" ON "__chart__per_user_notes" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_4db3b84c7be0d3464714f3e0b1" ON "__chart__per_user_following" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f" ON "__chart__per_user_following" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_f92dd6d03f8d994f29987f6214" ON "__chart__per_user_following" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_f2aeafde2ae6fbad38e857631b" ON "__chart__per_user_drive" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53" ON "__chart__per_user_drive" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_328f259961e60c4fa0bfcf55ca" ON "__chart__per_user_drive" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_924fc196c80ca24bae01dd37e4" ON "__chart__notes" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_0c9a159c5082cbeef3ca6706b5" ON "__chart__notes" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_e69096589f11e3baa98ddd64d0" ON "__chart__notes" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_9ff6944f01acb756fdc92d7563" ON "__chart__network" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_08fac0eb3b11f04c200c0b40dd" ON "__chart__network" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_f8dd01baeded2ffa833e0a610a" ON "__chart__network" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_f5448d9633cff74208d850aabe" ON "__chart__instance" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_d0a4f79af5a97b08f37b547197" ON "__chart__instance" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_c12f0af4a66cdd30c2287ce8aa" ON "__chart__instance" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_6d6f156ceefc6bc5f273a0e370" ON "__chart__hashtag" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_49975586f50ed7b800fdd88fbd" ON "__chart__hashtag" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_fcc181fb8283009c61cc4083ef" ON "__chart__hashtag" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_e9cd07672b37d8966cf3709283" ON "__chart__federation" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_2d416e6af791a82e338c79d480" ON "__chart__federation" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_e447064455928cf627590ef527" ON "__chart__federation" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_06690fc959f1c9fdaf21928222" ON "__chart__drive" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_6e1df243476e20cbf86572ecc0" ON "__chart__drive" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_3fa0d0f17ca72e3dc80999a032" ON "__chart__drive" ("span") `); - await queryRunner.query(`CREATE INDEX "IDX_c26e2c1cbb6e911e0554b27416" ON "__chart__active_users" ("date", "group", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_20f57cc8f142c131340ee16742" ON "__chart__active_users" ("date", "span") `); - await queryRunner.query(`CREATE INDEX "IDX_15e91a03aeeac9dbccdf43fc06" ON "__chart__active_users" ("span") `); - } - -} diff --git a/migration/1618639857000-user-hide-online-status.ts b/migration/1618639857000-user-hide-online-status.ts deleted file mode 100644 index d5d77f983..000000000 --- a/migration/1618639857000-user-hide-online-status.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class userHideOnlineStatus1618639857000 implements MigrationInterface { - name = 'userHideOnlineStatus1618639857000' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user" ADD "hideOnlineStatus" boolean NOT NULL DEFAULT false`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "hideOnlineStatus"`); - } - -} diff --git a/migration/1620364649428-ad2.ts b/migration/1620364649428-ad2.ts deleted file mode 100644 index a2d7f563c..000000000 --- a/migration/1620364649428-ad2.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class ad21620364649428 implements MigrationInterface { - name = 'ad21620364649428' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "ad" ADD "ratio" integer NOT NULL DEFAULT '1'`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "ad" DROP COLUMN "ratio"`); - } - -} diff --git a/migration/1621479946000-add-note-indexes.ts b/migration/1621479946000-add-note-indexes.ts deleted file mode 100644 index 53d49964a..000000000 --- a/migration/1621479946000-add-note-indexes.ts +++ /dev/null @@ -1,16 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class addNoteIndexes1621479946000 implements MigrationInterface { - name = 'addNoteIndexes1621479946000' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE INDEX "IDX_NOTE_MENTIONS" ON "note" USING gin ("mentions")`, undefined); - await queryRunner.query(`CREATE INDEX "IDX_NOTE_VISIBLE_USER_IDS" ON "note" USING gin ("visibleUserIds")`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP INDEX "IDX_NOTE_MENTIONS"`, undefined); - await queryRunner.query(`DROP INDEX "IDX_NOTE_VISIBLE_USER_IDS"`, undefined); - } - -} diff --git a/migration/1622679304522-user-profile-description-length.ts b/migration/1622679304522-user-profile-description-length.ts deleted file mode 100644 index 015d1e24b..000000000 --- a/migration/1622679304522-user-profile-description-length.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class userProfileDescriptionLength1622679304522 implements MigrationInterface { - name = 'userProfileDescriptionLength1622679304522'; - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "description" TYPE character varying(2048)`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "description" TYPE character varying(1024)`, undefined); - } -} diff --git a/migration/1622681548499-log-message-length.ts b/migration/1622681548499-log-message-length.ts deleted file mode 100644 index ef8c33982..000000000 --- a/migration/1622681548499-log-message-length.ts +++ /dev/null @@ -1,12 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class logMessageLength1622681548499 implements MigrationInterface { - name = 'logMessageLength1622681548499'; - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "log" ALTER COLUMN "message" TYPE character varying(2048)`, undefined); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "log" ALTER COLUMN "message" TYPE character varying(1024)`, undefined); - } -} diff --git a/migration/1629024377804-deepl-integration.ts b/migration/1629024377804-deepl-integration.ts deleted file mode 100644 index 639f947c7..000000000 --- a/migration/1629024377804-deepl-integration.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class deeplIntegration1629024377804 implements MigrationInterface { - name = 'deeplIntegration1629024377804' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "deeplAuthKey" character varying(128)`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplAuthKey"`); - } - -} diff --git a/migration/1629288472000-fix-channel-userId.ts b/migration/1629288472000-fix-channel-userId.ts deleted file mode 100644 index cd8f81bb0..000000000 --- a/migration/1629288472000-fix-channel-userId.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class fixChannelUserId1629288472000 implements MigrationInterface { - name = 'fixChannelUserId1629288472000' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "channel" ALTER COLUMN "userId" DROP NOT NULL;`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "channel" ALTER COLUMN "userId" SET NOT NULL;`); - } - -} diff --git a/migration/1629512953000-user-is-deleted.ts b/migration/1629512953000-user-is-deleted.ts deleted file mode 100644 index 10b7d1d7b..000000000 --- a/migration/1629512953000-user-is-deleted.ts +++ /dev/null @@ -1,15 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class isUserDeleted1629512953000 implements MigrationInterface { - name = 'isUserDeleted1629512953000' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user" ADD "isDeleted" boolean NOT NULL DEFAULT false`); - await queryRunner.query(`COMMENT ON COLUMN "user"."isDeleted" IS 'Whether the User is deleted.'`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isDeleted"`); - } - -} diff --git a/migration/1629778475000-deepl-integration2.ts b/migration/1629778475000-deepl-integration2.ts deleted file mode 100644 index 67e5ea02a..000000000 --- a/migration/1629778475000-deepl-integration2.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class deeplIntegration21629778475000 implements MigrationInterface { - name = 'deeplIntegration21629778475000' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "deeplIsPro" boolean NOT NULL DEFAULT false`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplIsPro"`); - } - -} diff --git a/migration/1633068642000-email-required-for-signup.ts b/migration/1633068642000-email-required-for-signup.ts deleted file mode 100644 index ab7be7a0d..000000000 --- a/migration/1633068642000-email-required-for-signup.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class emailRequiredForSignup1633068642000 implements MigrationInterface { - name = 'emailRequiredForSignup1633068642000' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" ADD "emailRequiredForSignup" boolean NOT NULL DEFAULT false`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "emailRequiredForSignup"`); - } - -} diff --git a/migration/1634486652000-user-public-reactions.ts b/migration/1634486652000-user-public-reactions.ts deleted file mode 100644 index da57a1326..000000000 --- a/migration/1634486652000-user-public-reactions.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class userPublicReactions1634486652000 implements MigrationInterface { - name = 'userPublicReactions1634486652000' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" ADD "publicReactions" boolean NOT NULL DEFAULT false`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "publicReactions"`); - } - -} diff --git a/migration/1634902659689-delete-log.ts b/migration/1634902659689-delete-log.ts deleted file mode 100644 index 5264d585c..000000000 --- a/migration/1634902659689-delete-log.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class deleteLog1634902659689 implements MigrationInterface { - name = 'deleteLog1634902659689' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP TABLE "log"`); - } - - public async down(queryRunner: QueryRunner): Promise { - } - -} diff --git a/package.json b/package.json index 1b0e43e1c..66d52e578 100644 --- a/package.json +++ b/package.json @@ -6,248 +6,41 @@ "type": "git", "url": "https://github.com/misskey-dev/misskey.git" }, - "main": "./index.js", "private": true, "scripts": { - "start": "node --experimental-json-modules ./index.js", - "start:test": "cross-env NODE_ENV=test node --experimental-json-modules ./index.js", + "start": "cd packages/backend && node --experimental-json-modules ./built/index.js", + "start:test": "cd packages/backend && cross-env NODE_ENV=test node --experimental-json-modules ./index.js", "init": "npm run migrate", - "ormconfig": "node ./built/ormconfig.js", - "migrate": "ts-node ./node_modules/typeorm/cli.js migration:run", + "ormconfig": "node ./packages/backend/ormconfig.js", + "migrate": "cd packages/backend && npx typeorm migration:run", "migrateandstart": "npm run migrate && npm run start", - "build": "npm run build-webpack && npm run build-ts && npm run build-gulp", - "build-webpack": "webpack", - "build-ts": "tsc -p src/tsconfig.json || echo done. && tsc-alias -p src/tsconfig.json", + "build": "npm run build-client && npm run build-backend && npm run build-gulp", + "build-client": "cd packages/client && npm run build", + "build-backend": "cd packages/backend && npm run build", "build-gulp": "gulp build", "watch": "concurrently \"npm:watch-*\"", "watch-webpack": "webpack --watch", - "watch-ts": "tsc -w -p src/tsconfig.json && tsc-alias -w -p src/tsconfig.json", + "watch-ts": "tsc -w -p packages/tsconfig.json && tsc-alias -w -p packages/tsconfig.json", "watch-gulp": "gulp watch", "clean": "gulp clean", "cleanall": "gulp cleanall", - "lint": "tslint 'src/**/*.ts'", + "lint": "tslint 'packages/**/*.ts'", "cy:open": "cypress open", "cy:run": "cypress run", "e2e": "start-server-and-test start:test http://localhost:61812 cy:run", - "mocha": "cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" mocha", + "mocha": "cd packages/backend && cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" mocha", "test": "npm run mocha", "format": "gulp format" }, - "resolutions": { - "chokidar": "^3.3.1", - "lodash": "^4.17.21" - }, "dependencies": { - "@discordapp/twemoji": "13.1.0", - "@elastic/elasticsearch": "7.11.0", - "@koa/cors": "3.1.0", - "@koa/multer": "3.0.0", - "@koa/router": "9.0.1", - "@sentry/browser": "5.29.2", - "@sentry/tracing": "5.29.2", - "@sinonjs/fake-timers": "7.1.2", - "@syuilo/aiscript": "0.11.1", - "@types/bcryptjs": "2.4.2", - "@types/bull": "3.15.5", - "@types/cbor": "6.0.0", - "@types/dateformat": "3.0.1", - "@types/escape-regexp": "0.0.0", - "@types/glob": "7.2.0", "@types/gulp": "4.0.9", "@types/gulp-rename": "2.0.1", - "@types/is-url": "1.2.30", - "@types/js-yaml": "4.0.4", - "@types/jsdom": "16.2.13", - "@types/jsonld": "1.5.6", - "@types/katex": "0.11.1", - "@types/koa": "2.13.4", - "@types/koa-bodyparser": "4.3.3", - "@types/koa-cors": "0.0.2", - "@types/koa-favicon": "2.0.21", - "@types/koa-logger": "3.1.2", - "@types/koa-mount": "4.0.1", - "@types/koa-send": "4.1.3", - "@types/koa-views": "7.0.0", - "@types/koa__cors": "3.0.3", - "@types/koa__multer": "2.0.4", - "@types/koa__router": "8.0.8", - "@types/matter-js": "0.17.6", - "@types/mocha": "8.2.3", - "@types/node": "16.11.7", - "@types/node-fetch": "2.5.12", - "@types/nodemailer": "6.4.4", - "@types/nprogress": "0.2.0", - "@types/oauth": "0.9.1", - "@types/parse5": "6.0.2", - "@types/parsimmon": "1.10.6", - "@types/portscanner": "2.1.1", - "@types/pug": "2.0.5", - "@types/punycode": "2.1.0", - "@types/qrcode": "1.4.1", - "@types/random-seed": "0.3.3", - "@types/ratelimiter": "3.4.2", - "@types/redis": "2.8.32", - "@types/rename": "1.0.4", - "@types/request-stats": "3.0.0", - "@types/rimraf": "3.0.2", - "@types/seedrandom": "2.4.28", - "@types/sharp": "0.29.3", - "@types/sinonjs__fake-timers": "6.0.4", - "@types/speakeasy": "2.0.6", - "@types/throttle-debounce": "2.1.0", - "@types/tinycolor2": "1.4.3", - "@types/tmp": "0.2.2", - "@types/uuid": "8.3.1", - "@types/web-push": "3.3.2", - "@types/webpack": "5.28.0", - "@types/webpack-stream": "3.2.12", - "@types/websocket": "1.0.4", - "@types/ws": "8.2.0", - "@typescript-eslint/parser": "5.1.0", - "@vue/compiler-sfc": "3.2.21", - "abort-controller": "3.0.0", - "autobind-decorator": "2.4.0", - "autosize": "4.0.4", - "autwh": "0.1.0", - "aws-sdk": "2.1013.0", - "bcryptjs": "2.4.3", - "blurhash": "1.1.4", - "broadcast-channel": "4.5.0", - "bull": "4.1.0", - "cacheable-lookup": "6.0.4", - "cafy": "15.2.1", - "cbor": "8.1.0", - "chalk": "4.1.2", - "chart.js": "3.6.0", - "chartjs-adapter-date-fns": "2.0.0", - "chartjs-plugin-zoom": "1.1.1", - "cli-highlight": "2.1.11", - "compare-versions": "3.6.0", - "concurrently": "6.3.0", - "content-disposition": "0.5.3", - "crc-32": "1.2.0", - "css-loader": "6.5.1", - "cssnano": "5.0.10", - "date-fns": "2.25.0", - "dateformat": "4.5.1", - "deep-email-validator": "0.1.18", - "escape-regexp": "0.0.1", - "eslint": "8.2.0", - "eslint-plugin-vue": "8.0.3", - "eventemitter3": "4.0.7", - "feed": "4.2.2", - "file-type": "16.5.3", - "fluent-ffmpeg": "2.1.2", - "glob": "7.2.0", - "got": "11.8.2", "gulp": "4.0.2", "gulp-cssnano": "2.1.3", "gulp-rename": "2.0.0", "gulp-replace": "1.1.3", "gulp-terser": "2.1.0", - "gulp-tslint": "8.1.4", - "hpagent": "0.1.2", - "http-signature": "1.3.5", - "idb-keyval": "5.1.3", - "insert-text-at-cursor": "0.3.0", - "ip-cidr": "3.0.4", - "is-svg": "4.3.1", - "js-yaml": "4.1.0", - "jsdom": "16.7.0", - "json5": "2.2.0", - "json5-loader": "4.0.1", - "jsonld": "5.2.0", - "jsrsasign": "8.0.20", - "katex": "0.13.18", - "koa": "2.13.4", - "koa-bodyparser": "4.3.0", - "koa-favicon": "2.1.0", - "koa-json-body": "5.3.0", - "koa-logger": "3.2.1", - "koa-mount": "4.0.0", - "koa-send": "5.0.1", - "koa-slow": "2.1.0", - "koa-views": "7.0.2", - "langmap": "0.0.16", - "matter-js": "0.17.1", - "mfm-js": "0.20.0", - "misskey-js": "0.0.8", - "mocha": "8.4.0", - "ms": "2.1.3", - "multer": "1.4.3", - "nested-property": "4.0.0", - "node-fetch": "2.6.1", - "nodemailer": "6.7.0", - "os-utils": "0.0.14", - "parse5": "6.0.1", - "pg": "8.7.1", - "photoswipe": "git://github.com/dimsemenov/photoswipe#v5-beta", - "portscanner": "2.2.0", - "postcss": "8.3.11", - "postcss-loader": "6.2.0", - "prismjs": "1.25.0", - "private-ip": "2.3.3", - "probe-image-size": "7.2.1", - "promise-limit": "2.7.0", - "pug": "3.0.2", - "punycode": "2.1.1", - "pureimage": "0.3.5", - "qrcode": "1.4.4", - "random-seed": "0.3.0", - "ratelimiter": "3.4.1", - "re2": "1.16.0", - "redis": "3.1.2", - "redis-lock": "0.1.4", - "reflect-metadata": "0.1.13", - "rename": "1.0.4", - "request-stats": "3.0.0", - "require-all": "3.0.0", - "rimraf": "3.0.2", - "rndstr": "1.0.0", - "s-age": "1.1.2", - "sass": "1.43.4", - "sass-loader": "12.3.0", - "seedrandom": "3.0.5", - "sharp": "0.29.2", - "speakeasy": "2.0.0", - "strict-event-emitter-types": "2.0.0", - "stringz": "2.1.0", - "style-loader": "3.3.1", - "summaly": "2.4.1", - "syslog-pro": "1.0.0", - "systeminformation": "5.9.9", - "syuilo-password-strength": "0.0.1", - "textarea-caret": "3.1.0", - "three": "0.117.1", - "throttle-debounce": "3.0.1", - "tinycolor2": "1.4.2", - "tmp": "0.2.1", - "ts-loader": "9.2.6", - "ts-node": "10.4.0", - "tsc-alias": "1.3.10", - "tsconfig-paths": "3.11.0", - "tslint": "6.1.3", - "tslint-sonarts": "1.9.0", - "twemoji-parser": "13.1.0", - "typeorm": "0.2.39", - "typescript": "4.4.4", - "ulid": "2.3.0", - "uuid": "8.3.2", - "v-debounce": "0.1.2", - "vanilla-tilt": "1.7.2", - "vue": "3.2.21", - "vue-loader": "16.7.0", - "vue-prism-editor": "2.0.0-alpha.2", - "vue-router": "4.0.5", - "vue-style-loader": "4.1.3", - "vue-svg-loader": "0.17.0-beta.2", - "vuedraggable": "4.0.1", - "web-push": "3.4.5", - "webpack": "5.63.0", - "webpack-cli": "4.9.1", - "websocket": "1.0.34", - "ws": "8.2.3", - "xev": "2.0.1" + "gulp-tslint": "8.1.4" }, "devDependencies": { "@redocly/openapi-core": "1.0.0-beta.54", diff --git a/src/.eslintrc b/packages/backend/.eslintrc similarity index 100% rename from src/.eslintrc rename to packages/backend/.eslintrc diff --git a/.mocharc.json b/packages/backend/.mocharc.json similarity index 100% rename from .mocharc.json rename to packages/backend/.mocharc.json diff --git a/packages/backend/.npmrc b/packages/backend/.npmrc new file mode 100644 index 000000000..6b5f38e89 --- /dev/null +++ b/packages/backend/.npmrc @@ -0,0 +1,2 @@ +save-exact = true +package-lock = false diff --git a/src/@types/hcaptcha.d.ts b/packages/backend/@types/hcaptcha.d.ts similarity index 100% rename from src/@types/hcaptcha.d.ts rename to packages/backend/@types/hcaptcha.d.ts diff --git a/src/@types/http-signature.d.ts b/packages/backend/@types/http-signature.d.ts similarity index 100% rename from src/@types/http-signature.d.ts rename to packages/backend/@types/http-signature.d.ts diff --git a/src/@types/jsrsasign.d.ts b/packages/backend/@types/jsrsasign.d.ts similarity index 100% rename from src/@types/jsrsasign.d.ts rename to packages/backend/@types/jsrsasign.d.ts diff --git a/src/@types/koa-json-body.d.ts b/packages/backend/@types/koa-json-body.d.ts similarity index 100% rename from src/@types/koa-json-body.d.ts rename to packages/backend/@types/koa-json-body.d.ts diff --git a/src/@types/koa-slow.d.ts b/packages/backend/@types/koa-slow.d.ts similarity index 100% rename from src/@types/koa-slow.d.ts rename to packages/backend/@types/koa-slow.d.ts diff --git a/src/@types/langmap.d.ts b/packages/backend/@types/langmap.d.ts similarity index 100% rename from src/@types/langmap.d.ts rename to packages/backend/@types/langmap.d.ts diff --git a/src/@types/ms.d.ts b/packages/backend/@types/ms.d.ts similarity index 100% rename from src/@types/ms.d.ts rename to packages/backend/@types/ms.d.ts diff --git a/src/@types/os-utils.d.ts b/packages/backend/@types/os-utils.d.ts similarity index 100% rename from src/@types/os-utils.d.ts rename to packages/backend/@types/os-utils.d.ts diff --git a/src/@types/package.json.d.ts b/packages/backend/@types/package.json.d.ts similarity index 100% rename from src/@types/package.json.d.ts rename to packages/backend/@types/package.json.d.ts diff --git a/src/@types/probe-image-size.d.ts b/packages/backend/@types/probe-image-size.d.ts similarity index 100% rename from src/@types/probe-image-size.d.ts rename to packages/backend/@types/probe-image-size.d.ts diff --git a/assets/api-doc.png b/packages/backend/assets/api-doc.png similarity index 100% rename from assets/api-doc.png rename to packages/backend/assets/api-doc.png diff --git a/assets/apple-touch-icon.png b/packages/backend/assets/apple-touch-icon.png similarity index 100% rename from assets/apple-touch-icon.png rename to packages/backend/assets/apple-touch-icon.png diff --git a/assets/favicon.ico b/packages/backend/assets/favicon.ico similarity index 100% rename from assets/favicon.ico rename to packages/backend/assets/favicon.ico diff --git a/assets/favicon.png b/packages/backend/assets/favicon.png similarity index 100% rename from assets/favicon.png rename to packages/backend/assets/favicon.png diff --git a/assets/icons/192.png b/packages/backend/assets/icons/192.png similarity index 100% rename from assets/icons/192.png rename to packages/backend/assets/icons/192.png diff --git a/assets/icons/512.png b/packages/backend/assets/icons/512.png similarity index 100% rename from assets/icons/512.png rename to packages/backend/assets/icons/512.png diff --git a/assets/mi-white.png b/packages/backend/assets/mi-white.png similarity index 100% rename from assets/mi-white.png rename to packages/backend/assets/mi-white.png diff --git a/assets/redoc.html b/packages/backend/assets/redoc.html similarity index 100% rename from assets/redoc.html rename to packages/backend/assets/redoc.html diff --git a/assets/robots.txt b/packages/backend/assets/robots.txt similarity index 100% rename from assets/robots.txt rename to packages/backend/assets/robots.txt diff --git a/assets/user-unknown.png b/packages/backend/assets/user-unknown.png similarity index 100% rename from assets/user-unknown.png rename to packages/backend/assets/user-unknown.png diff --git a/migration/1000000000000-Init.ts b/packages/backend/migration/1000000000000-Init.js similarity index 99% rename from migration/1000000000000-Init.ts rename to packages/backend/migration/1000000000000-Init.js index ce54d8a7e..19b216600 100644 --- a/migration/1000000000000-Init.ts +++ b/packages/backend/migration/1000000000000-Init.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class Init1000000000000 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Init1000000000000 { + async up(queryRunner) { await queryRunner.query(`CREATE TYPE "log_level_enum" AS ENUM('error', 'warning', 'info', 'success', 'debug')`); await queryRunner.query(`CREATE TABLE "log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "domain" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "level" "log_level_enum" NOT NULL, "worker" character varying(8) NOT NULL, "machine" character varying(128) NOT NULL, "message" character varying(1024) NOT NULL, "data" jsonb NOT NULL DEFAULT '{}', CONSTRAINT "PK_350604cbdf991d5930d9e618fbd" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_8e4eb51a35d81b64dda28eed0a" ON "log" ("createdAt") `); @@ -241,8 +240,7 @@ export class Init1000000000000 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "user_publickey" ADD CONSTRAINT "FK_10c146e4b39b443ede016f6736d" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9"`); await queryRunner.query(`ALTER TABLE "user_publickey" DROP CONSTRAINT "FK_10c146e4b39b443ede016f6736d"`); await queryRunner.query(`ALTER TABLE "user_keypair" DROP CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6"`); @@ -481,5 +479,5 @@ export class Init1000000000000 implements MigrationInterface { await queryRunner.query(`DROP TABLE "log"`); await queryRunner.query(`DROP TYPE "log_level_enum"`); } - } +exports.Init1000000000000 = Init1000000000000; diff --git a/migration/1556348509290-Pages.ts b/packages/backend/migration/1556348509290-Pages.js similarity index 91% rename from migration/1556348509290-Pages.ts rename to packages/backend/migration/1556348509290-Pages.js index c44b4b1f7..d69d17258 100644 --- a/migration/1556348509290-Pages.ts +++ b/packages/backend/migration/1556348509290-Pages.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class Pages1556348509290 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Pages1556348509290 { + async up(queryRunner) { await queryRunner.query(`CREATE TYPE "page_visibility_enum" AS ENUM('public', 'followers', 'specified')`); await queryRunner.query(`CREATE TABLE "page" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "title" character varying(256) NOT NULL, "name" character varying(256) NOT NULL, "summary" character varying(256), "alignCenter" boolean NOT NULL, "font" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "eyeCatchingImageId" character varying(32), "content" jsonb NOT NULL DEFAULT '[]', "variables" jsonb NOT NULL DEFAULT '[]', "visibility" "page_visibility_enum" NOT NULL, "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_742f4117e065c5b6ad21b37ba1f" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_fbb4297c927a9b85e9cefa2eb1" ON "page" ("createdAt") `); @@ -14,8 +13,7 @@ export class Pages1556348509290 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10" FOREIGN KEY ("eyeCatchingImageId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10"`); await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a"`); await queryRunner.query(`DROP INDEX "IDX_2133ef8317e4bdb839c0dcbf13"`); @@ -27,5 +25,5 @@ export class Pages1556348509290 implements MigrationInterface { await queryRunner.query(`DROP TABLE "page"`); await queryRunner.query(`DROP TYPE "page_visibility_enum"`); } - } +exports.Pages1556348509290 = Pages1556348509290; diff --git a/migration/1556746559567-UserProfile.ts b/packages/backend/migration/1556746559567-UserProfile.js similarity index 70% rename from migration/1556746559567-UserProfile.ts rename to packages/backend/migration/1556746559567-UserProfile.js index 2dc7349cc..3a082b882 100644 --- a/migration/1556746559567-UserProfile.ts +++ b/packages/backend/migration/1556746559567-UserProfile.js @@ -1,16 +1,14 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class UserProfile1556746559567 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class UserProfile1556746559567 { + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE VARCHAR(64) USING "githubId"::VARCHAR(64)`); await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE VARCHAR(64) USING "discordExpiresDate"::VARCHAR(64)`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`UPDATE "user_profile" SET github = FALSE, discord = FALSE`); await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE INTEGER USING NULL`); await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE INTEGER USING NULL`); } - } +exports.UserProfile1556746559567 = UserProfile1556746559567; diff --git a/packages/backend/migration/1557476068003-PinnedUsers.js b/packages/backend/migration/1557476068003-PinnedUsers.js new file mode 100644 index 000000000..c5e7fe748 --- /dev/null +++ b/packages/backend/migration/1557476068003-PinnedUsers.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class PinnedUsers1557476068003 { + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedUsers" character varying(256) array NOT NULL DEFAULT '{}'::varchar[]`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`); + } +} +exports.PinnedUsers1557476068003 = PinnedUsers1557476068003; diff --git a/migration/1557761316509-AddSomeUrls.ts b/packages/backend/migration/1557761316509-AddSomeUrls.js similarity index 71% rename from migration/1557761316509-AddSomeUrls.ts rename to packages/backend/migration/1557761316509-AddSomeUrls.js index 926999de6..f6a7b409c 100644 --- a/migration/1557761316509-AddSomeUrls.ts +++ b/packages/backend/migration/1557761316509-AddSomeUrls.js @@ -1,16 +1,15 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class AddSomeUrls1557761316509 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class AddSomeUrls1557761316509 { + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" ADD "ToSUrl" character varying(512)`); await queryRunner.query(`ALTER TABLE "meta" ADD "repositoryUrl" character varying(512) NOT NULL DEFAULT 'https://github.com/misskey-dev/misskey'`); await queryRunner.query(`ALTER TABLE "meta" ADD "feedbackUrl" character varying(512) DEFAULT 'https://github.com/misskey-dev/misskey/issues/new'`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "feedbackUrl"`); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "repositoryUrl"`); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "ToSUrl"`); } } +exports.AddSomeUrls1557761316509 = AddSomeUrls1557761316509; diff --git a/migration/1557932705754-ObjectStorageSetting.ts b/packages/backend/migration/1557932705754-ObjectStorageSetting.js similarity index 88% rename from migration/1557932705754-ObjectStorageSetting.ts rename to packages/backend/migration/1557932705754-ObjectStorageSetting.js index dde6aa65f..d798ac5ca 100644 --- a/migration/1557932705754-ObjectStorageSetting.ts +++ b/packages/backend/migration/1557932705754-ObjectStorageSetting.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class ObjectStorageSetting1557932705754 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ObjectStorageSetting1557932705754 { + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" ADD "useObjectStorage" boolean NOT NULL DEFAULT false`); await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageBucket" character varying(512)`); await queryRunner.query(`ALTER TABLE "meta" ADD "objectStoragePrefix" character varying(512)`); @@ -14,8 +13,7 @@ export class ObjectStorageSetting1557932705754 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "meta" ADD "objectStoragePort" integer`); await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseSSL" boolean NOT NULL DEFAULT true`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseSSL"`); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStoragePort"`); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSecretKey"`); @@ -27,5 +25,5 @@ export class ObjectStorageSetting1557932705754 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageBucket"`); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "useObjectStorage"`); } - } +exports.ObjectStorageSetting1557932705754 = ObjectStorageSetting1557932705754; diff --git a/migration/1558072954435-PageLike.ts b/packages/backend/migration/1558072954435-PageLike.js similarity index 85% rename from migration/1558072954435-PageLike.ts rename to packages/backend/migration/1558072954435-PageLike.js index 93cdb8afe..703843497 100644 --- a/migration/1558072954435-PageLike.ts +++ b/packages/backend/migration/1558072954435-PageLike.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class PageLike1558072954435 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class PageLike1558072954435 { + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "page_like" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "pageId" character varying(32) NOT NULL, CONSTRAINT "PK_813f034843af992d3ae0f43c64c" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_0e61efab7f88dbb79c9166dbb4" ON "page_like" ("userId") `); await queryRunner.query(`CREATE UNIQUE INDEX "IDX_4ce6fb9c70529b4c8ac46c9bfa" ON "page_like" ("userId", "pageId") `); @@ -10,8 +9,7 @@ export class PageLike1558072954435 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "page_like" ADD CONSTRAINT "FK_0e61efab7f88dbb79c9166dbb48" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "page_like" ADD CONSTRAINT "FK_cf8782626dced3176038176a847" FOREIGN KEY ("pageId") REFERENCES "page"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "page_like" DROP CONSTRAINT "FK_cf8782626dced3176038176a847"`); await queryRunner.query(`ALTER TABLE "page_like" DROP CONSTRAINT "FK_0e61efab7f88dbb79c9166dbb48"`); await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "likedCount"`); @@ -19,5 +17,5 @@ export class PageLike1558072954435 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_0e61efab7f88dbb79c9166dbb4"`); await queryRunner.query(`DROP TABLE "page_like"`); } - } +exports.PageLike1558072954435 = PageLike1558072954435; diff --git a/migration/1558103093633-UserGroup.ts b/packages/backend/migration/1558103093633-UserGroup.js similarity index 93% rename from migration/1558103093633-UserGroup.ts rename to packages/backend/migration/1558103093633-UserGroup.js index 04783b8df..9c1e51128 100644 --- a/migration/1558103093633-UserGroup.ts +++ b/packages/backend/migration/1558103093633-UserGroup.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class UserGroup1558103093633 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class UserGroup1558103093633 { + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "user_group" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(256) NOT NULL, "userId" character varying(32) NOT NULL, "isPrivate" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_3c29fba6fe013ec8724378ce7c9" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_20e30aa35180e317e133d75316" ON "user_group" ("createdAt") `); await queryRunner.query(`CREATE INDEX "IDX_3d6b372788ab01be58853003c9" ON "user_group" ("userId") `); @@ -19,8 +18,7 @@ export class UserGroup1558103093633 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "user_group_joining" ADD CONSTRAINT "FK_f3a1b4bd0c7cabba958a0c0b231" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "user_group_joining" ADD CONSTRAINT "FK_67dc758bc0566985d1b3d399865" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_group_joining" DROP CONSTRAINT "FK_67dc758bc0566985d1b3d399865"`); await queryRunner.query(`ALTER TABLE "user_group_joining" DROP CONSTRAINT "FK_f3a1b4bd0c7cabba958a0c0b231"`); await queryRunner.query(`ALTER TABLE "user_group" DROP CONSTRAINT "FK_3d6b372788ab01be58853003c93"`); @@ -37,5 +35,5 @@ export class UserGroup1558103093633 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_20e30aa35180e317e133d75316"`); await queryRunner.query(`DROP TABLE "user_group"`); } - } +exports.UserGroup1558103093633 = UserGroup1558103093633; diff --git a/migration/1558257926829-UserGroupInvite.ts b/packages/backend/migration/1558257926829-UserGroupInvite.js similarity index 87% rename from migration/1558257926829-UserGroupInvite.ts rename to packages/backend/migration/1558257926829-UserGroupInvite.js index a78e47922..e8a575e74 100644 --- a/migration/1558257926829-UserGroupInvite.ts +++ b/packages/backend/migration/1558257926829-UserGroupInvite.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class UserGroupInvite1558257926829 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class UserGroupInvite1558257926829 { + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "user_group_invite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_3893884af0d3a5f4d01e7921a97" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_1039988afa3bf991185b277fe0" ON "user_group_invite" ("userId") `); await queryRunner.query(`CREATE INDEX "IDX_e10924607d058004304611a436" ON "user_group_invite" ("userGroupId") `); @@ -11,8 +10,7 @@ export class UserGroupInvite1558257926829 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "user_group_invite" ADD CONSTRAINT "FK_1039988afa3bf991185b277fe03" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "user_group_invite" ADD CONSTRAINT "FK_e10924607d058004304611a436a" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_group_invite" DROP CONSTRAINT "FK_e10924607d058004304611a436a"`); await queryRunner.query(`ALTER TABLE "user_group_invite" DROP CONSTRAINT "FK_1039988afa3bf991185b277fe03"`); await queryRunner.query(`DROP INDEX "IDX_d9ecaed8c6dc43f3592c229282"`); @@ -21,5 +19,5 @@ export class UserGroupInvite1558257926829 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_1039988afa3bf991185b277fe0"`); await queryRunner.query(`DROP TABLE "user_group_invite"`); } - } +exports.UserGroupInvite1558257926829 = UserGroupInvite1558257926829; diff --git a/packages/backend/migration/1558266512381-UserListJoining.js b/packages/backend/migration/1558266512381-UserListJoining.js new file mode 100644 index 000000000..b31f7bd3d --- /dev/null +++ b/packages/backend/migration/1558266512381-UserListJoining.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class UserListJoining1558266512381 { + async up(queryRunner) { + await queryRunner.query(`CREATE UNIQUE INDEX "IDX_90f7da835e4c10aca6853621e1" ON "user_list_joining" ("userId", "userListId") `); + } + async down(queryRunner) { + await queryRunner.query(`DROP INDEX "IDX_90f7da835e4c10aca6853621e1"`); + } +} +exports.UserListJoining1558266512381 = UserListJoining1558266512381; diff --git a/migration/1561706992953-webauthn.ts b/packages/backend/migration/1561706992953-webauthn.js similarity index 90% rename from migration/1561706992953-webauthn.ts rename to packages/backend/migration/1561706992953-webauthn.js index fc1f0c042..f05054f55 100644 --- a/migration/1561706992953-webauthn.ts +++ b/packages/backend/migration/1561706992953-webauthn.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class webauthn1561706992953 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class webauthn1561706992953 { + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "attestation_challenge" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "challenge" character varying(64) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "registrationChallenge" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_d0ba6786e093f1bcb497572a6b5" PRIMARY KEY ("id", "userId"))`); await queryRunner.query(`CREATE INDEX "IDX_f1a461a618fa1755692d0e0d59" ON "attestation_challenge" ("userId") `); await queryRunner.query(`CREATE INDEX "IDX_47efb914aed1f72dd39a306c7b" ON "attestation_challenge" ("challenge") `); @@ -13,8 +12,7 @@ export class webauthn1561706992953 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "attestation_challenge" ADD CONSTRAINT "FK_f1a461a618fa1755692d0e0d592" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "user_security_key" ADD CONSTRAINT "FK_ff9ca3b5f3ee3d0681367a9b447" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_security_key" DROP CONSTRAINT "FK_ff9ca3b5f3ee3d0681367a9b447"`); await queryRunner.query(`ALTER TABLE "attestation_challenge" DROP CONSTRAINT "FK_f1a461a618fa1755692d0e0d592"`); await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "securityKeysAvailable"`); @@ -25,5 +23,5 @@ export class webauthn1561706992953 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_f1a461a618fa1755692d0e0d59"`); await queryRunner.query(`DROP TABLE "attestation_challenge"`); } - } +exports.webauthn1561706992953 = webauthn1561706992953; diff --git a/migration/1561873850023-ChartIndexes.ts b/packages/backend/migration/1561873850023-ChartIndexes.js similarity index 98% rename from migration/1561873850023-ChartIndexes.ts rename to packages/backend/migration/1561873850023-ChartIndexes.js index b870ad3b7..559cb70cb 100644 --- a/migration/1561873850023-ChartIndexes.ts +++ b/packages/backend/migration/1561873850023-ChartIndexes.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class ChartIndexes1561873850023 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ChartIndexes1561873850023 { + async up(queryRunner) { await queryRunner.query(`CREATE INDEX "IDX_0ad37b7ef50f4ddc84363d7ccc" ON "__chart__active_users" ("date") `); await queryRunner.query(`CREATE INDEX "IDX_15e91a03aeeac9dbccdf43fc06" ON "__chart__active_users" ("span") `); await queryRunner.query(`CREATE INDEX "IDX_00ed5f86db1f7efafb1978bf21" ON "__chart__active_users" ("group") `); @@ -94,8 +93,7 @@ export class ChartIndexes1561873850023 implements MigrationInterface { await queryRunner.query(`CREATE INDEX "IDX_337e9599f278bd7537fe30876f" ON "__chart__users" ("date", "group") `); await queryRunner.query(`CREATE INDEX "IDX_a770a57c70e668cc61590c9161" ON "__chart__users" ("span", "date", "group") `); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_a770a57c70e668cc61590c9161"`); await queryRunner.query(`DROP INDEX "IDX_337e9599f278bd7537fe30876f"`); await queryRunner.query(`DROP INDEX "IDX_f091abb24193d50c653c6b77fc"`); @@ -197,5 +195,5 @@ export class ChartIndexes1561873850023 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_c5d46cbfda48b1c33ed852e21b"`); await queryRunner.query(`DROP INDEX "IDX_8cb40cfc8f3c28261e6f887b03"`); } - } +exports.ChartIndexes1561873850023 = ChartIndexes1561873850023; diff --git a/packages/backend/migration/1562422242907-PasswordLessLogin.js b/packages/backend/migration/1562422242907-PasswordLessLogin.js new file mode 100644 index 000000000..bed879ade --- /dev/null +++ b/packages/backend/migration/1562422242907-PasswordLessLogin.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class PasswordLessLogin1562422242907 { + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "usePasswordLessLogin" boolean DEFAULT false NOT NULL`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "usePasswordLessLogin"`); + } +} +exports.PasswordLessLogin1562422242907 = PasswordLessLogin1562422242907; diff --git a/migration/1562444565093-PinnedPage.ts b/packages/backend/migration/1562444565093-PinnedPage.js similarity index 75% rename from migration/1562444565093-PinnedPage.ts rename to packages/backend/migration/1562444565093-PinnedPage.js index 4bdee2274..f0aac3a4b 100644 --- a/migration/1562444565093-PinnedPage.ts +++ b/packages/backend/migration/1562444565093-PinnedPage.js @@ -1,17 +1,15 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class PinnedPage1562444565093 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class PinnedPage1562444565093 { + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" ADD "pinnedPageId" character varying(32)`); await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "UQ_6dc44f1ceb65b1e72bacef2ca27" UNIQUE ("pinnedPageId")`); await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_6dc44f1ceb65b1e72bacef2ca27" FOREIGN KEY ("pinnedPageId") REFERENCES "page"("id") ON DELETE SET NULL ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "FK_6dc44f1ceb65b1e72bacef2ca27"`); await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "UQ_6dc44f1ceb65b1e72bacef2ca27"`); await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "pinnedPageId"`); } - } +exports.PinnedPage1562444565093 = PinnedPage1562444565093; diff --git a/packages/backend/migration/1562448332510-PageTitleHideOption.js b/packages/backend/migration/1562448332510-PageTitleHideOption.js new file mode 100644 index 000000000..238b74226 --- /dev/null +++ b/packages/backend/migration/1562448332510-PageTitleHideOption.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class PageTitleHideOption1562448332510 { + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "page" ADD "hideTitleWhenPinned" boolean NOT NULL DEFAULT false`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "hideTitleWhenPinned"`); + } +} +exports.PageTitleHideOption1562448332510 = PageTitleHideOption1562448332510; diff --git a/migration/1562869971568-ModerationLog.ts b/packages/backend/migration/1562869971568-ModerationLog.js similarity index 77% rename from migration/1562869971568-ModerationLog.ts rename to packages/backend/migration/1562869971568-ModerationLog.js index b37f38ee5..c8953c513 100644 --- a/migration/1562869971568-ModerationLog.ts +++ b/packages/backend/migration/1562869971568-ModerationLog.js @@ -1,17 +1,15 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class ModerationLog1562869971568 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ModerationLog1562869971568 { + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "moderation_log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "type" character varying(128) NOT NULL, "info" jsonb NOT NULL, CONSTRAINT "PK_d0adca6ecfd068db83e4526cc26" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_a08ad074601d204e0f69da9a95" ON "moderation_log" ("userId") `); await queryRunner.query(`ALTER TABLE "moderation_log" ADD CONSTRAINT "FK_a08ad074601d204e0f69da9a954" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "moderation_log" DROP CONSTRAINT "FK_a08ad074601d204e0f69da9a954"`); await queryRunner.query(`DROP INDEX "IDX_a08ad074601d204e0f69da9a95"`); await queryRunner.query(`DROP TABLE "moderation_log"`); } - } +exports.ModerationLog1562869971568 = ModerationLog1562869971568; diff --git a/migration/1563757595828-UsedUsername.ts b/packages/backend/migration/1563757595828-UsedUsername.js similarity index 54% rename from migration/1563757595828-UsedUsername.ts rename to packages/backend/migration/1563757595828-UsedUsername.js index a076fcc0c..0e59fdd45 100644 --- a/migration/1563757595828-UsedUsername.ts +++ b/packages/backend/migration/1563757595828-UsedUsername.js @@ -1,13 +1,11 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class UsedUsername1563757595828 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class UsedUsername1563757595828 { + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "used_username" ("username" character varying(128) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, CONSTRAINT "PK_78fd79d2d24c6ac2f4cc9a31a5d" PRIMARY KEY ("username"))`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP TABLE "used_username"`); } - } +exports.UsedUsername1563757595828 = UsedUsername1563757595828; diff --git a/packages/backend/migration/1565634203341-room.js b/packages/backend/migration/1565634203341-room.js new file mode 100644 index 000000000..49ca5ea50 --- /dev/null +++ b/packages/backend/migration/1565634203341-room.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class room1565634203341 { + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ADD "room" jsonb NOT NULL DEFAULT '{}'`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "room"`); + } +} +exports.room1565634203341 = room1565634203341; diff --git a/packages/backend/migration/1571220798684-CustomEmojiCategory.js b/packages/backend/migration/1571220798684-CustomEmojiCategory.js new file mode 100644 index 000000000..c67c437de --- /dev/null +++ b/packages/backend/migration/1571220798684-CustomEmojiCategory.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class CustomEmojiCategory1571220798684 { + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "emoji" ADD "category" character varying(128)`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "emoji" DROP COLUMN "category"`, undefined); + } +} +exports.CustomEmojiCategory1571220798684 = CustomEmojiCategory1571220798684; diff --git a/migration/1572760203493-nodeinfo.ts b/packages/backend/migration/1572760203493-nodeinfo.js similarity index 88% rename from migration/1572760203493-nodeinfo.ts rename to packages/backend/migration/1572760203493-nodeinfo.js index 88d8df723..a3ca5d718 100644 --- a/migration/1572760203493-nodeinfo.ts +++ b/packages/backend/migration/1572760203493-nodeinfo.js @@ -1,8 +1,7 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class nodeinfo1572760203493 implements MigrationInterface { - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class nodeinfo1572760203493 { + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "system"`, undefined); await queryRunner.query(`ALTER TABLE "instance" ADD "softwareName" character varying(64) DEFAULT null`, undefined); await queryRunner.query(`ALTER TABLE "instance" ADD "softwareVersion" character varying(64) DEFAULT null`, undefined); @@ -13,8 +12,7 @@ export class nodeinfo1572760203493 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "instance" ADD "maintainerEmail" character varying(256) DEFAULT null`, undefined); await queryRunner.query(`ALTER TABLE "instance" ADD "infoUpdatedAt" TIMESTAMP WITH TIME ZONE`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "infoUpdatedAt"`, undefined); await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "maintainerEmail"`, undefined); await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "maintainerName"`, undefined); @@ -25,5 +23,5 @@ export class nodeinfo1572760203493 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "softwareName"`, undefined); await queryRunner.query(`ALTER TABLE "instance" ADD "system" character varying(64)`, undefined); } - } +exports.nodeinfo1572760203493 = nodeinfo1572760203493; diff --git a/packages/backend/migration/1576269851876-TalkFederationId.js b/packages/backend/migration/1576269851876-TalkFederationId.js new file mode 100644 index 000000000..63a8f8a9a --- /dev/null +++ b/packages/backend/migration/1576269851876-TalkFederationId.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class TalkFederationId1576269851876 { + constructor() { + this.name = 'TalkFederationId1576269851876'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "messaging_message" ADD "uri" character varying(512)`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "uri"`, undefined); + } +} +exports.TalkFederationId1576269851876 = TalkFederationId1576269851876; diff --git a/packages/backend/migration/1576869585998-ProxyRemoteFiles.js b/packages/backend/migration/1576869585998-ProxyRemoteFiles.js new file mode 100644 index 000000000..867ae3d6e --- /dev/null +++ b/packages/backend/migration/1576869585998-ProxyRemoteFiles.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ProxyRemoteFiles1576869585998 { + constructor() { + this.name = 'ProxyRemoteFiles1576869585998'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "proxyRemoteFiles" boolean NOT NULL DEFAULT false`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyRemoteFiles"`, undefined); + } +} +exports.ProxyRemoteFiles1576869585998 = ProxyRemoteFiles1576869585998; diff --git a/migration/1579267006611-v12.ts b/packages/backend/migration/1579267006611-v12.js similarity index 91% rename from migration/1579267006611-v12.ts rename to packages/backend/migration/1579267006611-v12.js index 2c15283fa..ccc524773 100644 --- a/migration/1579267006611-v12.ts +++ b/packages/backend/migration/1579267006611-v12.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v121579267006611 implements MigrationInterface { - name = 'v121579267006611' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v121579267006611 { + constructor() { + this.name = 'v121579267006611'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "announcement" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "text" character varying(8192) NOT NULL, "title" character varying(256) NOT NULL, "imageUrl" character varying(1024), CONSTRAINT "PK_e0ef0550174fd1099a308fd18a0" PRIMARY KEY ("id"))`, undefined); await queryRunner.query(`CREATE INDEX "IDX_118ec703e596086fc4515acb39" ON "announcement" ("createdAt") `, undefined); await queryRunner.query(`CREATE TABLE "announcement_read" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "announcementId" character varying(32) NOT NULL, CONSTRAINT "PK_4b90ad1f42681d97b2683890c5e" PRIMARY KEY ("id"))`, undefined); @@ -16,8 +17,7 @@ export class v121579267006611 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "announcement_read" ADD CONSTRAINT "FK_8288151386172b8109f7239ab28" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); await queryRunner.query(`ALTER TABLE "announcement_read" ADD CONSTRAINT "FK_603a7b1e7aa0533c6c88e9bfafe" FOREIGN KEY ("announcementId") REFERENCES "announcement"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "announcement_read" DROP CONSTRAINT "FK_603a7b1e7aa0533c6c88e9bfafe"`, undefined); await queryRunner.query(`ALTER TABLE "announcement_read" DROP CONSTRAINT "FK_8288151386172b8109f7239ab28"`, undefined); await queryRunner.query(`ALTER TABLE "meta" ADD "enableEmojiReaction" boolean NOT NULL DEFAULT true`, undefined); @@ -30,5 +30,5 @@ export class v121579267006611 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_118ec703e596086fc4515acb39"`, undefined); await queryRunner.query(`DROP TABLE "announcement"`, undefined); } - } +exports.v121579267006611 = v121579267006611; diff --git a/packages/backend/migration/1579270193251-v12-2.js b/packages/backend/migration/1579270193251-v12-2.js new file mode 100644 index 000000000..7f67645aa --- /dev/null +++ b/packages/backend/migration/1579270193251-v12-2.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v1221579270193251 { + constructor() { + this.name = 'v1221579270193251'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "announcement_read" ADD "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "announcement_read" DROP COLUMN "createdAt"`, undefined); + } +} +exports.v1221579270193251 = v1221579270193251; diff --git a/packages/backend/migration/1579282808087-v12-3.js b/packages/backend/migration/1579282808087-v12-3.js new file mode 100644 index 000000000..80fa234a5 --- /dev/null +++ b/packages/backend/migration/1579282808087-v12-3.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v1231579282808087 { + constructor() { + this.name = 'v1231579282808087'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "announcement" ADD "updatedAt" TIMESTAMP WITH TIME ZONE`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "announcement" DROP COLUMN "updatedAt"`, undefined); + } +} +exports.v1231579282808087 = v1231579282808087; diff --git a/migration/1579544426412-v12-4.ts b/packages/backend/migration/1579544426412-v12-4.js similarity index 67% rename from migration/1579544426412-v12-4.ts rename to packages/backend/migration/1579544426412-v12-4.js index d35b25d04..ef2b804f5 100644 --- a/migration/1579544426412-v12-4.ts +++ b/packages/backend/migration/1579544426412-v12-4.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v1241579544426412 implements MigrationInterface { - name = 'v1241579544426412' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v1241579544426412 { + constructor() { + this.name = 'v1241579544426412'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "notification" ADD "followRequestId" character varying(32)`, undefined); await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_bd7fab507621e635b32cd31892c" FOREIGN KEY ("followRequestId") REFERENCES "follow_request"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_bd7fab507621e635b32cd31892c"`, undefined); await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "followRequestId"`, undefined); } - } +exports.v1241579544426412 = v1241579544426412; diff --git a/migration/1579977526288-v12-5.ts b/packages/backend/migration/1579977526288-v12-5.js similarity index 95% rename from migration/1579977526288-v12-5.ts rename to packages/backend/migration/1579977526288-v12-5.js index 5f824a676..1d2ed0966 100644 --- a/migration/1579977526288-v12-5.ts +++ b/packages/backend/migration/1579977526288-v12-5.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v1251579977526288 implements MigrationInterface { - name = 'v1251579977526288' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v1251579977526288 { + constructor() { + this.name = 'v1251579977526288'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "clip" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "isPublic" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_f0685dac8d4dd056d7255670b75" PRIMARY KEY ("id"))`, undefined); await queryRunner.query(`CREATE INDEX "IDX_2b5ec6c574d6802c94c80313fb" ON "clip" ("userId") `, undefined); await queryRunner.query(`CREATE TABLE "clip_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "clipId" character varying(32) NOT NULL, CONSTRAINT "PK_e94cda2f40a99b57e032a1a738b" PRIMARY KEY ("id"))`, undefined); @@ -26,8 +27,7 @@ export class v1251579977526288 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "antenna_note" ADD CONSTRAINT "FK_bd0397be22147e17210940e125b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); await queryRunner.query(`ALTER TABLE "antenna_note" ADD CONSTRAINT "FK_0d775946662d2575dfd2068a5f5" FOREIGN KEY ("antennaId") REFERENCES "antenna"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "antenna_note" DROP CONSTRAINT "FK_0d775946662d2575dfd2068a5f5"`, undefined); await queryRunner.query(`ALTER TABLE "antenna_note" DROP CONSTRAINT "FK_bd0397be22147e17210940e125b"`, undefined); await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_709d7d32053d0dd7620f678eeb9"`, undefined); @@ -50,5 +50,5 @@ export class v1251579977526288 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_2b5ec6c574d6802c94c80313fb"`, undefined); await queryRunner.query(`DROP TABLE "clip"`, undefined); } - } +exports.v1251579977526288 = v1251579977526288; diff --git a/migration/1579993013959-v12-6.ts b/packages/backend/migration/1579993013959-v12-6.js similarity index 69% rename from migration/1579993013959-v12-6.ts rename to packages/backend/migration/1579993013959-v12-6.js index 4fa4623c3..e6c3a40a3 100644 --- a/migration/1579993013959-v12-6.ts +++ b/packages/backend/migration/1579993013959-v12-6.js @@ -1,18 +1,18 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v1261579993013959 implements MigrationInterface { - name = 'v1261579993013959' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v1261579993013959 { + constructor() { + this.name = 'v1261579993013959'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "hasNewNote"`, undefined); await queryRunner.query(`ALTER TABLE "antenna_note" ADD "read" boolean NOT NULL DEFAULT false`, undefined); await queryRunner.query(`CREATE INDEX "IDX_9937ea48d7ae97ffb4f3f063a4" ON "antenna_note" ("read") `, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_9937ea48d7ae97ffb4f3f063a4"`, undefined); await queryRunner.query(`ALTER TABLE "antenna_note" DROP COLUMN "read"`, undefined); await queryRunner.query(`ALTER TABLE "antenna" ADD "hasNewNote" boolean NOT NULL DEFAULT false`, undefined); } - } +exports.v1261579993013959 = v1261579993013959; diff --git a/migration/1580069531114-v12-7.ts b/packages/backend/migration/1580069531114-v12-7.js similarity index 83% rename from migration/1580069531114-v12-7.ts rename to packages/backend/migration/1580069531114-v12-7.js index 227e7cceb..7915603b8 100644 --- a/migration/1580069531114-v12-7.ts +++ b/packages/backend/migration/1580069531114-v12-7.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v1271580069531114 implements MigrationInterface { - name = 'v1271580069531114' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v1271580069531114 { + constructor() { + this.name = 'v1271580069531114'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[]`, undefined); await queryRunner.query(`ALTER TABLE "antenna" ADD "caseSensitive" boolean NOT NULL DEFAULT false`, undefined); await queryRunner.query(`ALTER TYPE "public"."antenna_src_enum" RENAME TO "antenna_src_enum_old"`, undefined); @@ -11,8 +12,7 @@ export class v1271580069531114 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum" USING "src"::"text"::"antenna_src_enum"`, undefined); await queryRunner.query(`DROP TYPE "antenna_src_enum_old"`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`CREATE TYPE "antenna_src_enum_old" AS ENUM('home', 'all', 'list')`, undefined); await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum_old" USING "src"::"text"::"antenna_src_enum_old"`, undefined); await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined); @@ -20,5 +20,5 @@ export class v1271580069531114 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "caseSensitive"`, undefined); await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined); } - } +exports.v1271580069531114 = v1271580069531114; diff --git a/migration/1580148575182-v12-8.ts b/packages/backend/migration/1580148575182-v12-8.js similarity index 64% rename from migration/1580148575182-v12-8.ts rename to packages/backend/migration/1580148575182-v12-8.js index c63bdb4eb..43fbc70e4 100644 --- a/migration/1580148575182-v12-8.ts +++ b/packages/backend/migration/1580148575182-v12-8.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v1281580148575182 implements MigrationInterface { - name = 'v1281580148575182' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v1281580148575182 { + constructor() { + this.name = 'v1281580148575182'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_ec5c201576192ba8904c345c5cc"`, undefined); await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "appId"`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "note" ADD "appId" character varying(32)`, undefined); await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`, undefined); } - } +exports.v1281580148575182 = v1281580148575182; diff --git a/packages/backend/migration/1580154400017-v12-9.js b/packages/backend/migration/1580154400017-v12-9.js new file mode 100644 index 000000000..f47611868 --- /dev/null +++ b/packages/backend/migration/1580154400017-v12-9.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v1291580154400017 { + constructor() { + this.name = 'v1291580154400017'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "antenna" ADD "withReplies" boolean NOT NULL DEFAULT false`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "withReplies"`, undefined); + } +} +exports.v1291580154400017 = v1291580154400017; diff --git a/migration/1580276619901-v12-10.ts b/packages/backend/migration/1580276619901-v12-10.js similarity index 67% rename from migration/1580276619901-v12-10.ts rename to packages/backend/migration/1580276619901-v12-10.js index f48f42b4a..301d0ceb9 100644 --- a/migration/1580276619901-v12-10.ts +++ b/packages/backend/migration/1580276619901-v12-10.js @@ -1,19 +1,19 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v12101580276619901 implements MigrationInterface { - name = 'v12101580276619901' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`TRUNCATE TABLE "notification"`, undefined); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v12101580276619901 { + constructor() { + this.name = 'v12101580276619901'; + } + async up(queryRunner) { + await queryRunner.query(`TRUNCATE TABLE "notification"`, undefined); await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "type"`, undefined); await queryRunner.query(`CREATE TYPE "notification_type_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted')`, undefined); await queryRunner.query(`ALTER TABLE "notification" ADD "type" "notification_type_enum" NOT NULL`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "type"`, undefined); await queryRunner.query(`DROP TYPE "notification_type_enum"`, undefined); await queryRunner.query(`ALTER TABLE "notification" ADD "type" character varying(32) NOT NULL`, undefined); } - } +exports.v12101580276619901 = v12101580276619901; diff --git a/migration/1580331224276-v12-11.ts b/packages/backend/migration/1580331224276-v12-11.js similarity index 70% rename from migration/1580331224276-v12-11.ts rename to packages/backend/migration/1580331224276-v12-11.js index 30794b80e..fb5124baa 100644 --- a/migration/1580331224276-v12-11.ts +++ b/packages/backend/migration/1580331224276-v12-11.js @@ -1,18 +1,18 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v12111580331224276 implements MigrationInterface { - name = 'v12111580331224276' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v12111580331224276 { + constructor() { + this.name = 'v12111580331224276'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "isMarkedAsClosed"`, undefined); await queryRunner.query(`ALTER TABLE "instance" ADD "isSuspended" boolean NOT NULL DEFAULT false`, undefined); await queryRunner.query(`CREATE INDEX "IDX_34500da2e38ac393f7bb6b299c" ON "instance" ("isSuspended") `, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_34500da2e38ac393f7bb6b299c"`, undefined); await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "isSuspended"`, undefined); await queryRunner.query(`ALTER TABLE "instance" ADD "isMarkedAsClosed" boolean NOT NULL DEFAULT false`, undefined); } - } +exports.v12111580331224276 = v12111580331224276; diff --git a/migration/1580508795118-v12-12.ts b/packages/backend/migration/1580508795118-v12-12.js similarity index 93% rename from migration/1580508795118-v12-12.ts rename to packages/backend/migration/1580508795118-v12-12.js index 99791b051..eb70ba3ce 100644 --- a/migration/1580508795118-v12-12.ts +++ b/packages/backend/migration/1580508795118-v12-12.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v12121580508795118 implements MigrationInterface { - name = 'v12121580508795118' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v12121580508795118 { + constructor() { + this.name = 'v12121580508795118'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitter"`, undefined); await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterAccessToken"`, undefined); await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterAccessTokenSecret"`, undefined); @@ -22,8 +23,7 @@ export class v12121580508795118 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordDiscriminator"`, undefined); await queryRunner.query(`ALTER TABLE "user_profile" ADD "integrations" jsonb NOT NULL DEFAULT '{}'`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "integrations"`, undefined); await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordDiscriminator" character varying(64) DEFAULT NULL`, undefined); await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordUsername" character varying(64) DEFAULT NULL`, undefined); @@ -42,5 +42,5 @@ export class v12121580508795118 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterAccessToken" character varying(64) DEFAULT NULL`, undefined); await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitter" boolean NOT NULL DEFAULT false`, undefined); } - } +exports.v12121580508795118 = v12121580508795118; diff --git a/packages/backend/migration/1580543501339-v12-13.js b/packages/backend/migration/1580543501339-v12-13.js new file mode 100644 index 000000000..7dae7178b --- /dev/null +++ b/packages/backend/migration/1580543501339-v12-13.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v12131580543501339 { + constructor() { + this.name = 'v12131580543501339'; + } + async up(queryRunner) { + await queryRunner.query(`CREATE INDEX "IDX_NOTE_TAGS" ON "note" USING gin ("tags")`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`DROP INDEX "IDX_NOTE_TAGS"`, undefined); + } +} +exports.v12131580543501339 = v12131580543501339; diff --git a/migration/1580864313253-v12-14.ts b/packages/backend/migration/1580864313253-v12-14.js similarity index 77% rename from migration/1580864313253-v12-14.ts rename to packages/backend/migration/1580864313253-v12-14.js index 7bf38e5c6..b1939c51b 100644 --- a/migration/1580864313253-v12-14.ts +++ b/packages/backend/migration/1580864313253-v12-14.js @@ -1,20 +1,20 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class v12141580864313253 implements MigrationInterface { - name = 'v12141580864313253' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class v12141580864313253 { + constructor() { + this.name = 'v12141580864313253'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" RENAME COLUMN "proxyAccount" TO "proxyAccountId"`, undefined); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyAccountId"`, undefined); await queryRunner.query(`ALTER TABLE "meta" ADD "proxyAccountId" character varying(32)`, undefined); await queryRunner.query(`ALTER TABLE "meta" ADD CONSTRAINT "FK_ab1bc0c1e209daa77b8e8d212ad" FOREIGN KEY ("proxyAccountId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" DROP CONSTRAINT "FK_ab1bc0c1e209daa77b8e8d212ad"`, undefined); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyAccountId"`, undefined); await queryRunner.query(`ALTER TABLE "meta" ADD "proxyAccountId" character varying(128)`, undefined); await queryRunner.query(`ALTER TABLE "meta" RENAME COLUMN "proxyAccountId" TO "proxyAccount"`, undefined); } - } +exports.v12141580864313253 = v12141580864313253; diff --git a/migration/1581526429287-user-group-invitation.ts b/packages/backend/migration/1581526429287-user-group-invitation.js similarity index 91% rename from migration/1581526429287-user-group-invitation.ts rename to packages/backend/migration/1581526429287-user-group-invitation.js index 26ea54e0b..80946c94a 100644 --- a/migration/1581526429287-user-group-invitation.ts +++ b/packages/backend/migration/1581526429287-user-group-invitation.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class userGroupInvitation1581526429287 implements MigrationInterface { - name = 'userGroupInvitation1581526429287' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class userGroupInvitation1581526429287 { + constructor() { + this.name = 'userGroupInvitation1581526429287'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "user_group_invitation" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_160c63ec02bf23f6a5c5e8140d6" PRIMARY KEY ("id"))`, undefined); await queryRunner.query(`CREATE INDEX "IDX_bfbc6305547539369fe73eb144" ON "user_group_invitation" ("userId") `, undefined); await queryRunner.query(`CREATE INDEX "IDX_5cc8c468090e129857e9fecce5" ON "user_group_invitation" ("userGroupId") `, undefined); @@ -18,8 +19,7 @@ export class userGroupInvitation1581526429287 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "user_group_invitation" ADD CONSTRAINT "FK_5cc8c468090e129857e9fecce5a" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_8fe87814e978053a53b1beb7e98" FOREIGN KEY ("userGroupInvitationId") REFERENCES "user_group_invitation"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_8fe87814e978053a53b1beb7e98"`, undefined); await queryRunner.query(`ALTER TABLE "user_group_invitation" DROP CONSTRAINT "FK_5cc8c468090e129857e9fecce5a"`, undefined); await queryRunner.query(`ALTER TABLE "user_group_invitation" DROP CONSTRAINT "FK_bfbc6305547539369fe73eb144a"`, undefined); @@ -34,5 +34,5 @@ export class userGroupInvitation1581526429287 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_bfbc6305547539369fe73eb144"`, undefined); await queryRunner.query(`DROP TABLE "user_group_invitation"`, undefined); } - } +exports.userGroupInvitation1581526429287 = userGroupInvitation1581526429287; diff --git a/migration/1581695816408-user-group-antenna.ts b/packages/backend/migration/1581695816408-user-group-antenna.js similarity index 85% rename from migration/1581695816408-user-group-antenna.ts rename to packages/backend/migration/1581695816408-user-group-antenna.js index 15eb2fe11..307b5b057 100644 --- a/migration/1581695816408-user-group-antenna.ts +++ b/packages/backend/migration/1581695816408-user-group-antenna.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class userGroupAntenna1581695816408 implements MigrationInterface { - name = 'userGroupAntenna1581695816408' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class userGroupAntenna1581695816408 { + constructor() { + this.name = 'userGroupAntenna1581695816408'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "antenna" ADD "userGroupJoiningId" character varying(32)`, undefined); await queryRunner.query(`ALTER TYPE "public"."antenna_src_enum" RENAME TO "antenna_src_enum_old"`, undefined); await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'users', 'list', 'group')`, undefined); @@ -13,8 +14,7 @@ export class userGroupAntenna1581695816408 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[]`, undefined); await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_ccbf5a8c0be4511133dcc50ddeb" FOREIGN KEY ("userGroupJoiningId") REFERENCES "user_group_joining"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_ccbf5a8c0be4511133dcc50ddeb"`, undefined); await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined); await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying array NOT NULL DEFAULT '{}'`, undefined); @@ -24,5 +24,5 @@ export class userGroupAntenna1581695816408 implements MigrationInterface { await queryRunner.query(`ALTER TYPE "antenna_src_enum_old" RENAME TO "antenna_src_enum"`, undefined); await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "userGroupJoiningId"`, undefined); } - } +exports.userGroupAntenna1581695816408 = userGroupAntenna1581695816408; diff --git a/packages/backend/migration/1581708415836-drive-user-folder-id-index.js b/packages/backend/migration/1581708415836-drive-user-folder-id-index.js new file mode 100644 index 000000000..8029ef139 --- /dev/null +++ b/packages/backend/migration/1581708415836-drive-user-folder-id-index.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class driveUserFolderIdIndex1581708415836 { + constructor() { + this.name = 'driveUserFolderIdIndex1581708415836'; + } + async up(queryRunner) { + await queryRunner.query(`CREATE INDEX "IDX_55720b33a61a7c806a8215b825" ON "drive_file" ("userId", "folderId", "id") `, undefined); + } + async down(queryRunner) { + await queryRunner.query(`DROP INDEX "IDX_55720b33a61a7c806a8215b825"`, undefined); + } +} +exports.driveUserFolderIdIndex1581708415836 = driveUserFolderIdIndex1581708415836; diff --git a/migration/1581979837262-promo.ts b/packages/backend/migration/1581979837262-promo.js similarity index 89% rename from migration/1581979837262-promo.ts rename to packages/backend/migration/1581979837262-promo.js index 2c4f25c4d..d2c5bac17 100644 --- a/migration/1581979837262-promo.ts +++ b/packages/backend/migration/1581979837262-promo.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class promo1581979837262 implements MigrationInterface { - name = 'promo1581979837262' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class promo1581979837262 { + constructor() { + this.name = 'promo1581979837262'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "promo_note" ("noteId" character varying(32) NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, CONSTRAINT "REL_e263909ca4fe5d57f8d4230dd5" UNIQUE ("noteId"), CONSTRAINT "PK_e263909ca4fe5d57f8d4230dd5c" PRIMARY KEY ("noteId"))`, undefined); await queryRunner.query(`CREATE INDEX "IDX_83f0862e9bae44af52ced7099e" ON "promo_note" ("userId") `, undefined); await queryRunner.query(`CREATE TABLE "promo_read" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_61917c1541002422b703318b7c9" PRIMARY KEY ("id"))`, undefined); @@ -13,8 +14,7 @@ export class promo1581979837262 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "promo_read" ADD CONSTRAINT "FK_9657d55550c3d37bfafaf7d4b05" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); await queryRunner.query(`ALTER TABLE "promo_read" ADD CONSTRAINT "FK_a46a1a603ecee695d7db26da5f4" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "promo_read" DROP CONSTRAINT "FK_a46a1a603ecee695d7db26da5f4"`, undefined); await queryRunner.query(`ALTER TABLE "promo_read" DROP CONSTRAINT "FK_9657d55550c3d37bfafaf7d4b05"`, undefined); await queryRunner.query(`ALTER TABLE "promo_note" DROP CONSTRAINT "FK_e263909ca4fe5d57f8d4230dd5c"`, undefined); @@ -24,5 +24,5 @@ export class promo1581979837262 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_83f0862e9bae44af52ced7099e"`, undefined); await queryRunner.query(`DROP TABLE "promo_note"`, undefined); } - } +exports.promo1581979837262 = promo1581979837262; diff --git a/packages/backend/migration/1582019042083-featured-injecttion.js b/packages/backend/migration/1582019042083-featured-injecttion.js new file mode 100644 index 000000000..9779e2a08 --- /dev/null +++ b/packages/backend/migration/1582019042083-featured-injecttion.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class featuredInjecttion1582019042083 { + constructor() { + this.name = 'featuredInjecttion1582019042083'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ADD "injectFeaturedNote" boolean NOT NULL DEFAULT true`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "injectFeaturedNote"`, undefined); + } +} +exports.featuredInjecttion1582019042083 = featuredInjecttion1582019042083; diff --git a/packages/backend/migration/1582210532752-antenna-exclude.js b/packages/backend/migration/1582210532752-antenna-exclude.js new file mode 100644 index 000000000..cc095b4b5 --- /dev/null +++ b/packages/backend/migration/1582210532752-antenna-exclude.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class antennaExclude1582210532752 { + constructor() { + this.name = 'antennaExclude1582210532752'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "antenna" ADD "excludeKeywords" jsonb NOT NULL DEFAULT '[]'`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "excludeKeywords"`, undefined); + } +} +exports.antennaExclude1582210532752 = antennaExclude1582210532752; diff --git a/packages/backend/migration/1582875306439-note-reaction-length.js b/packages/backend/migration/1582875306439-note-reaction-length.js new file mode 100644 index 000000000..bdee1ef14 --- /dev/null +++ b/packages/backend/migration/1582875306439-note-reaction-length.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class noteReactionLength1582875306439 { + constructor() { + this.name = 'noteReactionLength1582875306439'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(128)`, undefined); + } +} +exports.noteReactionLength1582875306439 = noteReactionLength1582875306439; diff --git a/migration/1585361548360-miauth.ts b/packages/backend/migration/1585361548360-miauth.js similarity index 91% rename from migration/1585361548360-miauth.ts rename to packages/backend/migration/1585361548360-miauth.js index 22d6c207f..c1a695dd2 100644 --- a/migration/1585361548360-miauth.ts +++ b/packages/backend/migration/1585361548360-miauth.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class miauth1585361548360 implements MigrationInterface { - name = 'miauth1585361548360' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class miauth1585361548360 { + constructor() { + this.name = 'miauth1585361548360'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "access_token" ADD "lastUsedAt" TIMESTAMP WITH TIME ZONE DEFAULT null`, undefined); await queryRunner.query(`ALTER TABLE "access_token" ADD "session" character varying(128) DEFAULT null`, undefined); await queryRunner.query(`ALTER TABLE "access_token" ADD "name" character varying(128) DEFAULT null`, undefined); @@ -17,8 +18,7 @@ export class miauth1585361548360 implements MigrationInterface { await queryRunner.query(`CREATE INDEX "IDX_bf3a053c07d9fb5d87317c56ee" ON "access_token" ("session") `, undefined); await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560"`, undefined); await queryRunner.query(`DROP INDEX "IDX_bf3a053c07d9fb5d87317c56ee"`, undefined); await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" DROP DEFAULT`, undefined); @@ -32,5 +32,5 @@ export class miauth1585361548360 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "session"`, undefined); await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "lastUsedAt"`, undefined); } - } +exports.miauth1585361548360 = miauth1585361548360; diff --git a/migration/1585385921215-custom-notification.ts b/packages/backend/migration/1585385921215-custom-notification.js similarity index 93% rename from migration/1585385921215-custom-notification.ts rename to packages/backend/migration/1585385921215-custom-notification.js index 24c29d53e..7f94c741a 100644 --- a/migration/1585385921215-custom-notification.ts +++ b/packages/backend/migration/1585385921215-custom-notification.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class customNotification1585385921215 implements MigrationInterface { - name = 'customNotification1585385921215' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class customNotification1585385921215 { + constructor() { + this.name = 'customNotification1585385921215'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "notification" ADD "customBody" character varying(2048)`, undefined); await queryRunner.query(`ALTER TABLE "notification" ADD "customHeader" character varying(256)`, undefined); await queryRunner.query(`ALTER TABLE "notification" ADD "customIcon" character varying(1024)`, undefined); @@ -23,8 +24,7 @@ export class customNotification1585385921215 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_e22bf6bda77b6adc1fd9e75c8c9" FOREIGN KEY ("appAccessTokenId") REFERENCES "access_token"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_e22bf6bda77b6adc1fd9e75c8c9"`, undefined); await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710"`, undefined); await queryRunner.query(`DROP INDEX "IDX_e22bf6bda77b6adc1fd9e75c8c"`, undefined); @@ -44,5 +44,5 @@ export class customNotification1585385921215 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "customHeader"`, undefined); await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "customBody"`, undefined); } - } +exports.customNotification1585385921215 = customNotification1585385921215; diff --git a/packages/backend/migration/1585772678853-ap-url.js b/packages/backend/migration/1585772678853-ap-url.js new file mode 100644 index 000000000..f7c1f87b8 --- /dev/null +++ b/packages/backend/migration/1585772678853-ap-url.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class apUrl1585772678853 { + constructor() { + this.name = 'apUrl1585772678853'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "note" ADD "url" character varying(512)`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "url"`, undefined); + } +} +exports.apUrl1585772678853 = apUrl1585772678853; diff --git a/packages/backend/migration/1586624197029-AddObjectStorageUseProxy.js b/packages/backend/migration/1586624197029-AddObjectStorageUseProxy.js new file mode 100644 index 000000000..9fcef0c90 --- /dev/null +++ b/packages/backend/migration/1586624197029-AddObjectStorageUseProxy.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class AddObjectStorageUseProxy1586624197029 { + constructor() { + this.name = 'AddObjectStorageUseProxy1586624197029'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseProxy" boolean NOT NULL DEFAULT true`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseProxy"`, undefined); + } +} +exports.AddObjectStorageUseProxy1586624197029 = AddObjectStorageUseProxy1586624197029; diff --git a/packages/backend/migration/1586641139527-remote-reaction.js b/packages/backend/migration/1586641139527-remote-reaction.js new file mode 100644 index 000000000..a9d362474 --- /dev/null +++ b/packages/backend/migration/1586641139527-remote-reaction.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class remoteReaction1586641139527 { + constructor() { + this.name = 'remoteReaction1586641139527'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(260)`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined); + } +} +exports.remoteReaction1586641139527 = remoteReaction1586641139527; diff --git a/packages/backend/migration/1586708940386-pageAiScript.js b/packages/backend/migration/1586708940386-pageAiScript.js new file mode 100644 index 000000000..089ff6e27 --- /dev/null +++ b/packages/backend/migration/1586708940386-pageAiScript.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class pageAiScript1586708940386 { + constructor() { + this.name = 'pageAiScript1586708940386'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "page" ADD "script" character varying(16384) NOT NULL DEFAULT ''`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "script"`, undefined); + } +} +exports.pageAiScript1586708940386 = pageAiScript1586708940386; diff --git a/migration/1588044505511-hCaptcha.ts b/packages/backend/migration/1588044505511-hCaptcha.js similarity index 68% rename from migration/1588044505511-hCaptcha.ts rename to packages/backend/migration/1588044505511-hCaptcha.js index a3f4e9367..9b2524afb 100644 --- a/migration/1588044505511-hCaptcha.ts +++ b/packages/backend/migration/1588044505511-hCaptcha.js @@ -1,18 +1,18 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class hCaptcha1588044505511 implements MigrationInterface { - name = 'hCaptcha1588044505511' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class hCaptcha1588044505511 { + constructor() { + this.name = 'hCaptcha1588044505511'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" ADD "enableHcaptcha" boolean NOT NULL DEFAULT false`, undefined); await queryRunner.query(`ALTER TABLE "meta" ADD "hcaptchaSiteKey" character varying(64)`, undefined); await queryRunner.query(`ALTER TABLE "meta" ADD "hcaptchaSecretKey" character varying(64)`, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "hcaptchaSecretKey"`, undefined); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "hcaptchaSiteKey"`, undefined); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableHcaptcha"`, undefined); } - } +exports.hCaptcha1588044505511 = hCaptcha1588044505511; diff --git a/migration/1589023282116-pubRelay.ts b/packages/backend/migration/1589023282116-pubRelay.js similarity index 71% rename from migration/1589023282116-pubRelay.ts rename to packages/backend/migration/1589023282116-pubRelay.js index 3b9d35991..f03384a51 100644 --- a/migration/1589023282116-pubRelay.ts +++ b/packages/backend/migration/1589023282116-pubRelay.js @@ -1,18 +1,18 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class pubRelay1589023282116 implements MigrationInterface { - name = 'pubRelay1589023282116' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class pubRelay1589023282116 { + constructor() { + this.name = 'pubRelay1589023282116'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TYPE "relay_status_enum" AS ENUM('requesting', 'accepted', 'rejected')`, undefined); await queryRunner.query(`CREATE TABLE "relay" ("id" character varying(32) NOT NULL, "inbox" character varying(512) NOT NULL, "status" "relay_status_enum" NOT NULL, CONSTRAINT "PK_78ebc9cfddf4292633b7ba57aee" PRIMARY KEY ("id"))`, undefined); await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0d9a1738f2cf7f3b1c3334dfab" ON "relay" ("inbox") `, undefined); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_0d9a1738f2cf7f3b1c3334dfab"`, undefined); await queryRunner.query(`DROP TABLE "relay"`, undefined); await queryRunner.query(`DROP TYPE "relay_status_enum"`, undefined); } - } +exports.pubRelay1589023282116 = pubRelay1589023282116; diff --git a/packages/backend/migration/1595075960584-blurhash.js b/packages/backend/migration/1595075960584-blurhash.js new file mode 100644 index 000000000..3bd9c46f1 --- /dev/null +++ b/packages/backend/migration/1595075960584-blurhash.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class blurhash1595075960584 { + constructor() { + this.name = 'blurhash1595075960584'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "drive_file" ADD "blurhash" character varying(128)`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "drive_file" DROP COLUMN "blurhash"`); + } +} +exports.blurhash1595075960584 = blurhash1595075960584; diff --git a/migration/1595077605646-blurhash-for-avatar-banner.ts b/packages/backend/migration/1595077605646-blurhash-for-avatar-banner.js similarity index 67% rename from migration/1595077605646-blurhash-for-avatar-banner.ts rename to packages/backend/migration/1595077605646-blurhash-for-avatar-banner.js index fcf161c35..c2a9c9756 100644 --- a/migration/1595077605646-blurhash-for-avatar-banner.ts +++ b/packages/backend/migration/1595077605646-blurhash-for-avatar-banner.js @@ -1,20 +1,20 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class blurhashForAvatarBanner1595077605646 implements MigrationInterface { - name = 'blurhashForAvatarBanner1595077605646' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class blurhashForAvatarBanner1595077605646 { + constructor() { + this.name = 'blurhashForAvatarBanner1595077605646'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "avatarColor"`); await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "bannerColor"`); await queryRunner.query(`ALTER TABLE "user" ADD "avatarBlurhash" character varying(128)`); await queryRunner.query(`ALTER TABLE "user" ADD "bannerBlurhash" character varying(128)`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "bannerBlurhash"`); await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "avatarBlurhash"`); await queryRunner.query(`ALTER TABLE "user" ADD "bannerColor" character varying(32)`); await queryRunner.query(`ALTER TABLE "user" ADD "avatarColor" character varying(32)`); } - } +exports.blurhashForAvatarBanner1595077605646 = blurhashForAvatarBanner1595077605646; diff --git a/packages/backend/migration/1595676934834-instance-icon-url.js b/packages/backend/migration/1595676934834-instance-icon-url.js new file mode 100644 index 000000000..21ae26c55 --- /dev/null +++ b/packages/backend/migration/1595676934834-instance-icon-url.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class instanceIconUrl1595676934834 { + constructor() { + this.name = 'instanceIconUrl1595676934834'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "instance" ADD "iconUrl" character varying(256) DEFAULT null`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "iconUrl"`); + } +} +exports.instanceIconUrl1595676934834 = instanceIconUrl1595676934834; diff --git a/migration/1595771249699-word-mute.ts b/packages/backend/migration/1595771249699-word-mute.js similarity index 87% rename from migration/1595771249699-word-mute.ts rename to packages/backend/migration/1595771249699-word-mute.js index 1a9114d92..0dd3a5556 100644 --- a/migration/1595771249699-word-mute.ts +++ b/packages/backend/migration/1595771249699-word-mute.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class wordMute1595771249699 implements MigrationInterface { - name = 'wordMute1595771249699' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class wordMute1595771249699 { + constructor() { + this.name = 'wordMute1595771249699'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "muted_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, CONSTRAINT "PK_897e2eff1c0b9b64e55ca1418a4" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_70ab9786313d78e4201d81cdb8" ON "muted_note" ("noteId") `); await queryRunner.query(`CREATE INDEX "IDX_d8e07aa18c2d64e86201601aec" ON "muted_note" ("userId") `); @@ -14,8 +15,7 @@ export class wordMute1595771249699 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "muted_note" ADD CONSTRAINT "FK_70ab9786313d78e4201d81cdb89" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "muted_note" ADD CONSTRAINT "FK_d8e07aa18c2d64e86201601aec1" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "muted_note" DROP CONSTRAINT "FK_d8e07aa18c2d64e86201601aec1"`); await queryRunner.query(`ALTER TABLE "muted_note" DROP CONSTRAINT "FK_70ab9786313d78e4201d81cdb89"`); await queryRunner.query(`DROP INDEX "IDX_3befe6f999c86aff06eb0257b4"`); @@ -26,5 +26,5 @@ export class wordMute1595771249699 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_70ab9786313d78e4201d81cdb8"`); await queryRunner.query(`DROP TABLE "muted_note"`); } - } +exports.wordMute1595771249699 = wordMute1595771249699; diff --git a/migration/1595782306083-word-mute2.ts b/packages/backend/migration/1595782306083-word-mute2.js similarity index 66% rename from migration/1595782306083-word-mute2.ts rename to packages/backend/migration/1595782306083-word-mute2.js index d68c12740..29c707e95 100644 --- a/migration/1595782306083-word-mute2.ts +++ b/packages/backend/migration/1595782306083-word-mute2.js @@ -1,18 +1,18 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class wordMute21595782306083 implements MigrationInterface { - name = 'wordMute21595782306083' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class wordMute21595782306083 { + constructor() { + this.name = 'wordMute21595782306083'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TYPE "muted_note_reason_enum" AS ENUM('word', 'manual', 'spam', 'other')`); await queryRunner.query(`ALTER TABLE "muted_note" ADD "reason" "muted_note_reason_enum" NOT NULL`); await queryRunner.query(`CREATE INDEX "IDX_636e977ff90b23676fb5624b25" ON "muted_note" ("reason") `); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_636e977ff90b23676fb5624b25"`); await queryRunner.query(`ALTER TABLE "muted_note" DROP COLUMN "reason"`); await queryRunner.query(`DROP TYPE "muted_note_reason_enum"`); } - } +exports.wordMute21595782306083 = wordMute21595782306083; diff --git a/migration/1596548170836-channel.ts b/packages/backend/migration/1596548170836-channel.js similarity index 95% rename from migration/1596548170836-channel.ts rename to packages/backend/migration/1596548170836-channel.js index 4e3ebb330..bce812d5e 100644 --- a/migration/1596548170836-channel.ts +++ b/packages/backend/migration/1596548170836-channel.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class channel1596548170836 implements MigrationInterface { - name = 'channel1596548170836' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class channel1596548170836 { + constructor() { + this.name = 'channel1596548170836'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "channel" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "lastNotedAt" TIMESTAMP WITH TIME ZONE, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "description" character varying(2048), "bannerId" character varying(32), "notesCount" integer NOT NULL DEFAULT 0, "usersCount" integer NOT NULL DEFAULT 0, CONSTRAINT "PK_590f33ee6ee7d76437acf362e39" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_71cb7b435b7c0d4843317e7e16" ON "channel" ("createdAt") `); await queryRunner.query(`CREATE INDEX "IDX_29ef80c6f13bcea998447fce43" ON "channel" ("lastNotedAt") `); @@ -28,8 +29,7 @@ export class channel1596548170836 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "channel_note_pining" ADD CONSTRAINT "FK_8125f950afd3093acb10d2db8a8" FOREIGN KEY ("channelId") REFERENCES "channel"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "channel_note_pining" ADD CONSTRAINT "FK_10b19ef67d297ea9de325cd4502" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "channel_note_pining" DROP CONSTRAINT "FK_10b19ef67d297ea9de325cd4502"`); await queryRunner.query(`ALTER TABLE "channel_note_pining" DROP CONSTRAINT "FK_8125f950afd3093acb10d2db8a8"`); await queryRunner.query(`ALTER TABLE "channel_following" DROP CONSTRAINT "FK_6d8084ec9496e7334a4602707e1"`); @@ -54,5 +54,5 @@ export class channel1596548170836 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_71cb7b435b7c0d4843317e7e16"`); await queryRunner.query(`DROP TABLE "channel"`); } - } +exports.channel1596548170836 = channel1596548170836; diff --git a/packages/backend/migration/1596786425167-channel2.js b/packages/backend/migration/1596786425167-channel2.js new file mode 100644 index 000000000..160c73b06 --- /dev/null +++ b/packages/backend/migration/1596786425167-channel2.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class channel21596786425167 { + constructor() { + this.name = 'channel21596786425167'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "channel_following" ADD "readCursor" TIMESTAMP WITH TIME ZONE NOT NULL`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "channel_following" DROP COLUMN "readCursor"`); + } +} +exports.channel21596786425167 = channel21596786425167; diff --git a/packages/backend/migration/1597230137744-objectStorageSetPublicRead.js b/packages/backend/migration/1597230137744-objectStorageSetPublicRead.js new file mode 100644 index 000000000..d208c425e --- /dev/null +++ b/packages/backend/migration/1597230137744-objectStorageSetPublicRead.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class objectStorageSetPublicRead1597230137744 { + constructor() { + this.name = 'objectStorageSetPublicRead1597230137744'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageSetPublicRead" boolean NOT NULL DEFAULT false`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSetPublicRead"`); + } +} +exports.objectStorageSetPublicRead1597230137744 = objectStorageSetPublicRead1597230137744; diff --git a/migration/1597236229720-IncludingNotificationTypes.ts b/packages/backend/migration/1597236229720-IncludingNotificationTypes.js similarity index 62% rename from migration/1597236229720-IncludingNotificationTypes.ts rename to packages/backend/migration/1597236229720-IncludingNotificationTypes.js index be57824c0..0efbf2fe5 100644 --- a/migration/1597236229720-IncludingNotificationTypes.ts +++ b/packages/backend/migration/1597236229720-IncludingNotificationTypes.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class IncludingNotificationTypes1597236229720 implements MigrationInterface { - name = 'IncludingNotificationTypes1597236229720' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class IncludingNotificationTypes1597236229720 { + constructor() { + this.name = 'IncludingNotificationTypes1597236229720'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TYPE "user_profile_includingnotificationtypes_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`); await queryRunner.query(`ALTER TABLE "user_profile" ADD "includingNotificationTypes" "user_profile_includingnotificationtypes_enum" array`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "includingNotificationTypes"`); await queryRunner.query(`DROP TYPE "user_profile_includingnotificationtypes_enum"`); } - } +exports.IncludingNotificationTypes1597236229720 = IncludingNotificationTypes1597236229720; diff --git a/packages/backend/migration/1597385880794-add-sensitive-index.js b/packages/backend/migration/1597385880794-add-sensitive-index.js new file mode 100644 index 000000000..69fd394b0 --- /dev/null +++ b/packages/backend/migration/1597385880794-add-sensitive-index.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class addSensitiveIndex1597385880794 { + constructor() { + this.name = 'addSensitiveIndex1597385880794'; + } + async up(queryRunner) { + await queryRunner.query(`CREATE INDEX "IDX_a7eba67f8b3fa27271e85d2e26" ON "drive_file" ("isSensitive") `); + } + async down(queryRunner) { + await queryRunner.query(`DROP INDEX "IDX_a7eba67f8b3fa27271e85d2e26"`); + } +} +exports.addSensitiveIndex1597385880794 = addSensitiveIndex1597385880794; diff --git a/migration/1597459042300-channel-unread.ts b/packages/backend/migration/1597459042300-channel-unread.js similarity index 78% rename from migration/1597459042300-channel-unread.ts rename to packages/backend/migration/1597459042300-channel-unread.js index a0f862114..629aa6009 100644 --- a/migration/1597459042300-channel-unread.ts +++ b/packages/backend/migration/1597459042300-channel-unread.js @@ -1,10 +1,11 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class channelUnread1597459042300 implements MigrationInterface { - name = 'channelUnread1597459042300' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`TRUNCATE TABLE "note_unread"`, undefined); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class channelUnread1597459042300 { + constructor() { + this.name = 'channelUnread1597459042300'; + } + async up(queryRunner) { + await queryRunner.query(`TRUNCATE TABLE "note_unread"`, undefined); await queryRunner.query(`ALTER TABLE "channel_following" DROP COLUMN "readCursor"`); await queryRunner.query(`ALTER TABLE "note_unread" ADD "isMentioned" boolean NOT NULL`); await queryRunner.query(`ALTER TABLE "note_unread" ADD "noteChannelId" character varying(32)`); @@ -13,8 +14,7 @@ export class channelUnread1597459042300 implements MigrationInterface { await queryRunner.query(`CREATE INDEX "IDX_29e8c1d579af54d4232939f994" ON "note_unread" ("noteUserId") `); await queryRunner.query(`CREATE INDEX "IDX_6a57f051d82c6d4036c141e107" ON "note_unread" ("noteChannelId") `); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_6a57f051d82c6d4036c141e107"`); await queryRunner.query(`DROP INDEX "IDX_29e8c1d579af54d4232939f994"`); await queryRunner.query(`DROP INDEX "IDX_89a29c9237b8c3b6b3cbb4cb30"`); @@ -23,5 +23,5 @@ export class channelUnread1597459042300 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "note_unread" DROP COLUMN "isMentioned"`); await queryRunner.query(`ALTER TABLE "channel_following" ADD "readCursor" TIMESTAMP WITH TIME ZONE NOT NULL`); } - } +exports.channelUnread1597459042300 = channelUnread1597459042300; diff --git a/packages/backend/migration/1597893996136-ChannelNoteIdDescIndex.js b/packages/backend/migration/1597893996136-ChannelNoteIdDescIndex.js new file mode 100644 index 000000000..770ac1887 --- /dev/null +++ b/packages/backend/migration/1597893996136-ChannelNoteIdDescIndex.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ChannelNoteIdDescIndex1597893996136 { + constructor() { + this.name = 'ChannelNoteIdDescIndex1597893996136'; + } + async up(queryRunner) { + await queryRunner.query(`DROP INDEX "IDX_f22169eb10657bded6d875ac8f"`); + await queryRunner.query(`CREATE INDEX "IDX_note_on_channelId_and_id_desc" ON "note" ("channelId", "id" desc)`); + } + async down(queryRunner) { + await queryRunner.query(`DROP INDEX "IDX_note_on_channelId_and_id_desc"`); + await queryRunner.query(`CREATE INDEX "IDX_f22169eb10657bded6d875ac8f" ON "note" ("channelId") `); + } +} +exports.ChannelNoteIdDescIndex1597893996136 = ChannelNoteIdDescIndex1597893996136; diff --git a/migration/1600353287890-mutingNotificationTypes.ts b/packages/backend/migration/1600353287890-mutingNotificationTypes.js similarity index 77% rename from migration/1600353287890-mutingNotificationTypes.ts rename to packages/backend/migration/1600353287890-mutingNotificationTypes.js index 914bad8e3..d39a6f2e4 100644 --- a/migration/1600353287890-mutingNotificationTypes.ts +++ b/packages/backend/migration/1600353287890-mutingNotificationTypes.js @@ -1,20 +1,20 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class mutingNotificationTypes1600353287890 implements MigrationInterface { - name = 'mutingNotificationTypes1600353287890' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class mutingNotificationTypes1600353287890 { + constructor() { + this.name = 'mutingNotificationTypes1600353287890'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "includingNotificationTypes"`); await queryRunner.query(`DROP TYPE "public"."user_profile_includingnotificationtypes_enum"`); await queryRunner.query(`CREATE TYPE "user_profile_mutingnotificationtypes_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`); await queryRunner.query(`ALTER TABLE "user_profile" ADD "mutingNotificationTypes" "user_profile_mutingnotificationtypes_enum" array NOT NULL DEFAULT '{}'`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "mutingNotificationTypes"`); await queryRunner.query(`DROP TYPE "user_profile_mutingnotificationtypes_enum"`); await queryRunner.query(`CREATE TYPE "public"."user_profile_includingnotificationtypes_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`); await queryRunner.query(`ALTER TABLE "user_profile" ADD "includingNotificationTypes" "user_profile_includingnotificationtypes_enum" array`); } - } +exports.mutingNotificationTypes1600353287890 = mutingNotificationTypes1600353287890; diff --git a/migration/1603094348345-refine-abuse-user-report.ts b/packages/backend/migration/1603094348345-refine-abuse-user-report.js similarity index 87% rename from migration/1603094348345-refine-abuse-user-report.ts rename to packages/backend/migration/1603094348345-refine-abuse-user-report.js index ce74a88d4..b01a5d80a 100644 --- a/migration/1603094348345-refine-abuse-user-report.ts +++ b/packages/backend/migration/1603094348345-refine-abuse-user-report.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class refineAbuseUserReport1603094348345 implements MigrationInterface { - name = 'refineAbuseUserReport1603094348345' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class refineAbuseUserReport1603094348345 { + constructor() { + this.name = 'refineAbuseUserReport1603094348345'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_d049123c413e68ca52abe734203"`); await queryRunner.query(`DROP INDEX "IDX_d049123c413e68ca52abe73420"`); await queryRunner.query(`DROP INDEX "IDX_5cd442c3b2e74fdd99dae20243"`); @@ -15,8 +16,7 @@ export class refineAbuseUserReport1603094348345 implements MigrationInterface { await queryRunner.query(`CREATE INDEX "IDX_2b15aaf4a0dc5be3499af7ab6a" ON "abuse_user_report" ("resolved") `); await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_08b883dd5fdd6f9c4c1572b36de" FOREIGN KEY ("assigneeId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_08b883dd5fdd6f9c4c1572b36de"`); await queryRunner.query(`DROP INDEX "IDX_2b15aaf4a0dc5be3499af7ab6a"`); await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "comment"`); @@ -28,5 +28,5 @@ export class refineAbuseUserReport1603094348345 implements MigrationInterface { await queryRunner.query(`CREATE INDEX "IDX_d049123c413e68ca52abe73420" ON "abuse_user_report" ("userId") `); await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_d049123c413e68ca52abe734203" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - } +exports.refineAbuseUserReport1603094348345 = refineAbuseUserReport1603094348345; diff --git a/migration/1603095701770-refine-abuse-user-report2.ts b/packages/backend/migration/1603095701770-refine-abuse-user-report2.js similarity index 70% rename from migration/1603095701770-refine-abuse-user-report2.ts rename to packages/backend/migration/1603095701770-refine-abuse-user-report2.js index 18e0c05ac..32b4e0bd2 100644 --- a/migration/1603095701770-refine-abuse-user-report2.ts +++ b/packages/backend/migration/1603095701770-refine-abuse-user-report2.js @@ -1,20 +1,20 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class refineAbuseUserReport21603095701770 implements MigrationInterface { - name = 'refineAbuseUserReport21603095701770' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class refineAbuseUserReport21603095701770 { + constructor() { + this.name = 'refineAbuseUserReport21603095701770'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "targetUserHost" character varying(128)`); await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "reporterHost" character varying(128)`); await queryRunner.query(`CREATE INDEX "IDX_4ebbf7f93cdc10e8d1ef2fc6cd" ON "abuse_user_report" ("targetUserHost") `); await queryRunner.query(`CREATE INDEX "IDX_f8d8b93740ad12c4ce8213a199" ON "abuse_user_report" ("reporterHost") `); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_f8d8b93740ad12c4ce8213a199"`); await queryRunner.query(`DROP INDEX "IDX_4ebbf7f93cdc10e8d1ef2fc6cd"`); await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "reporterHost"`); await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "targetUserHost"`); } - } +exports.refineAbuseUserReport21603095701770 = refineAbuseUserReport21603095701770; diff --git a/packages/backend/migration/1603776877564-instance-theme-color.js b/packages/backend/migration/1603776877564-instance-theme-color.js new file mode 100644 index 000000000..315305f53 --- /dev/null +++ b/packages/backend/migration/1603776877564-instance-theme-color.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class instanceThemeColor1603776877564 { + constructor() { + this.name = 'instanceThemeColor1603776877564'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "instance" ADD "themeColor" character varying(64) DEFAULT null`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "themeColor"`); + } +} +exports.instanceThemeColor1603776877564 = instanceThemeColor1603776877564; diff --git a/packages/backend/migration/1603781553011-instance-favicon.js b/packages/backend/migration/1603781553011-instance-favicon.js new file mode 100644 index 000000000..451989f91 --- /dev/null +++ b/packages/backend/migration/1603781553011-instance-favicon.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class instanceFavicon1603781553011 { + constructor() { + this.name = 'instanceFavicon1603781553011'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "instance" ADD "faviconUrl" character varying(256) DEFAULT null`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "faviconUrl"`); + } +} +exports.instanceFavicon1603781553011 = instanceFavicon1603781553011; diff --git a/packages/backend/migration/1604821689616-delete-auto-watch.js b/packages/backend/migration/1604821689616-delete-auto-watch.js new file mode 100644 index 000000000..9d972dd3f --- /dev/null +++ b/packages/backend/migration/1604821689616-delete-auto-watch.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class deleteAutoWatch1604821689616 { + constructor() { + this.name = 'deleteAutoWatch1604821689616'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "autoWatch"`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ADD "autoWatch" boolean NOT NULL DEFAULT false`); + } +} +exports.deleteAutoWatch1604821689616 = deleteAutoWatch1604821689616; diff --git a/packages/backend/migration/1605408848373-clip-description.js b/packages/backend/migration/1605408848373-clip-description.js new file mode 100644 index 000000000..acbe2b0c8 --- /dev/null +++ b/packages/backend/migration/1605408848373-clip-description.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class clipDescription1605408848373 { + constructor() { + this.name = 'clipDescription1605408848373'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "clip" ADD "description" character varying(2048) DEFAULT null`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "clip" DROP COLUMN "description"`); + } +} +exports.clipDescription1605408848373 = clipDescription1605408848373; diff --git a/migration/1605408971051-comments.ts b/packages/backend/migration/1605408971051-comments.js similarity index 99% rename from migration/1605408971051-comments.ts rename to packages/backend/migration/1605408971051-comments.js index c69ae29a9..6e5dacbb6 100644 --- a/migration/1605408971051-comments.ts +++ b/packages/backend/migration/1605408971051-comments.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class comments1605408971051 implements MigrationInterface { - name = 'comments1605408971051' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class comments1605408971051 { + constructor() { + this.name = 'comments1605408971051'; + } + async up(queryRunner) { await queryRunner.query(`COMMENT ON COLUMN "log"."createdAt" IS 'The created date of the Log.'`); await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."createdAt" IS 'The created date of the DriveFolder.'`); await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."name" IS 'The name of the DriveFolder.'`); @@ -216,8 +217,7 @@ export class comments1605408971051 implements MigrationInterface { await queryRunner.query(`COMMENT ON COLUMN "channel_following"."followerId" IS 'The follower user ID.'`); await queryRunner.query(`COMMENT ON COLUMN "channel_note_pining"."createdAt" IS 'The created date of the ChannelNotePining.'`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`COMMENT ON COLUMN "channel_note_pining"."createdAt" IS NULL`); await queryRunner.query(`COMMENT ON COLUMN "channel_following"."followerId" IS NULL`); await queryRunner.query(`COMMENT ON COLUMN "channel_following"."followeeId" IS NULL`); @@ -430,5 +430,5 @@ export class comments1605408971051 implements MigrationInterface { await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."createdAt" IS NULL`); await queryRunner.query(`COMMENT ON COLUMN "log"."createdAt" IS NULL`); } - } +exports.comments1605408971051 = comments1605408971051; diff --git a/packages/backend/migration/1605585339718-instance-pinned-pages.js b/packages/backend/migration/1605585339718-instance-pinned-pages.js new file mode 100644 index 000000000..8d2357276 --- /dev/null +++ b/packages/backend/migration/1605585339718-instance-pinned-pages.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class instancePinnedPages1605585339718 { + constructor() { + this.name = 'instancePinnedPages1605585339718'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedPages" character varying(512) array NOT NULL DEFAULT '{"/featured", "/channels", "/explore", "/pages", "/about-misskey"}'::varchar[]`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedPages"`); + } +} +exports.instancePinnedPages1605585339718 = instancePinnedPages1605585339718; diff --git a/migration/1605965516823-instance-images.ts b/packages/backend/migration/1605965516823-instance-images.js similarity index 54% rename from migration/1605965516823-instance-images.ts rename to packages/backend/migration/1605965516823-instance-images.js index bf8d40856..f078428ba 100644 --- a/migration/1605965516823-instance-images.ts +++ b/packages/backend/migration/1605965516823-instance-images.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class instanceImages1605965516823 implements MigrationInterface { - name = 'instanceImages1605965516823' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class instanceImages1605965516823 { + constructor() { + this.name = 'instanceImages1605965516823'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" ADD "backgroundImageUrl" character varying(512)`); await queryRunner.query(`ALTER TABLE "meta" ADD "logoImageUrl" character varying(512)`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "logoImageUrl"`); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "backgroundImageUrl"`); } - } +exports.instanceImages1605965516823 = instanceImages1605965516823; diff --git a/migration/1606191203881-no-crawle.ts b/packages/backend/migration/1606191203881-no-crawle.js similarity index 60% rename from migration/1606191203881-no-crawle.ts rename to packages/backend/migration/1606191203881-no-crawle.js index accc8f8fe..2c5fdaed2 100644 --- a/migration/1606191203881-no-crawle.ts +++ b/packages/backend/migration/1606191203881-no-crawle.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class noCrawle1606191203881 implements MigrationInterface { - name = 'noCrawle1606191203881' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class noCrawle1606191203881 { + constructor() { + this.name = 'noCrawle1606191203881'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" ADD "noCrawle" boolean NOT NULL DEFAULT false`); await queryRunner.query(`COMMENT ON COLUMN "user_profile"."noCrawle" IS 'Whether reject index by crawler.'`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`COMMENT ON COLUMN "user_profile"."noCrawle" IS 'Whether reject index by crawler.'`); await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "noCrawle"`); } - } +exports.noCrawle1606191203881 = noCrawle1606191203881; diff --git a/packages/backend/migration/1607151207216-instance-pinned-clip.js b/packages/backend/migration/1607151207216-instance-pinned-clip.js new file mode 100644 index 000000000..3bd479296 --- /dev/null +++ b/packages/backend/migration/1607151207216-instance-pinned-clip.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class instancePinnedClip1607151207216 { + constructor() { + this.name = 'instancePinnedClip1607151207216'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedClipId" character varying(32)`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedClipId"`); + } +} +exports.instancePinnedClip1607151207216 = instancePinnedClip1607151207216; diff --git a/migration/1607353487793-isExplorable.ts b/packages/backend/migration/1607353487793-isExplorable.js similarity index 66% rename from migration/1607353487793-isExplorable.ts rename to packages/backend/migration/1607353487793-isExplorable.js index 034f8c384..3ddd0cb32 100644 --- a/migration/1607353487793-isExplorable.ts +++ b/packages/backend/migration/1607353487793-isExplorable.js @@ -1,18 +1,18 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class isExplorable1607353487793 implements MigrationInterface { - name = 'isExplorable1607353487793' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class isExplorable1607353487793 { + constructor() { + this.name = 'isExplorable1607353487793'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user" ADD "isExplorable" boolean NOT NULL DEFAULT true`); await queryRunner.query(`COMMENT ON COLUMN "user"."isExplorable" IS 'Whether the User is explorable.'`); await queryRunner.query(`CREATE INDEX "IDX_d5a1b83c7cab66f167e6888188" ON "user" ("isExplorable") `); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_d5a1b83c7cab66f167e6888188"`); await queryRunner.query(`COMMENT ON COLUMN "user"."isExplorable" IS 'Whether the User is explorable.'`); await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isExplorable"`); } - } +exports.isExplorable1607353487793 = isExplorable1607353487793; diff --git a/migration/1610277136869-registry.ts b/packages/backend/migration/1610277136869-registry.js similarity index 85% rename from migration/1610277136869-registry.ts rename to packages/backend/migration/1610277136869-registry.js index 46c8113c1..a7b5af84b 100644 --- a/migration/1610277136869-registry.ts +++ b/packages/backend/migration/1610277136869-registry.js @@ -1,22 +1,22 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class registry1610277136869 implements MigrationInterface { - name = 'registry1610277136869' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class registry1610277136869 { + constructor() { + this.name = 'registry1610277136869'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "registry_item" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "key" character varying(1024) NOT NULL, "scope" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[], "domain" character varying(512), CONSTRAINT "PK_64b3f7e6008b4d89b826cd3af95" PRIMARY KEY ("id")); COMMENT ON COLUMN "registry_item"."createdAt" IS 'The created date of the RegistryItem.'; COMMENT ON COLUMN "registry_item"."updatedAt" IS 'The updated date of the RegistryItem.'; COMMENT ON COLUMN "registry_item"."userId" IS 'The owner ID.'; COMMENT ON COLUMN "registry_item"."key" IS 'The key of the RegistryItem.'`); await queryRunner.query(`CREATE INDEX "IDX_fb9d21ba0abb83223263df6bcb" ON "registry_item" ("userId") `); await queryRunner.query(`CREATE INDEX "IDX_22baca135bb8a3ea1a83d13df3" ON "registry_item" ("scope") `); await queryRunner.query(`CREATE INDEX "IDX_0a72bdfcdb97c0eca11fe7ecad" ON "registry_item" ("domain") `); await queryRunner.query(`ALTER TABLE "registry_item" ADD CONSTRAINT "FK_fb9d21ba0abb83223263df6bcb3" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "registry_item" DROP CONSTRAINT "FK_fb9d21ba0abb83223263df6bcb3"`); await queryRunner.query(`DROP INDEX "IDX_0a72bdfcdb97c0eca11fe7ecad"`); await queryRunner.query(`DROP INDEX "IDX_22baca135bb8a3ea1a83d13df3"`); await queryRunner.query(`DROP INDEX "IDX_fb9d21ba0abb83223263df6bcb"`); await queryRunner.query(`DROP TABLE "registry_item"`); } - } +exports.registry1610277136869 = registry1610277136869; diff --git a/migration/1610277585759-registry2.ts b/packages/backend/migration/1610277585759-registry2.js similarity index 59% rename from migration/1610277585759-registry2.ts rename to packages/backend/migration/1610277585759-registry2.js index 2f2d80c48..aa1417e18 100644 --- a/migration/1610277585759-registry2.ts +++ b/packages/backend/migration/1610277585759-registry2.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class registry21610277585759 implements MigrationInterface { - name = 'registry21610277585759' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class registry21610277585759 { + constructor() { + this.name = 'registry21610277585759'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "registry_item" ADD "value" jsonb NOT NULL DEFAULT '{}'`); await queryRunner.query(`COMMENT ON COLUMN "registry_item"."value" IS 'The value of the RegistryItem.'`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`COMMENT ON COLUMN "registry_item"."value" IS 'The value of the RegistryItem.'`); await queryRunner.query(`ALTER TABLE "registry_item" DROP COLUMN "value"`); } - } +exports.registry21610277585759 = registry21610277585759; diff --git a/packages/backend/migration/1610283021566-registry3.js b/packages/backend/migration/1610283021566-registry3.js new file mode 100644 index 000000000..7089cee1f --- /dev/null +++ b/packages/backend/migration/1610283021566-registry3.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class registry31610283021566 { + constructor() { + this.name = 'registry31610283021566'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "registry_item" ALTER COLUMN "value" DROP NOT NULL`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "registry_item" ALTER COLUMN "value" SET NOT NULL`); + } +} +exports.registry31610283021566 = registry31610283021566; diff --git a/migration/1611354329133-followersUri.ts b/packages/backend/migration/1611354329133-followersUri.js similarity index 63% rename from migration/1611354329133-followersUri.ts rename to packages/backend/migration/1611354329133-followersUri.js index 5114418ae..e944da73a 100644 --- a/migration/1611354329133-followersUri.ts +++ b/packages/backend/migration/1611354329133-followersUri.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class followersUri1611354329133 implements MigrationInterface { - name = 'followersUri1611354329133' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class followersUri1611354329133 { + constructor() { + this.name = 'followersUri1611354329133'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user" ADD "followersUri" varchar(512) DEFAULT NULL`); await queryRunner.query(`COMMENT ON COLUMN "user"."followersUri" IS 'The URI of the user Follower Collection. It will be null if the origin of the user is local.'`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`COMMENT ON COLUMN "user"."followersUri" IS 'The URI of the user Follower Collection. It will be null if the origin of the user is local.'`); await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "followersUri"`); } - } +exports.followersUri1611354329133 = followersUri1611354329133; diff --git a/migration/1611397665007-gallery.ts b/packages/backend/migration/1611397665007-gallery.js similarity index 93% rename from migration/1611397665007-gallery.ts rename to packages/backend/migration/1611397665007-gallery.js index 1b64490fe..9cf73cbcf 100644 --- a/migration/1611397665007-gallery.ts +++ b/packages/backend/migration/1611397665007-gallery.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class gallery1611397665007 implements MigrationInterface { - name = 'gallery1611397665007' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class gallery1611397665007 { + constructor() { + this.name = 'gallery1611397665007'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "gallery_post" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "title" character varying(256) NOT NULL, "description" character varying(2048), "userId" character varying(32) NOT NULL, "fileIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "isSensitive" boolean NOT NULL DEFAULT false, "likedCount" integer NOT NULL DEFAULT '0', "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_8e90d7b6015f2c4518881b14753" PRIMARY KEY ("id")); COMMENT ON COLUMN "gallery_post"."createdAt" IS 'The created date of the GalleryPost.'; COMMENT ON COLUMN "gallery_post"."updatedAt" IS 'The updated date of the GalleryPost.'; COMMENT ON COLUMN "gallery_post"."userId" IS 'The ID of author.'; COMMENT ON COLUMN "gallery_post"."isSensitive" IS 'Whether the post is sensitive.'`); await queryRunner.query(`CREATE INDEX "IDX_8f1a239bd077c8864a20c62c2c" ON "gallery_post" ("createdAt") `); await queryRunner.query(`CREATE INDEX "IDX_f631d37835adb04792e361807c" ON "gallery_post" ("updatedAt") `); @@ -19,8 +20,7 @@ export class gallery1611397665007 implements MigrationInterface { await queryRunner.query(`ALTER TABLE "gallery_like" ADD CONSTRAINT "FK_8fd5215095473061855ceb948cf" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "gallery_like" ADD CONSTRAINT "FK_b1cb568bfe569e47b7051699fc8" FOREIGN KEY ("postId") REFERENCES "gallery_post"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "gallery_like" DROP CONSTRAINT "FK_b1cb568bfe569e47b7051699fc8"`); await queryRunner.query(`ALTER TABLE "gallery_like" DROP CONSTRAINT "FK_8fd5215095473061855ceb948cf"`); await queryRunner.query(`ALTER TABLE "gallery_post" DROP CONSTRAINT "FK_985b836dddd8615e432d7043ddb"`); @@ -36,5 +36,5 @@ export class gallery1611397665007 implements MigrationInterface { await queryRunner.query(`DROP INDEX "IDX_8f1a239bd077c8864a20c62c2c"`); await queryRunner.query(`DROP TABLE "gallery_post"`); } - } +exports.gallery1611397665007 = gallery1611397665007; diff --git a/packages/backend/migration/1611547387175-objectStorageS3ForcePathStyle.js b/packages/backend/migration/1611547387175-objectStorageS3ForcePathStyle.js new file mode 100644 index 000000000..50a618994 --- /dev/null +++ b/packages/backend/migration/1611547387175-objectStorageS3ForcePathStyle.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class objectStorageS3ForcePathStyle1611547387175 { + constructor() { + this.name = 'objectStorageS3ForcePathStyle1611547387175'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageS3ForcePathStyle" boolean NOT NULL DEFAULT true`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageS3ForcePathStyle"`); + } +} +exports.objectStorageS3ForcePathStyle1611547387175 = objectStorageS3ForcePathStyle1611547387175; diff --git a/packages/backend/migration/1612619156584-announcement-email.js b/packages/backend/migration/1612619156584-announcement-email.js new file mode 100644 index 000000000..bbd04679b --- /dev/null +++ b/packages/backend/migration/1612619156584-announcement-email.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class announcementEmail1612619156584 { + constructor() { + this.name = 'announcementEmail1612619156584'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ADD "receiveAnnouncementEmail" boolean NOT NULL DEFAULT true`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "receiveAnnouncementEmail"`); + } +} +exports.announcementEmail1612619156584 = announcementEmail1612619156584; diff --git a/packages/backend/migration/1613155914446-emailNotificationTypes.js b/packages/backend/migration/1613155914446-emailNotificationTypes.js new file mode 100644 index 000000000..30fa4924b --- /dev/null +++ b/packages/backend/migration/1613155914446-emailNotificationTypes.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class emailNotificationTypes1613155914446 { + constructor() { + this.name = 'emailNotificationTypes1613155914446'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ADD "emailNotificationTypes" jsonb NOT NULL DEFAULT '["follow","receiveFollowRequest","groupInvited"]'`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "emailNotificationTypes"`); + } +} +exports.emailNotificationTypes1613155914446 = emailNotificationTypes1613155914446; diff --git a/packages/backend/migration/1613181457597-user-lang.js b/packages/backend/migration/1613181457597-user-lang.js new file mode 100644 index 000000000..f6be7cdab --- /dev/null +++ b/packages/backend/migration/1613181457597-user-lang.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class userLang1613181457597 { + constructor() { + this.name = 'userLang1613181457597'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ADD "lang" character varying(32)`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "lang"`); + } +} +exports.userLang1613181457597 = userLang1613181457597; diff --git a/packages/backend/migration/1613503367223-use-bigint-for-driveUsage.js b/packages/backend/migration/1613503367223-use-bigint-for-driveUsage.js new file mode 100644 index 000000000..91956ad78 --- /dev/null +++ b/packages/backend/migration/1613503367223-use-bigint-for-driveUsage.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class useBigintForDriveUsage1613503367223 { + constructor() { + this.name = 'useBigintForDriveUsage1613503367223'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "instance" ALTER COLUMN "driveUsage" TYPE bigint`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "driveUsage"`); + await queryRunner.query(`ALTER TABLE "instance" ADD "driveUsage" integer NOT NULL DEFAULT 0`); + } +} +exports.useBigintForDriveUsage1613503367223 = useBigintForDriveUsage1613503367223; diff --git a/packages/backend/migration/1615965918224-chart-v2.js b/packages/backend/migration/1615965918224-chart-v2.js new file mode 100644 index 000000000..95f44879b --- /dev/null +++ b/packages/backend/migration/1615965918224-chart-v2.js @@ -0,0 +1,217 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class chartV21615965918224 { + constructor() { + this.name = 'chartV21615965918224'; + } + async up(queryRunner) { + await queryRunner.query(`DELETE FROM "__chart__active_users" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__drive" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__federation" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__hashtag" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__instance" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__network" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__notes" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__per_user_drive" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__per_user_following" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__per_user_notes" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__per_user_reaction" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__test" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__test_grouped" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__test_unique" WHERE "span" = 'day'`); + await queryRunner.query(`DELETE FROM "__chart__users" WHERE "span" = 'day'`); + await queryRunner.query(`DROP INDEX "IDX_15e91a03aeeac9dbccdf43fc06"`); + await queryRunner.query(`DROP INDEX "IDX_20f57cc8f142c131340ee16742"`); + await queryRunner.query(`DROP INDEX "IDX_c26e2c1cbb6e911e0554b27416"`); + await queryRunner.query(`DROP INDEX "IDX_3fa0d0f17ca72e3dc80999a032"`); + await queryRunner.query(`DROP INDEX "IDX_6e1df243476e20cbf86572ecc0"`); + await queryRunner.query(`DROP INDEX "IDX_06690fc959f1c9fdaf21928222"`); + await queryRunner.query(`DROP INDEX "IDX_e447064455928cf627590ef527"`); + await queryRunner.query(`DROP INDEX "IDX_2d416e6af791a82e338c79d480"`); + await queryRunner.query(`DROP INDEX "IDX_e9cd07672b37d8966cf3709283"`); + await queryRunner.query(`DROP INDEX "IDX_fcc181fb8283009c61cc4083ef"`); + await queryRunner.query(`DROP INDEX "IDX_49975586f50ed7b800fdd88fbd"`); + await queryRunner.query(`DROP INDEX "IDX_6d6f156ceefc6bc5f273a0e370"`); + await queryRunner.query(`DROP INDEX "IDX_c12f0af4a66cdd30c2287ce8aa"`); + await queryRunner.query(`DROP INDEX "IDX_d0a4f79af5a97b08f37b547197"`); + await queryRunner.query(`DROP INDEX "IDX_f5448d9633cff74208d850aabe"`); + await queryRunner.query(`DROP INDEX "IDX_f8dd01baeded2ffa833e0a610a"`); + await queryRunner.query(`DROP INDEX "IDX_08fac0eb3b11f04c200c0b40dd"`); + await queryRunner.query(`DROP INDEX "IDX_9ff6944f01acb756fdc92d7563"`); + await queryRunner.query(`DROP INDEX "IDX_e69096589f11e3baa98ddd64d0"`); + await queryRunner.query(`DROP INDEX "IDX_0c9a159c5082cbeef3ca6706b5"`); + await queryRunner.query(`DROP INDEX "IDX_924fc196c80ca24bae01dd37e4"`); + await queryRunner.query(`DROP INDEX "IDX_328f259961e60c4fa0bfcf55ca"`); + await queryRunner.query(`DROP INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53"`); + await queryRunner.query(`DROP INDEX "IDX_f2aeafde2ae6fbad38e857631b"`); + await queryRunner.query(`DROP INDEX "IDX_f92dd6d03f8d994f29987f6214"`); + await queryRunner.query(`DROP INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f"`); + await queryRunner.query(`DROP INDEX "IDX_4db3b84c7be0d3464714f3e0b1"`); + await queryRunner.query(`DROP INDEX "IDX_8d2cbbc8114d90d19b44d626b6"`); + await queryRunner.query(`DROP INDEX "IDX_046feeb12e9ef5f783f409866a"`); + await queryRunner.query(`DROP INDEX "IDX_f68a5ab958f9f5fa17a32ac23b"`); + await queryRunner.query(`DROP INDEX "IDX_65633a106bce43fc7c5c30a5c7"`); + await queryRunner.query(`DROP INDEX "IDX_edeb73c09c3143a81bcb34d569"`); + await queryRunner.query(`DROP INDEX "IDX_e316f01a6d24eb31db27f88262"`); + await queryRunner.query(`DROP INDEX "IDX_2be7ec6cebddc14dc11e206686"`); + await queryRunner.query(`DROP INDEX "IDX_a5133470f4825902e170328ca5"`); + await queryRunner.query(`DROP INDEX "IDX_84e661abb7bd1e51b690d4b017"`); + await queryRunner.query(`DROP INDEX "IDX_5c73bf61da4f6e6f15bae88ed1"`); + await queryRunner.query(`DROP INDEX "IDX_d70c86baedc68326be11f9c0ce"`); + await queryRunner.query(`DROP INDEX "IDX_66e1e1ecd2f29e57778af35b59"`); + await queryRunner.query(`DROP INDEX "IDX_92255988735563f0fe4aba1f05"`); + await queryRunner.query(`DROP INDEX "IDX_c5870993e25c3d5771f91f5003"`); + await queryRunner.query(`DROP INDEX "IDX_f170de677ea75ad4533de2723e"`); + await queryRunner.query(`DROP INDEX "IDX_7c184198ecf66a8d3ecb253ab3"`); + await queryRunner.query(`DROP INDEX "IDX_f091abb24193d50c653c6b77fc"`); + await queryRunner.query(`DROP INDEX "IDX_a770a57c70e668cc61590c9161"`); + await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__active_users_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___local_count"`); + await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___remote_count"`); + await queryRunner.query(`ALTER TABLE "__chart__drive" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__drive_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__drive" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__federation_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__hashtag_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___local_count"`); + await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___remote_count"`); + await queryRunner.query(`ALTER TABLE "__chart__instance" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__instance_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__instance" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__network" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__network_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__network" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__notes" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__notes_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__notes" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__per_user_drive_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_following" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__per_user_following_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_following" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__per_user_notes_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__per_user_reaction_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__test_grouped" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__test_grouped_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__test_grouped" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__test_unique_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "___foo"`); + await queryRunner.query(`ALTER TABLE "__chart__test" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__test_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__test" DROP COLUMN "unique"`); + await queryRunner.query(`ALTER TABLE "__chart__users" DROP COLUMN "span"`); + await queryRunner.query(`DROP TYPE "public"."__chart__users_span_enum"`); + await queryRunner.query(`ALTER TABLE "__chart__users" DROP COLUMN "unique"`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "__chart__users" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__users_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__users" ADD "span" "__chart__users_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__test" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__test_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__test" ADD "span" "__chart__test_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "___foo" bigint NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__test_unique_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "span" "__chart__test_unique_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__test_grouped" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__test_grouped" ADD "span" "__chart__test_grouped_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" ADD "span" "__chart__per_user_reaction_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" ADD "span" "__chart__per_user_notes_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_following" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_following" ADD "span" "__chart__per_user_following_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" ADD "span" "__chart__per_user_drive_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__notes" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__notes_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__notes" ADD "span" "__chart__notes_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__network" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__network_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__network" ADD "span" "__chart__network_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__instance" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__instance_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__instance" ADD "span" "__chart__instance_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___remote_count" bigint NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___local_count" bigint NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__hashtag_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "span" "__chart__hashtag_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__federation_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "span" "__chart__federation_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__drive" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__drive_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__drive" ADD "span" "__chart__drive_span_enum" NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___remote_count" bigint NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___local_count" bigint NOT NULL`); + await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "unique" jsonb NOT NULL DEFAULT '{}'`); + await queryRunner.query(`CREATE TYPE "public"."__chart__active_users_span_enum" AS ENUM('hour', 'day')`); + await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "span" "__chart__active_users_span_enum" NOT NULL`); + await queryRunner.query(`CREATE INDEX "IDX_a770a57c70e668cc61590c9161" ON "__chart__users" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_f091abb24193d50c653c6b77fc" ON "__chart__users" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_7c184198ecf66a8d3ecb253ab3" ON "__chart__users" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_f170de677ea75ad4533de2723e" ON "__chart__test" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_c5870993e25c3d5771f91f5003" ON "__chart__test" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_92255988735563f0fe4aba1f05" ON "__chart__test" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_66e1e1ecd2f29e57778af35b59" ON "__chart__test_unique" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_d70c86baedc68326be11f9c0ce" ON "__chart__test_unique" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_5c73bf61da4f6e6f15bae88ed1" ON "__chart__test_unique" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_84e661abb7bd1e51b690d4b017" ON "__chart__test_grouped" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_a5133470f4825902e170328ca5" ON "__chart__test_grouped" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_2be7ec6cebddc14dc11e206686" ON "__chart__test_grouped" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_e316f01a6d24eb31db27f88262" ON "__chart__per_user_reaction" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_edeb73c09c3143a81bcb34d569" ON "__chart__per_user_reaction" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_65633a106bce43fc7c5c30a5c7" ON "__chart__per_user_reaction" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_f68a5ab958f9f5fa17a32ac23b" ON "__chart__per_user_notes" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_046feeb12e9ef5f783f409866a" ON "__chart__per_user_notes" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_8d2cbbc8114d90d19b44d626b6" ON "__chart__per_user_notes" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_4db3b84c7be0d3464714f3e0b1" ON "__chart__per_user_following" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f" ON "__chart__per_user_following" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_f92dd6d03f8d994f29987f6214" ON "__chart__per_user_following" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_f2aeafde2ae6fbad38e857631b" ON "__chart__per_user_drive" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53" ON "__chart__per_user_drive" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_328f259961e60c4fa0bfcf55ca" ON "__chart__per_user_drive" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_924fc196c80ca24bae01dd37e4" ON "__chart__notes" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_0c9a159c5082cbeef3ca6706b5" ON "__chart__notes" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_e69096589f11e3baa98ddd64d0" ON "__chart__notes" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_9ff6944f01acb756fdc92d7563" ON "__chart__network" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_08fac0eb3b11f04c200c0b40dd" ON "__chart__network" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_f8dd01baeded2ffa833e0a610a" ON "__chart__network" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_f5448d9633cff74208d850aabe" ON "__chart__instance" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_d0a4f79af5a97b08f37b547197" ON "__chart__instance" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_c12f0af4a66cdd30c2287ce8aa" ON "__chart__instance" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_6d6f156ceefc6bc5f273a0e370" ON "__chart__hashtag" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_49975586f50ed7b800fdd88fbd" ON "__chart__hashtag" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_fcc181fb8283009c61cc4083ef" ON "__chart__hashtag" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_e9cd07672b37d8966cf3709283" ON "__chart__federation" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_2d416e6af791a82e338c79d480" ON "__chart__federation" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_e447064455928cf627590ef527" ON "__chart__federation" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_06690fc959f1c9fdaf21928222" ON "__chart__drive" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_6e1df243476e20cbf86572ecc0" ON "__chart__drive" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_3fa0d0f17ca72e3dc80999a032" ON "__chart__drive" ("span") `); + await queryRunner.query(`CREATE INDEX "IDX_c26e2c1cbb6e911e0554b27416" ON "__chart__active_users" ("date", "group", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_20f57cc8f142c131340ee16742" ON "__chart__active_users" ("date", "span") `); + await queryRunner.query(`CREATE INDEX "IDX_15e91a03aeeac9dbccdf43fc06" ON "__chart__active_users" ("span") `); + } +} +exports.chartV21615965918224 = chartV21615965918224; diff --git a/migration/1615966519402-chart-v2-2.ts b/packages/backend/migration/1615966519402-chart-v2-2.js similarity index 80% rename from migration/1615966519402-chart-v2-2.ts rename to packages/backend/migration/1615966519402-chart-v2-2.js index a694f9542..85a83df1a 100644 --- a/migration/1615966519402-chart-v2-2.ts +++ b/packages/backend/migration/1615966519402-chart-v2-2.js @@ -1,22 +1,22 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class chartV221615966519402 implements MigrationInterface { - name = 'chartV221615966519402' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class chartV221615966519402 { + constructor() { + this.name = 'chartV221615966519402'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___local_users" character varying array NOT NULL DEFAULT '{}'::varchar[]`); await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___remote_users" character varying array NOT NULL DEFAULT '{}'::varchar[]`); await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___local_users" character varying array NOT NULL DEFAULT '{}'::varchar[]`); await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___remote_users" character varying array NOT NULL DEFAULT '{}'::varchar[]`); await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "___foo" character varying array NOT NULL DEFAULT '{}'::varchar[]`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "___foo"`); await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___remote_users"`); await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___local_users"`); await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___remote_users"`); await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___local_users"`); } - } +exports.chartV221615966519402 = chartV221615966519402; diff --git a/migration/1618637372000-user-last-active-date.ts b/packages/backend/migration/1618637372000-user-last-active-date.js similarity index 55% rename from migration/1618637372000-user-last-active-date.ts rename to packages/backend/migration/1618637372000-user-last-active-date.js index a66c433a3..03fc011e4 100644 --- a/migration/1618637372000-user-last-active-date.ts +++ b/packages/backend/migration/1618637372000-user-last-active-date.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class userLastActiveDate1618637372000 implements MigrationInterface { - name = 'userLastActiveDate1618637372000' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class userLastActiveDate1618637372000 { + constructor() { + this.name = 'userLastActiveDate1618637372000'; + } + async up(queryRunner) { await queryRunner.query(`ALTER TABLE "user" ADD "lastActiveDate" TIMESTAMP WITH TIME ZONE DEFAULT NULL`); await queryRunner.query(`CREATE INDEX "IDX_seoignmeoprigmkpodgrjmkpormg" ON "user" ("lastActiveDate") `); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_seoignmeoprigmkpodgrjmkpormg"`); await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "lastActiveDate"`); } - } +exports.userLastActiveDate1618637372000 = userLastActiveDate1618637372000; diff --git a/packages/backend/migration/1618639857000-user-hide-online-status.js b/packages/backend/migration/1618639857000-user-hide-online-status.js new file mode 100644 index 000000000..0b1e34100 --- /dev/null +++ b/packages/backend/migration/1618639857000-user-hide-online-status.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class userHideOnlineStatus1618639857000 { + constructor() { + this.name = 'userHideOnlineStatus1618639857000'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user" ADD "hideOnlineStatus" boolean NOT NULL DEFAULT false`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "hideOnlineStatus"`); + } +} +exports.userHideOnlineStatus1618639857000 = userHideOnlineStatus1618639857000; diff --git a/migration/1619942102890-password-reset.ts b/packages/backend/migration/1619942102890-password-reset.js similarity index 78% rename from migration/1619942102890-password-reset.ts rename to packages/backend/migration/1619942102890-password-reset.js index 66854cb02..9505be4b8 100644 --- a/migration/1619942102890-password-reset.ts +++ b/packages/backend/migration/1619942102890-password-reset.js @@ -1,20 +1,20 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class passwordReset1619942102890 implements MigrationInterface { - name = 'passwordReset1619942102890' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class passwordReset1619942102890 { + constructor() { + this.name = 'passwordReset1619942102890'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "password_reset_request" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(256) NOT NULL, "userId" character varying(32) NOT NULL, CONSTRAINT "PK_fcf4b02eae1403a2edaf87fd074" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0b575fa9a4cfe638a925949285" ON "password_reset_request" ("token") `); await queryRunner.query(`CREATE INDEX "IDX_4bb7fd4a34492ae0e6cc8d30ac" ON "password_reset_request" ("userId") `); await queryRunner.query(`ALTER TABLE "password_reset_request" ADD CONSTRAINT "FK_4bb7fd4a34492ae0e6cc8d30ac8" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "password_reset_request" DROP CONSTRAINT "FK_4bb7fd4a34492ae0e6cc8d30ac8"`); await queryRunner.query(`DROP INDEX "IDX_4bb7fd4a34492ae0e6cc8d30ac"`); await queryRunner.query(`DROP INDEX "IDX_0b575fa9a4cfe638a925949285"`); await queryRunner.query(`DROP TABLE "password_reset_request"`); } - } +exports.passwordReset1619942102890 = passwordReset1619942102890; diff --git a/migration/1620019354680-ad.ts b/packages/backend/migration/1620019354680-ad.js similarity index 78% rename from migration/1620019354680-ad.ts rename to packages/backend/migration/1620019354680-ad.js index 27fb99f18..655629bc3 100644 --- a/migration/1620019354680-ad.ts +++ b/packages/backend/migration/1620019354680-ad.js @@ -1,18 +1,18 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class ad1620019354680 implements MigrationInterface { - name = 'ad1620019354680' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ad1620019354680 { + constructor() { + this.name = 'ad1620019354680'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "ad" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE NOT NULL, "place" character varying(32) NOT NULL, "priority" character varying(32) NOT NULL, "url" character varying(1024) NOT NULL, "imageUrl" character varying(1024) NOT NULL, "memo" character varying(8192) NOT NULL, CONSTRAINT "PK_0193d5ef09746e88e9ea92c634d" PRIMARY KEY ("id")); COMMENT ON COLUMN "ad"."createdAt" IS 'The created date of the Ad.'; COMMENT ON COLUMN "ad"."expiresAt" IS 'The expired date of the Ad.'`); await queryRunner.query(`CREATE INDEX "IDX_1129c2ef687fc272df040bafaa" ON "ad" ("createdAt") `); await queryRunner.query(`CREATE INDEX "IDX_2da24ce20ad209f1d9dc032457" ON "ad" ("expiresAt") `); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_2da24ce20ad209f1d9dc032457"`); await queryRunner.query(`DROP INDEX "IDX_1129c2ef687fc272df040bafaa"`); await queryRunner.query(`DROP TABLE "ad"`); } - } +exports.ad1620019354680 = ad1620019354680; diff --git a/packages/backend/migration/1620364649428-ad2.js b/packages/backend/migration/1620364649428-ad2.js new file mode 100644 index 000000000..7f2213f6a --- /dev/null +++ b/packages/backend/migration/1620364649428-ad2.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ad21620364649428 { + constructor() { + this.name = 'ad21620364649428'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "ad" ADD "ratio" integer NOT NULL DEFAULT '1'`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "ad" DROP COLUMN "ratio"`); + } +} +exports.ad21620364649428 = ad21620364649428; diff --git a/packages/backend/migration/1621479946000-add-note-indexes.js b/packages/backend/migration/1621479946000-add-note-indexes.js new file mode 100644 index 000000000..1bf9827f6 --- /dev/null +++ b/packages/backend/migration/1621479946000-add-note-indexes.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class addNoteIndexes1621479946000 { + constructor() { + this.name = 'addNoteIndexes1621479946000'; + } + async up(queryRunner) { + await queryRunner.query(`CREATE INDEX "IDX_NOTE_MENTIONS" ON "note" USING gin ("mentions")`, undefined); + await queryRunner.query(`CREATE INDEX "IDX_NOTE_VISIBLE_USER_IDS" ON "note" USING gin ("visibleUserIds")`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`DROP INDEX "IDX_NOTE_MENTIONS"`, undefined); + await queryRunner.query(`DROP INDEX "IDX_NOTE_VISIBLE_USER_IDS"`, undefined); + } +} +exports.addNoteIndexes1621479946000 = addNoteIndexes1621479946000; diff --git a/packages/backend/migration/1622679304522-user-profile-description-length.js b/packages/backend/migration/1622679304522-user-profile-description-length.js new file mode 100644 index 000000000..237870d6c --- /dev/null +++ b/packages/backend/migration/1622679304522-user-profile-description-length.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class userProfileDescriptionLength1622679304522 { + constructor() { + this.name = 'userProfileDescriptionLength1622679304522'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "description" TYPE character varying(2048)`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "description" TYPE character varying(1024)`, undefined); + } +} +exports.userProfileDescriptionLength1622679304522 = userProfileDescriptionLength1622679304522; diff --git a/packages/backend/migration/1622681548499-log-message-length.js b/packages/backend/migration/1622681548499-log-message-length.js new file mode 100644 index 000000000..cb2ad288b --- /dev/null +++ b/packages/backend/migration/1622681548499-log-message-length.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class logMessageLength1622681548499 { + constructor() { + this.name = 'logMessageLength1622681548499'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "log" ALTER COLUMN "message" TYPE character varying(2048)`, undefined); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "log" ALTER COLUMN "message" TYPE character varying(1024)`, undefined); + } +} +exports.logMessageLength1622681548499 = logMessageLength1622681548499; diff --git a/migration/1629004542760-chart-reindex.ts b/packages/backend/migration/1629004542760-chart-reindex.js similarity index 98% rename from migration/1629004542760-chart-reindex.ts rename to packages/backend/migration/1629004542760-chart-reindex.js index c3d09f51b..927ea312e 100644 --- a/migration/1629004542760-chart-reindex.ts +++ b/packages/backend/migration/1629004542760-chart-reindex.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class chartReindex1629004542760 implements MigrationInterface { - name = 'chartReindex1629004542760' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class chartReindex1629004542760 { + constructor() { + this.name = 'chartReindex1629004542760'; + } + async up(queryRunner) { await queryRunner.query(`DELETE FROM "__chart__active_users" a USING "__chart__active_users" b WHERE a.id < b.id AND ((a.group IS NULL AND b.group IS NULL) OR a.group = b.group) AND a.date = b.date;`); await queryRunner.query(`DELETE FROM "__chart__drive" a USING "__chart__drive" b WHERE a.id < b.id AND ((a.group IS NULL AND b.group IS NULL) OR a.group = b.group) AND a.date = b.date;`); await queryRunner.query(`DELETE FROM "__chart__federation" a USING "__chart__federation" b WHERE a.id < b.id AND ((a.group IS NULL AND b.group IS NULL) OR a.group = b.group) AND a.date = b.date;`); @@ -94,8 +95,7 @@ export class chartReindex1629004542760 implements MigrationInterface { await queryRunner.query(`CREATE UNIQUE INDEX "IDX_337e9599f278bd7537fe30876f" ON "__chart__users" ("date", "group") `); await queryRunner.query(`CREATE UNIQUE INDEX "IDX_66feba81e1795d176d06c0b1e6" ON "__chart__users" ("date") WHERE "group" IS NULL`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_66feba81e1795d176d06c0b1e6"`); await queryRunner.query(`DROP INDEX "IDX_337e9599f278bd7537fe30876f"`); await queryRunner.query(`DROP INDEX "IDX_dab383a36f3c9db4a0c9b02cf3"`); @@ -178,5 +178,5 @@ export class chartReindex1629004542760 implements MigrationInterface { await queryRunner.query(`CREATE INDEX "IDX_00ed5f86db1f7efafb1978bf21" ON "__chart__active_users" ("group") `); await queryRunner.query(`CREATE INDEX "IDX_0ad37b7ef50f4ddc84363d7ccc" ON "__chart__active_users" ("date") `); } - } +exports.chartReindex1629004542760 = chartReindex1629004542760; diff --git a/packages/backend/migration/1629024377804-deepl-integration.js b/packages/backend/migration/1629024377804-deepl-integration.js new file mode 100644 index 000000000..a2bd3b188 --- /dev/null +++ b/packages/backend/migration/1629024377804-deepl-integration.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class deeplIntegration1629024377804 { + constructor() { + this.name = 'deeplIntegration1629024377804'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "deeplAuthKey" character varying(128)`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplAuthKey"`); + } +} +exports.deeplIntegration1629024377804 = deeplIntegration1629024377804; diff --git a/packages/backend/migration/1629288472000-fix-channel-userId.js b/packages/backend/migration/1629288472000-fix-channel-userId.js new file mode 100644 index 000000000..d0e8baa06 --- /dev/null +++ b/packages/backend/migration/1629288472000-fix-channel-userId.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class fixChannelUserId1629288472000 { + constructor() { + this.name = 'fixChannelUserId1629288472000'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "channel" ALTER COLUMN "userId" DROP NOT NULL;`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "channel" ALTER COLUMN "userId" SET NOT NULL;`); + } +} +exports.fixChannelUserId1629288472000 = fixChannelUserId1629288472000; diff --git a/packages/backend/migration/1629512953000-user-is-deleted.js b/packages/backend/migration/1629512953000-user-is-deleted.js new file mode 100644 index 000000000..008390719 --- /dev/null +++ b/packages/backend/migration/1629512953000-user-is-deleted.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class isUserDeleted1629512953000 { + constructor() { + this.name = 'isUserDeleted1629512953000'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user" ADD "isDeleted" boolean NOT NULL DEFAULT false`); + await queryRunner.query(`COMMENT ON COLUMN "user"."isDeleted" IS 'Whether the User is deleted.'`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isDeleted"`); + } +} +exports.isUserDeleted1629512953000 = isUserDeleted1629512953000; diff --git a/packages/backend/migration/1629778475000-deepl-integration2.js b/packages/backend/migration/1629778475000-deepl-integration2.js new file mode 100644 index 000000000..50365f4bb --- /dev/null +++ b/packages/backend/migration/1629778475000-deepl-integration2.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class deeplIntegration21629778475000 { + constructor() { + this.name = 'deeplIntegration21629778475000'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "deeplIsPro" boolean NOT NULL DEFAULT false`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplIsPro"`); + } +} +exports.deeplIntegration21629778475000 = deeplIntegration21629778475000; diff --git a/packages/backend/migration/1633068642000-email-required-for-signup.js b/packages/backend/migration/1633068642000-email-required-for-signup.js new file mode 100644 index 000000000..9793cac00 --- /dev/null +++ b/packages/backend/migration/1633068642000-email-required-for-signup.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class emailRequiredForSignup1633068642000 { + constructor() { + this.name = 'emailRequiredForSignup1633068642000'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "emailRequiredForSignup" boolean NOT NULL DEFAULT false`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "emailRequiredForSignup"`); + } +} +exports.emailRequiredForSignup1633068642000 = emailRequiredForSignup1633068642000; diff --git a/migration/1633071909016-user-pending.ts b/packages/backend/migration/1633071909016-user-pending.js similarity index 68% rename from migration/1633071909016-user-pending.ts rename to packages/backend/migration/1633071909016-user-pending.js index 28b556888..92a513994 100644 --- a/migration/1633071909016-user-pending.ts +++ b/packages/backend/migration/1633071909016-user-pending.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class userPending1633071909016 implements MigrationInterface { - name = 'userPending1633071909016' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class userPending1633071909016 { + constructor() { + this.name = 'userPending1633071909016'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "user_pending" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "code" character varying(128) NOT NULL, "username" character varying(128) NOT NULL, "email" character varying(128) NOT NULL, "password" character varying(128) NOT NULL, CONSTRAINT "PK_d4c84e013c98ec02d19b8fbbafa" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE UNIQUE INDEX "IDX_4e5c4c99175638ec0761714ab0" ON "user_pending" ("code") `); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`DROP INDEX "IDX_4e5c4c99175638ec0761714ab0"`); await queryRunner.query(`DROP TABLE "user_pending"`); } - } +exports.userPending1633071909016 = userPending1633071909016; diff --git a/packages/backend/migration/1634486652000-user-public-reactions.js b/packages/backend/migration/1634486652000-user-public-reactions.js new file mode 100644 index 000000000..1447abe6a --- /dev/null +++ b/packages/backend/migration/1634486652000-user-public-reactions.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class userPublicReactions1634486652000 { + constructor() { + this.name = 'userPublicReactions1634486652000'; + } + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" ADD "publicReactions" boolean NOT NULL DEFAULT false`); + } + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "publicReactions"`); + } +} +exports.userPublicReactions1634486652000 = userPublicReactions1634486652000; diff --git a/packages/backend/migration/1634902659689-delete-log.js b/packages/backend/migration/1634902659689-delete-log.js new file mode 100644 index 000000000..b2162519f --- /dev/null +++ b/packages/backend/migration/1634902659689-delete-log.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class deleteLog1634902659689 { + constructor() { + this.name = 'deleteLog1634902659689'; + } + async up(queryRunner) { + await queryRunner.query(`DROP TABLE "log"`); + } + async down(queryRunner) { + } +} +exports.deleteLog1634902659689 = deleteLog1634902659689; diff --git a/migration/1635500777168-note-thread-mute.ts b/packages/backend/migration/1635500777168-note-thread-mute.js similarity index 84% rename from migration/1635500777168-note-thread-mute.ts rename to packages/backend/migration/1635500777168-note-thread-mute.js index aed10d18d..1e0195274 100644 --- a/migration/1635500777168-note-thread-mute.ts +++ b/packages/backend/migration/1635500777168-note-thread-mute.js @@ -1,9 +1,10 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class noteThreadMute1635500777168 implements MigrationInterface { - name = 'noteThreadMute1635500777168' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class noteThreadMute1635500777168 { + constructor() { + this.name = 'noteThreadMute1635500777168'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TABLE "note_thread_muting" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "threadId" character varying(256) NOT NULL, CONSTRAINT "PK_ec5936d94d1a0369646d12a3a47" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_29c11c7deb06615076f8c95b80" ON "note_thread_muting" ("userId") `); await queryRunner.query(`CREATE INDEX "IDX_c426394644267453e76f036926" ON "note_thread_muting" ("threadId") `); @@ -12,8 +13,7 @@ export class noteThreadMute1635500777168 implements MigrationInterface { await queryRunner.query(`CREATE INDEX "IDX_d4ebdef929896d6dc4a3c5bb48" ON "note" ("threadId") `); await queryRunner.query(`ALTER TABLE "note_thread_muting" ADD CONSTRAINT "FK_29c11c7deb06615076f8c95b80a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "note_thread_muting" DROP CONSTRAINT "FK_29c11c7deb06615076f8c95b80a"`); await queryRunner.query(`DROP INDEX "public"."IDX_d4ebdef929896d6dc4a3c5bb48"`); await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "threadId"`); @@ -22,5 +22,5 @@ export class noteThreadMute1635500777168 implements MigrationInterface { await queryRunner.query(`DROP INDEX "public"."IDX_29c11c7deb06615076f8c95b80"`); await queryRunner.query(`DROP TABLE "note_thread_muting"`); } - } +exports.noteThreadMute1635500777168 = noteThreadMute1635500777168; diff --git a/migration/1636197624383-ff-visibility.ts b/packages/backend/migration/1636197624383-ff-visibility.js similarity index 60% rename from migration/1636197624383-ff-visibility.ts rename to packages/backend/migration/1636197624383-ff-visibility.js index 8829aeb88..9e8d5a3dc 100644 --- a/migration/1636197624383-ff-visibility.ts +++ b/packages/backend/migration/1636197624383-ff-visibility.js @@ -1,16 +1,16 @@ -import {MigrationInterface, QueryRunner} from "typeorm"; - -export class ffVisibility1636197624383 implements MigrationInterface { - name = 'ffVisibility1636197624383' - - public async up(queryRunner: QueryRunner): Promise { +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ffVisibility1636197624383 { + constructor() { + this.name = 'ffVisibility1636197624383'; + } + async up(queryRunner) { await queryRunner.query(`CREATE TYPE "public"."user_profile_ffvisibility_enum" AS ENUM('public', 'followers', 'private')`); await queryRunner.query(`ALTER TABLE "user_profile" ADD "ffVisibility" "public"."user_profile_ffvisibility_enum" NOT NULL DEFAULT 'public'`); } - - public async down(queryRunner: QueryRunner): Promise { + async down(queryRunner) { await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "ffVisibility"`); await queryRunner.query(`DROP TYPE "public"."user_profile_ffvisibility_enum"`); } - } +exports.ffVisibility1636197624383 = ffVisibility1636197624383; diff --git a/ormconfig.js b/packages/backend/ormconfig.js similarity index 91% rename from ormconfig.js rename to packages/backend/ormconfig.js index 8a0196947..524181cb8 100644 --- a/ormconfig.js +++ b/packages/backend/ormconfig.js @@ -10,7 +10,7 @@ module.exports = { database: config.db.db, extra: config.db.extra, entities: entities, - migrations: ['migration/*.ts'], + migrations: ['migration/*.js'], cli: { migrationsDir: 'migration' } diff --git a/packages/backend/package.json b/packages/backend/package.json new file mode 100644 index 000000000..87c5c0464 --- /dev/null +++ b/packages/backend/package.json @@ -0,0 +1,199 @@ +{ + "main": "./index.js", + "private": true, + "scripts": { + "init": "npm run migrate", + "build": "tsc -p tsconfig.json || echo done. && tsc-alias -p tsconfig.json", + "watch": "tsc -w -p tsconfig.json && tsc-alias -w -p tsconfig.json", + "lint": "tslint '**/*.ts'", + "mocha": "cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" mocha", + "test": "npm run mocha" + }, + "resolutions": { + "chokidar": "^3.3.1", + "lodash": "^4.17.21" + }, + "dependencies": { + "@discordapp/twemoji": "13.1.0", + "@elastic/elasticsearch": "7.11.0", + "@koa/cors": "3.1.0", + "@koa/multer": "3.0.0", + "@koa/router": "9.0.1", + "@sinonjs/fake-timers": "7.1.2", + "@syuilo/aiscript": "0.11.1", + "@types/bcryptjs": "2.4.2", + "@types/bull": "3.15.5", + "@types/cbor": "6.0.0", + "@types/dateformat": "3.0.1", + "@types/escape-regexp": "0.0.0", + "@types/glob": "7.2.0", + "@types/is-url": "1.2.30", + "@types/js-yaml": "4.0.4", + "@types/jsdom": "16.2.13", + "@types/jsonld": "1.5.6", + "@types/koa": "2.13.4", + "@types/koa-bodyparser": "4.3.3", + "@types/koa-cors": "0.0.2", + "@types/koa-favicon": "2.0.21", + "@types/koa-logger": "3.1.2", + "@types/koa-mount": "4.0.1", + "@types/koa-send": "4.1.3", + "@types/koa-views": "7.0.0", + "@types/koa__cors": "3.0.3", + "@types/koa__multer": "2.0.4", + "@types/koa__router": "8.0.8", + "@types/mocha": "8.2.3", + "@types/node": "16.11.7", + "@types/node-fetch": "2.5.12", + "@types/nodemailer": "6.4.4", + "@types/nprogress": "0.2.0", + "@types/oauth": "0.9.1", + "@types/parse5": "6.0.2", + "@types/parsimmon": "1.10.6", + "@types/portscanner": "2.1.1", + "@types/pug": "2.0.5", + "@types/punycode": "2.1.0", + "@types/qrcode": "1.4.1", + "@types/random-seed": "0.3.3", + "@types/ratelimiter": "3.4.2", + "@types/redis": "2.8.32", + "@types/rename": "1.0.4", + "@types/request-stats": "3.0.0", + "@types/rimraf": "3.0.2", + "@types/seedrandom": "2.4.28", + "@types/sharp": "0.29.3", + "@types/sinonjs__fake-timers": "6.0.4", + "@types/speakeasy": "2.0.6", + "@types/throttle-debounce": "2.1.0", + "@types/tinycolor2": "1.4.3", + "@types/tmp": "0.2.2", + "@types/uuid": "8.3.1", + "@types/web-push": "3.3.2", + "@types/webpack": "5.28.0", + "@types/webpack-stream": "3.2.12", + "@types/websocket": "1.0.4", + "@types/ws": "8.2.0", + "@typescript-eslint/parser": "5.1.0", + "abort-controller": "3.0.0", + "autobind-decorator": "2.4.0", + "autosize": "4.0.4", + "autwh": "0.1.0", + "aws-sdk": "2.1013.0", + "bcryptjs": "2.4.3", + "blurhash": "1.1.4", + "broadcast-channel": "4.5.0", + "bull": "4.1.0", + "cacheable-lookup": "6.0.4", + "cafy": "15.2.1", + "cbor": "8.1.0", + "chalk": "4.1.2", + "chart.js": "3.6.0", + "chartjs-adapter-date-fns": "2.0.0", + "chartjs-plugin-zoom": "1.1.1", + "cli-highlight": "2.1.11", + "compare-versions": "3.6.0", + "concurrently": "6.3.0", + "content-disposition": "0.5.3", + "crc-32": "1.2.0", + "css-loader": "6.5.1", + "cssnano": "5.0.10", + "date-fns": "2.25.0", + "dateformat": "4.5.1", + "deep-email-validator": "0.1.18", + "escape-regexp": "0.0.1", + "eslint": "8.2.0", + "eslint-plugin-vue": "8.0.3", + "eventemitter3": "4.0.7", + "feed": "4.2.2", + "file-type": "16.5.3", + "fluent-ffmpeg": "2.1.2", + "glob": "7.2.0", + "got": "11.8.2", + "hpagent": "0.1.2", + "http-signature": "1.3.5", + "idb-keyval": "5.1.3", + "insert-text-at-cursor": "0.3.0", + "ip-cidr": "3.0.4", + "is-svg": "4.3.1", + "js-yaml": "4.1.0", + "jsdom": "16.7.0", + "json5": "2.2.0", + "json5-loader": "4.0.1", + "jsonld": "5.2.0", + "jsrsasign": "8.0.20", + "koa": "2.13.4", + "koa-bodyparser": "4.3.0", + "koa-favicon": "2.1.0", + "koa-json-body": "5.3.0", + "koa-logger": "3.2.1", + "koa-mount": "4.0.0", + "koa-send": "5.0.1", + "koa-slow": "2.1.0", + "koa-views": "7.0.2", + "langmap": "0.0.16", + "mfm-js": "0.20.0", + "misskey-js": "0.0.8", + "mocha": "8.4.0", + "ms": "2.1.3", + "multer": "1.4.3", + "nested-property": "4.0.0", + "node-fetch": "2.6.1", + "nodemailer": "6.7.0", + "os-utils": "0.0.14", + "parse5": "6.0.1", + "pg": "8.7.1", + "portscanner": "2.2.0", + "prismjs": "1.25.0", + "private-ip": "2.3.3", + "probe-image-size": "7.2.1", + "promise-limit": "2.7.0", + "pug": "3.0.2", + "punycode": "2.1.1", + "pureimage": "0.3.5", + "qrcode": "1.4.4", + "random-seed": "0.3.0", + "ratelimiter": "3.4.1", + "re2": "1.16.0", + "redis": "3.1.2", + "redis-lock": "0.1.4", + "reflect-metadata": "0.1.13", + "rename": "1.0.4", + "request-stats": "3.0.0", + "require-all": "3.0.0", + "rimraf": "3.0.2", + "rndstr": "1.0.0", + "s-age": "1.1.2", + "seedrandom": "3.0.5", + "sharp": "0.29.2", + "speakeasy": "2.0.0", + "strict-event-emitter-types": "2.0.0", + "stringz": "2.1.0", + "style-loader": "3.3.1", + "summaly": "2.4.1", + "syslog-pro": "1.0.0", + "systeminformation": "5.9.9", + "throttle-debounce": "3.0.1", + "tinycolor2": "1.4.2", + "tmp": "0.2.1", + "ts-loader": "9.2.6", + "ts-node": "10.4.0", + "tsc-alias": "1.3.10", + "tsconfig-paths": "3.11.0", + "tslint": "6.1.3", + "tslint-sonarts": "1.9.0", + "twemoji-parser": "13.1.0", + "typeorm": "0.2.39", + "typescript": "4.4.4", + "ulid": "2.3.0", + "uuid": "8.3.2", + "web-push": "3.4.5", + "websocket": "1.0.34", + "ws": "8.2.3", + "xev": "2.0.1" + }, + "devDependencies": { + "@redocly/openapi-core": "1.0.0-beta.54", + "@types/fluent-ffmpeg": "2.1.17", + "cross-env": "7.0.3" + } +} diff --git a/src/boot/index.ts b/packages/backend/src/boot/index.ts similarity index 91% rename from src/boot/index.ts rename to packages/backend/src/boot/index.ts index cb4c8536d..1723c32dd 100644 --- a/src/boot/index.ts +++ b/packages/backend/src/boot/index.ts @@ -18,12 +18,12 @@ const ev = new Xev(); * Init process */ export default async function() { - process.title = `Misskey (${cluster.isMaster ? 'master' : 'worker'})`; + process.title = `Misskey (${cluster.isPrimary ? 'master' : 'worker'})`; - if (cluster.isMaster || envOption.disableClustering) { + if (cluster.isPrimary || envOption.disableClustering) { await masterMain(); - if (cluster.isMaster) { + if (cluster.isPrimary) { ev.mount(); } } diff --git a/src/boot/master.ts b/packages/backend/src/boot/master.ts similarity index 98% rename from src/boot/master.ts rename to packages/backend/src/boot/master.ts index 071b37b76..eeb7017cb 100644 --- a/src/boot/master.ts +++ b/packages/backend/src/boot/master.ts @@ -19,7 +19,7 @@ import { initDb } from '../db/postgre'; const _filename = __filename; const _dirname = dirname(_filename); -const meta = JSON.parse(fs.readFileSync(`${_dirname}/../meta.json`, 'utf-8')); +const meta = JSON.parse(fs.readFileSync(`${_dirname}/../../../../built/meta.json`, 'utf-8')); const logger = new Logger('core', 'cyan'); const bootLogger = logger.createSubLogger('boot', 'magenta', false); diff --git a/src/boot/worker.ts b/packages/backend/src/boot/worker.ts similarity index 100% rename from src/boot/worker.ts rename to packages/backend/src/boot/worker.ts diff --git a/src/config/index.ts b/packages/backend/src/config/index.ts similarity index 100% rename from src/config/index.ts rename to packages/backend/src/config/index.ts diff --git a/src/config/load.ts b/packages/backend/src/config/load.ts similarity index 91% rename from src/config/load.ts rename to packages/backend/src/config/load.ts index c7965e6c4..1b5457cdb 100644 --- a/src/config/load.ts +++ b/packages/backend/src/config/load.ts @@ -15,7 +15,7 @@ const _dirname = dirname(_filename); /** * Path of configuration directory */ -const dir = `${_dirname}/../../.config`; +const dir = `${_dirname}/../../../../.config`; /** * Path of configuration file @@ -25,7 +25,7 @@ const path = process.env.NODE_ENV === 'test' : `${dir}/default.yml`; export default function load() { - const meta = JSON.parse(fs.readFileSync(`${_dirname}/../meta.json`, 'utf-8')); + const meta = JSON.parse(fs.readFileSync(`${_dirname}/../../../../built/meta.json`, 'utf-8')); const config = yaml.load(fs.readFileSync(path, 'utf-8')) as Source; const mixin = {} as Mixin; diff --git a/src/config/types.ts b/packages/backend/src/config/types.ts similarity index 100% rename from src/config/types.ts rename to packages/backend/src/config/types.ts diff --git a/src/const.ts b/packages/backend/src/const.ts similarity index 100% rename from src/const.ts rename to packages/backend/src/const.ts diff --git a/src/daemons/janitor.ts b/packages/backend/src/daemons/janitor.ts similarity index 100% rename from src/daemons/janitor.ts rename to packages/backend/src/daemons/janitor.ts diff --git a/src/daemons/queue-stats.ts b/packages/backend/src/daemons/queue-stats.ts similarity index 100% rename from src/daemons/queue-stats.ts rename to packages/backend/src/daemons/queue-stats.ts diff --git a/src/daemons/server-stats.ts b/packages/backend/src/daemons/server-stats.ts similarity index 100% rename from src/daemons/server-stats.ts rename to packages/backend/src/daemons/server-stats.ts diff --git a/src/db/elasticsearch.ts b/packages/backend/src/db/elasticsearch.ts similarity index 100% rename from src/db/elasticsearch.ts rename to packages/backend/src/db/elasticsearch.ts diff --git a/src/db/logger.ts b/packages/backend/src/db/logger.ts similarity index 100% rename from src/db/logger.ts rename to packages/backend/src/db/logger.ts diff --git a/src/db/postgre.ts b/packages/backend/src/db/postgre.ts similarity index 100% rename from src/db/postgre.ts rename to packages/backend/src/db/postgre.ts diff --git a/src/db/redis.ts b/packages/backend/src/db/redis.ts similarity index 100% rename from src/db/redis.ts rename to packages/backend/src/db/redis.ts diff --git a/src/env.ts b/packages/backend/src/env.ts similarity index 100% rename from src/env.ts rename to packages/backend/src/env.ts diff --git a/src/games/reversi/core.ts b/packages/backend/src/games/reversi/core.ts similarity index 100% rename from src/games/reversi/core.ts rename to packages/backend/src/games/reversi/core.ts diff --git a/src/games/reversi/maps.ts b/packages/backend/src/games/reversi/maps.ts similarity index 100% rename from src/games/reversi/maps.ts rename to packages/backend/src/games/reversi/maps.ts diff --git a/src/games/reversi/package.json b/packages/backend/src/games/reversi/package.json similarity index 100% rename from src/games/reversi/package.json rename to packages/backend/src/games/reversi/package.json diff --git a/src/games/reversi/tsconfig.json b/packages/backend/src/games/reversi/tsconfig.json similarity index 100% rename from src/games/reversi/tsconfig.json rename to packages/backend/src/games/reversi/tsconfig.json diff --git a/src/global.d.ts b/packages/backend/src/global.d.ts similarity index 100% rename from src/global.d.ts rename to packages/backend/src/global.d.ts diff --git a/src/index.ts b/packages/backend/src/index.ts similarity index 77% rename from src/index.ts rename to packages/backend/src/index.ts index db1b53f51..5e4e377ab 100644 --- a/src/index.ts +++ b/packages/backend/src/index.ts @@ -8,6 +8,4 @@ require('events').EventEmitter.defaultMaxListeners = 128; import boot from './boot/index'; -export default function() { - return boot(); -} +boot(); diff --git a/src/mfm/from-html.ts b/packages/backend/src/mfm/from-html.ts similarity index 100% rename from src/mfm/from-html.ts rename to packages/backend/src/mfm/from-html.ts diff --git a/src/mfm/to-html.ts b/packages/backend/src/mfm/to-html.ts similarity index 87% rename from src/mfm/to-html.ts rename to packages/backend/src/mfm/to-html.ts index b3678a0dd..343c76fb3 100644 --- a/src/mfm/to-html.ts +++ b/packages/backend/src/mfm/to-html.ts @@ -3,7 +3,6 @@ import * as mfm from 'mfm-js'; import config from '@/config/index'; import { intersperse } from '@/prelude/array'; import { IMentionedRemoteUsers } from '@/models/entities/note'; -import { wellKnownServices } from '../well-known-services'; export function toHtml(nodes: mfm.MfmNode[] | null, mentionedRemoteUsers: IMentionedRemoteUsers = []) { if (nodes == null) { @@ -109,14 +108,9 @@ export function toHtml(nodes: mfm.MfmNode[] | null, mentionedRemoteUsers: IMenti mention(node) { const a = doc.createElement('a'); const { username, host, acct } = node.props; - const wellKnown = wellKnownServices.find(x => x[0] === host); - if (wellKnown) { - a.href = wellKnown[1](username); - } else { - const remoteUserInfo = mentionedRemoteUsers.find(remoteUser => remoteUser.username === username && remoteUser.host === host); - a.href = remoteUserInfo ? (remoteUserInfo.url ? remoteUserInfo.url : remoteUserInfo.uri) : `${config.url}/${acct}`; - a.className = 'u-url mention'; - } + const remoteUserInfo = mentionedRemoteUsers.find(remoteUser => remoteUser.username === username && remoteUser.host === host); + a.href = remoteUserInfo ? (remoteUserInfo.url ? remoteUserInfo.url : remoteUserInfo.uri) : `${config.url}/${acct}`; + a.className = 'u-url mention'; a.textContent = acct; return a; }, diff --git a/src/misc/antenna-cache.ts b/packages/backend/src/misc/antenna-cache.ts similarity index 100% rename from src/misc/antenna-cache.ts rename to packages/backend/src/misc/antenna-cache.ts diff --git a/src/misc/api-permissions.ts b/packages/backend/src/misc/api-permissions.ts similarity index 100% rename from src/misc/api-permissions.ts rename to packages/backend/src/misc/api-permissions.ts diff --git a/src/misc/app-lock.ts b/packages/backend/src/misc/app-lock.ts similarity index 100% rename from src/misc/app-lock.ts rename to packages/backend/src/misc/app-lock.ts diff --git a/src/misc/before-shutdown.ts b/packages/backend/src/misc/before-shutdown.ts similarity index 100% rename from src/misc/before-shutdown.ts rename to packages/backend/src/misc/before-shutdown.ts diff --git a/src/misc/cache.ts b/packages/backend/src/misc/cache.ts similarity index 100% rename from src/misc/cache.ts rename to packages/backend/src/misc/cache.ts diff --git a/src/misc/cafy-id.ts b/packages/backend/src/misc/cafy-id.ts similarity index 100% rename from src/misc/cafy-id.ts rename to packages/backend/src/misc/cafy-id.ts diff --git a/src/misc/captcha.ts b/packages/backend/src/misc/captcha.ts similarity index 100% rename from src/misc/captcha.ts rename to packages/backend/src/misc/captcha.ts diff --git a/src/misc/check-hit-antenna.ts b/packages/backend/src/misc/check-hit-antenna.ts similarity index 96% rename from src/misc/check-hit-antenna.ts rename to packages/backend/src/misc/check-hit-antenna.ts index 3789054b2..e70b7429c 100644 --- a/src/misc/check-hit-antenna.ts +++ b/packages/backend/src/misc/check-hit-antenna.ts @@ -3,7 +3,7 @@ import { Note } from '@/models/entities/note'; import { User } from '@/models/entities/user'; import { UserListJoinings, UserGroupJoinings } from '@/models/index'; import { getFullApAccount } from './convert-host'; -import { parseAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; import { Packed } from './schema'; /** @@ -38,7 +38,7 @@ export async function checkHitAntenna(antenna: Antenna, note: (Note | Packed<'No if (!groupUsers.includes(note.userId)) return false; } else if (antenna.src === 'users') { const accts = antenna.users.map(x => { - const { username, host } = parseAcct(x); + const { username, host } = Acct.parse(x); return getFullApAccount(username, host).toLowerCase(); }); if (!accts.includes(getFullApAccount(noteUser.username, noteUser.host).toLowerCase())) return false; diff --git a/src/misc/check-word-mute.ts b/packages/backend/src/misc/check-word-mute.ts similarity index 100% rename from src/misc/check-word-mute.ts rename to packages/backend/src/misc/check-word-mute.ts diff --git a/src/misc/content-disposition.ts b/packages/backend/src/misc/content-disposition.ts similarity index 100% rename from src/misc/content-disposition.ts rename to packages/backend/src/misc/content-disposition.ts diff --git a/src/misc/convert-host.ts b/packages/backend/src/misc/convert-host.ts similarity index 100% rename from src/misc/convert-host.ts rename to packages/backend/src/misc/convert-host.ts diff --git a/src/misc/count-same-renotes.ts b/packages/backend/src/misc/count-same-renotes.ts similarity index 100% rename from src/misc/count-same-renotes.ts rename to packages/backend/src/misc/count-same-renotes.ts diff --git a/src/misc/create-temp.ts b/packages/backend/src/misc/create-temp.ts similarity index 100% rename from src/misc/create-temp.ts rename to packages/backend/src/misc/create-temp.ts diff --git a/src/misc/detect-url-mime.ts b/packages/backend/src/misc/detect-url-mime.ts similarity index 100% rename from src/misc/detect-url-mime.ts rename to packages/backend/src/misc/detect-url-mime.ts diff --git a/src/misc/download-text-file.ts b/packages/backend/src/misc/download-text-file.ts similarity index 100% rename from src/misc/download-text-file.ts rename to packages/backend/src/misc/download-text-file.ts diff --git a/src/misc/download-url.ts b/packages/backend/src/misc/download-url.ts similarity index 100% rename from src/misc/download-url.ts rename to packages/backend/src/misc/download-url.ts diff --git a/src/misc/emoji-regex.ts b/packages/backend/src/misc/emoji-regex.ts similarity index 100% rename from src/misc/emoji-regex.ts rename to packages/backend/src/misc/emoji-regex.ts diff --git a/src/misc/extract-custom-emojis-from-mfm.ts b/packages/backend/src/misc/extract-custom-emojis-from-mfm.ts similarity index 100% rename from src/misc/extract-custom-emojis-from-mfm.ts rename to packages/backend/src/misc/extract-custom-emojis-from-mfm.ts diff --git a/src/misc/extract-hashtags.ts b/packages/backend/src/misc/extract-hashtags.ts similarity index 100% rename from src/misc/extract-hashtags.ts rename to packages/backend/src/misc/extract-hashtags.ts diff --git a/src/misc/extract-mentions.ts b/packages/backend/src/misc/extract-mentions.ts similarity index 100% rename from src/misc/extract-mentions.ts rename to packages/backend/src/misc/extract-mentions.ts diff --git a/src/misc/fetch-meta.ts b/packages/backend/src/misc/fetch-meta.ts similarity index 100% rename from src/misc/fetch-meta.ts rename to packages/backend/src/misc/fetch-meta.ts diff --git a/src/misc/fetch-proxy-account.ts b/packages/backend/src/misc/fetch-proxy-account.ts similarity index 100% rename from src/misc/fetch-proxy-account.ts rename to packages/backend/src/misc/fetch-proxy-account.ts diff --git a/src/misc/fetch.ts b/packages/backend/src/misc/fetch.ts similarity index 100% rename from src/misc/fetch.ts rename to packages/backend/src/misc/fetch.ts diff --git a/src/misc/gen-avatar.ts b/packages/backend/src/misc/gen-avatar.ts similarity index 100% rename from src/misc/gen-avatar.ts rename to packages/backend/src/misc/gen-avatar.ts diff --git a/src/misc/gen-id.ts b/packages/backend/src/misc/gen-id.ts similarity index 100% rename from src/misc/gen-id.ts rename to packages/backend/src/misc/gen-id.ts diff --git a/src/misc/gen-key-pair.ts b/packages/backend/src/misc/gen-key-pair.ts similarity index 100% rename from src/misc/gen-key-pair.ts rename to packages/backend/src/misc/gen-key-pair.ts diff --git a/src/misc/get-file-info.ts b/packages/backend/src/misc/get-file-info.ts similarity index 100% rename from src/misc/get-file-info.ts rename to packages/backend/src/misc/get-file-info.ts diff --git a/src/misc/get-note-summary.ts b/packages/backend/src/misc/get-note-summary.ts similarity index 63% rename from src/misc/get-note-summary.ts rename to packages/backend/src/misc/get-note-summary.ts index a1866fb20..d7273d1c5 100644 --- a/src/misc/get-note-summary.ts +++ b/packages/backend/src/misc/get-note-summary.ts @@ -1,14 +1,16 @@ +import { Packed } from './schema'; + /** * 投稿を表す文字列を取得します。 * @param {*} note (packされた)投稿 */ -export const getNoteSummary = (note: any, locale: any): string => { +export const getNoteSummary = (note: Packed<'Note'>): string => { if (note.deletedAt) { - return `(${locale['deletedNote']})`; + return `(❌⛔)`; } if (note.isHidden) { - return `(${locale['invisibleNote']})`; + return `(⛔)`; } let summary = ''; @@ -22,18 +24,18 @@ export const getNoteSummary = (note: any, locale: any): string => { // ファイルが添付されているとき if ((note.files || []).length != 0) { - summary += ` (${locale['withNFiles'].replace('{n}', note.files.length)})`; + summary += ` (📎${note.files!.length})`; } // 投票が添付されているとき if (note.poll) { - summary += ` (${locale['poll']})`; + summary += ` (📊)`; } // 返信のとき if (note.replyId) { if (note.reply) { - summary += `\n\nRE: ${getNoteSummary(note.reply, locale)}`; + summary += `\n\nRE: ${getNoteSummary(note.reply)}`; } else { summary += '\n\nRE: ...'; } @@ -42,7 +44,7 @@ export const getNoteSummary = (note: any, locale: any): string => { // Renoteのとき if (note.renoteId) { if (note.renote) { - summary += `\n\nRN: ${getNoteSummary(note.renote, locale)}`; + summary += `\n\nRN: ${getNoteSummary(note.renote)}`; } else { summary += '\n\nRN: ...'; } diff --git a/src/misc/get-reaction-emoji.ts b/packages/backend/src/misc/get-reaction-emoji.ts similarity index 100% rename from src/misc/get-reaction-emoji.ts rename to packages/backend/src/misc/get-reaction-emoji.ts diff --git a/src/misc/hard-limits.ts b/packages/backend/src/misc/hard-limits.ts similarity index 100% rename from src/misc/hard-limits.ts rename to packages/backend/src/misc/hard-limits.ts diff --git a/src/misc/i18n.ts b/packages/backend/src/misc/i18n.ts similarity index 100% rename from src/misc/i18n.ts rename to packages/backend/src/misc/i18n.ts diff --git a/src/misc/id/aid.ts b/packages/backend/src/misc/id/aid.ts similarity index 100% rename from src/misc/id/aid.ts rename to packages/backend/src/misc/id/aid.ts diff --git a/src/misc/id/meid.ts b/packages/backend/src/misc/id/meid.ts similarity index 100% rename from src/misc/id/meid.ts rename to packages/backend/src/misc/id/meid.ts diff --git a/src/misc/id/meidg.ts b/packages/backend/src/misc/id/meidg.ts similarity index 100% rename from src/misc/id/meidg.ts rename to packages/backend/src/misc/id/meidg.ts diff --git a/src/misc/id/object-id.ts b/packages/backend/src/misc/id/object-id.ts similarity index 100% rename from src/misc/id/object-id.ts rename to packages/backend/src/misc/id/object-id.ts diff --git a/src/misc/identifiable-error.ts b/packages/backend/src/misc/identifiable-error.ts similarity index 100% rename from src/misc/identifiable-error.ts rename to packages/backend/src/misc/identifiable-error.ts diff --git a/src/misc/is-blocker-user-related.ts b/packages/backend/src/misc/is-blocker-user-related.ts similarity index 100% rename from src/misc/is-blocker-user-related.ts rename to packages/backend/src/misc/is-blocker-user-related.ts diff --git a/src/misc/is-duplicate-key-value-error.ts b/packages/backend/src/misc/is-duplicate-key-value-error.ts similarity index 100% rename from src/misc/is-duplicate-key-value-error.ts rename to packages/backend/src/misc/is-duplicate-key-value-error.ts diff --git a/src/misc/is-muted-user-related.ts b/packages/backend/src/misc/is-muted-user-related.ts similarity index 100% rename from src/misc/is-muted-user-related.ts rename to packages/backend/src/misc/is-muted-user-related.ts diff --git a/src/misc/is-quote.ts b/packages/backend/src/misc/is-quote.ts similarity index 100% rename from src/misc/is-quote.ts rename to packages/backend/src/misc/is-quote.ts diff --git a/src/misc/keypair-store.ts b/packages/backend/src/misc/keypair-store.ts similarity index 100% rename from src/misc/keypair-store.ts rename to packages/backend/src/misc/keypair-store.ts diff --git a/src/misc/normalize-for-search.ts b/packages/backend/src/misc/normalize-for-search.ts similarity index 100% rename from src/misc/normalize-for-search.ts rename to packages/backend/src/misc/normalize-for-search.ts diff --git a/src/misc/nyaize.ts b/packages/backend/src/misc/nyaize.ts similarity index 100% rename from src/misc/nyaize.ts rename to packages/backend/src/misc/nyaize.ts diff --git a/src/misc/populate-emojis.ts b/packages/backend/src/misc/populate-emojis.ts similarity index 100% rename from src/misc/populate-emojis.ts rename to packages/backend/src/misc/populate-emojis.ts diff --git a/src/misc/reaction-lib.ts b/packages/backend/src/misc/reaction-lib.ts similarity index 100% rename from src/misc/reaction-lib.ts rename to packages/backend/src/misc/reaction-lib.ts diff --git a/src/misc/safe-for-sql.ts b/packages/backend/src/misc/safe-for-sql.ts similarity index 100% rename from src/misc/safe-for-sql.ts rename to packages/backend/src/misc/safe-for-sql.ts diff --git a/src/misc/schema.ts b/packages/backend/src/misc/schema.ts similarity index 100% rename from src/misc/schema.ts rename to packages/backend/src/misc/schema.ts diff --git a/src/misc/secure-rndstr.ts b/packages/backend/src/misc/secure-rndstr.ts similarity index 100% rename from src/misc/secure-rndstr.ts rename to packages/backend/src/misc/secure-rndstr.ts diff --git a/src/misc/show-machine-info.ts b/packages/backend/src/misc/show-machine-info.ts similarity index 100% rename from src/misc/show-machine-info.ts rename to packages/backend/src/misc/show-machine-info.ts diff --git a/src/misc/simple-schema.ts b/packages/backend/src/misc/simple-schema.ts similarity index 100% rename from src/misc/simple-schema.ts rename to packages/backend/src/misc/simple-schema.ts diff --git a/src/misc/truncate.ts b/packages/backend/src/misc/truncate.ts similarity index 100% rename from src/misc/truncate.ts rename to packages/backend/src/misc/truncate.ts diff --git a/src/models/entities/abuse-user-report.ts b/packages/backend/src/models/entities/abuse-user-report.ts similarity index 100% rename from src/models/entities/abuse-user-report.ts rename to packages/backend/src/models/entities/abuse-user-report.ts diff --git a/src/models/entities/access-token.ts b/packages/backend/src/models/entities/access-token.ts similarity index 100% rename from src/models/entities/access-token.ts rename to packages/backend/src/models/entities/access-token.ts diff --git a/src/models/entities/ad.ts b/packages/backend/src/models/entities/ad.ts similarity index 100% rename from src/models/entities/ad.ts rename to packages/backend/src/models/entities/ad.ts diff --git a/src/models/entities/announcement-read.ts b/packages/backend/src/models/entities/announcement-read.ts similarity index 100% rename from src/models/entities/announcement-read.ts rename to packages/backend/src/models/entities/announcement-read.ts diff --git a/src/models/entities/announcement.ts b/packages/backend/src/models/entities/announcement.ts similarity index 100% rename from src/models/entities/announcement.ts rename to packages/backend/src/models/entities/announcement.ts diff --git a/src/models/entities/antenna-note.ts b/packages/backend/src/models/entities/antenna-note.ts similarity index 100% rename from src/models/entities/antenna-note.ts rename to packages/backend/src/models/entities/antenna-note.ts diff --git a/src/models/entities/antenna.ts b/packages/backend/src/models/entities/antenna.ts similarity index 100% rename from src/models/entities/antenna.ts rename to packages/backend/src/models/entities/antenna.ts diff --git a/src/models/entities/app.ts b/packages/backend/src/models/entities/app.ts similarity index 100% rename from src/models/entities/app.ts rename to packages/backend/src/models/entities/app.ts diff --git a/src/models/entities/attestation-challenge.ts b/packages/backend/src/models/entities/attestation-challenge.ts similarity index 100% rename from src/models/entities/attestation-challenge.ts rename to packages/backend/src/models/entities/attestation-challenge.ts diff --git a/src/models/entities/auth-session.ts b/packages/backend/src/models/entities/auth-session.ts similarity index 100% rename from src/models/entities/auth-session.ts rename to packages/backend/src/models/entities/auth-session.ts diff --git a/src/models/entities/blocking.ts b/packages/backend/src/models/entities/blocking.ts similarity index 100% rename from src/models/entities/blocking.ts rename to packages/backend/src/models/entities/blocking.ts diff --git a/src/models/entities/channel-following.ts b/packages/backend/src/models/entities/channel-following.ts similarity index 100% rename from src/models/entities/channel-following.ts rename to packages/backend/src/models/entities/channel-following.ts diff --git a/src/models/entities/channel-note-pining.ts b/packages/backend/src/models/entities/channel-note-pining.ts similarity index 100% rename from src/models/entities/channel-note-pining.ts rename to packages/backend/src/models/entities/channel-note-pining.ts diff --git a/src/models/entities/channel.ts b/packages/backend/src/models/entities/channel.ts similarity index 100% rename from src/models/entities/channel.ts rename to packages/backend/src/models/entities/channel.ts diff --git a/src/models/entities/clip-note.ts b/packages/backend/src/models/entities/clip-note.ts similarity index 100% rename from src/models/entities/clip-note.ts rename to packages/backend/src/models/entities/clip-note.ts diff --git a/src/models/entities/clip.ts b/packages/backend/src/models/entities/clip.ts similarity index 100% rename from src/models/entities/clip.ts rename to packages/backend/src/models/entities/clip.ts diff --git a/src/models/entities/drive-file.ts b/packages/backend/src/models/entities/drive-file.ts similarity index 100% rename from src/models/entities/drive-file.ts rename to packages/backend/src/models/entities/drive-file.ts diff --git a/src/models/entities/drive-folder.ts b/packages/backend/src/models/entities/drive-folder.ts similarity index 100% rename from src/models/entities/drive-folder.ts rename to packages/backend/src/models/entities/drive-folder.ts diff --git a/src/models/entities/emoji.ts b/packages/backend/src/models/entities/emoji.ts similarity index 100% rename from src/models/entities/emoji.ts rename to packages/backend/src/models/entities/emoji.ts diff --git a/src/models/entities/follow-request.ts b/packages/backend/src/models/entities/follow-request.ts similarity index 100% rename from src/models/entities/follow-request.ts rename to packages/backend/src/models/entities/follow-request.ts diff --git a/src/models/entities/following.ts b/packages/backend/src/models/entities/following.ts similarity index 100% rename from src/models/entities/following.ts rename to packages/backend/src/models/entities/following.ts diff --git a/src/models/entities/gallery-like.ts b/packages/backend/src/models/entities/gallery-like.ts similarity index 100% rename from src/models/entities/gallery-like.ts rename to packages/backend/src/models/entities/gallery-like.ts diff --git a/src/models/entities/gallery-post.ts b/packages/backend/src/models/entities/gallery-post.ts similarity index 100% rename from src/models/entities/gallery-post.ts rename to packages/backend/src/models/entities/gallery-post.ts diff --git a/src/models/entities/games/reversi/game.ts b/packages/backend/src/models/entities/games/reversi/game.ts similarity index 100% rename from src/models/entities/games/reversi/game.ts rename to packages/backend/src/models/entities/games/reversi/game.ts diff --git a/src/models/entities/games/reversi/matching.ts b/packages/backend/src/models/entities/games/reversi/matching.ts similarity index 100% rename from src/models/entities/games/reversi/matching.ts rename to packages/backend/src/models/entities/games/reversi/matching.ts diff --git a/src/models/entities/hashtag.ts b/packages/backend/src/models/entities/hashtag.ts similarity index 100% rename from src/models/entities/hashtag.ts rename to packages/backend/src/models/entities/hashtag.ts diff --git a/src/models/entities/instance.ts b/packages/backend/src/models/entities/instance.ts similarity index 100% rename from src/models/entities/instance.ts rename to packages/backend/src/models/entities/instance.ts diff --git a/src/models/entities/messaging-message.ts b/packages/backend/src/models/entities/messaging-message.ts similarity index 100% rename from src/models/entities/messaging-message.ts rename to packages/backend/src/models/entities/messaging-message.ts diff --git a/src/models/entities/meta.ts b/packages/backend/src/models/entities/meta.ts similarity index 100% rename from src/models/entities/meta.ts rename to packages/backend/src/models/entities/meta.ts diff --git a/src/models/entities/moderation-log.ts b/packages/backend/src/models/entities/moderation-log.ts similarity index 100% rename from src/models/entities/moderation-log.ts rename to packages/backend/src/models/entities/moderation-log.ts diff --git a/src/models/entities/muted-note.ts b/packages/backend/src/models/entities/muted-note.ts similarity index 100% rename from src/models/entities/muted-note.ts rename to packages/backend/src/models/entities/muted-note.ts diff --git a/src/models/entities/muting.ts b/packages/backend/src/models/entities/muting.ts similarity index 100% rename from src/models/entities/muting.ts rename to packages/backend/src/models/entities/muting.ts diff --git a/src/models/entities/note-favorite.ts b/packages/backend/src/models/entities/note-favorite.ts similarity index 100% rename from src/models/entities/note-favorite.ts rename to packages/backend/src/models/entities/note-favorite.ts diff --git a/src/models/entities/note-reaction.ts b/packages/backend/src/models/entities/note-reaction.ts similarity index 100% rename from src/models/entities/note-reaction.ts rename to packages/backend/src/models/entities/note-reaction.ts diff --git a/src/models/entities/note-thread-muting.ts b/packages/backend/src/models/entities/note-thread-muting.ts similarity index 100% rename from src/models/entities/note-thread-muting.ts rename to packages/backend/src/models/entities/note-thread-muting.ts diff --git a/src/models/entities/note-unread.ts b/packages/backend/src/models/entities/note-unread.ts similarity index 100% rename from src/models/entities/note-unread.ts rename to packages/backend/src/models/entities/note-unread.ts diff --git a/src/models/entities/note-watching.ts b/packages/backend/src/models/entities/note-watching.ts similarity index 100% rename from src/models/entities/note-watching.ts rename to packages/backend/src/models/entities/note-watching.ts diff --git a/src/models/entities/note.ts b/packages/backend/src/models/entities/note.ts similarity index 100% rename from src/models/entities/note.ts rename to packages/backend/src/models/entities/note.ts diff --git a/src/models/entities/notification.ts b/packages/backend/src/models/entities/notification.ts similarity index 100% rename from src/models/entities/notification.ts rename to packages/backend/src/models/entities/notification.ts diff --git a/src/models/entities/page-like.ts b/packages/backend/src/models/entities/page-like.ts similarity index 100% rename from src/models/entities/page-like.ts rename to packages/backend/src/models/entities/page-like.ts diff --git a/src/models/entities/page.ts b/packages/backend/src/models/entities/page.ts similarity index 100% rename from src/models/entities/page.ts rename to packages/backend/src/models/entities/page.ts diff --git a/src/models/entities/password-reset-request.ts b/packages/backend/src/models/entities/password-reset-request.ts similarity index 100% rename from src/models/entities/password-reset-request.ts rename to packages/backend/src/models/entities/password-reset-request.ts diff --git a/src/models/entities/poll-vote.ts b/packages/backend/src/models/entities/poll-vote.ts similarity index 100% rename from src/models/entities/poll-vote.ts rename to packages/backend/src/models/entities/poll-vote.ts diff --git a/src/models/entities/poll.ts b/packages/backend/src/models/entities/poll.ts similarity index 100% rename from src/models/entities/poll.ts rename to packages/backend/src/models/entities/poll.ts diff --git a/src/models/entities/promo-note.ts b/packages/backend/src/models/entities/promo-note.ts similarity index 100% rename from src/models/entities/promo-note.ts rename to packages/backend/src/models/entities/promo-note.ts diff --git a/src/models/entities/promo-read.ts b/packages/backend/src/models/entities/promo-read.ts similarity index 100% rename from src/models/entities/promo-read.ts rename to packages/backend/src/models/entities/promo-read.ts diff --git a/src/models/entities/registration-tickets.ts b/packages/backend/src/models/entities/registration-tickets.ts similarity index 100% rename from src/models/entities/registration-tickets.ts rename to packages/backend/src/models/entities/registration-tickets.ts diff --git a/src/models/entities/registry-item.ts b/packages/backend/src/models/entities/registry-item.ts similarity index 100% rename from src/models/entities/registry-item.ts rename to packages/backend/src/models/entities/registry-item.ts diff --git a/src/models/entities/relay.ts b/packages/backend/src/models/entities/relay.ts similarity index 100% rename from src/models/entities/relay.ts rename to packages/backend/src/models/entities/relay.ts diff --git a/src/models/entities/signin.ts b/packages/backend/src/models/entities/signin.ts similarity index 100% rename from src/models/entities/signin.ts rename to packages/backend/src/models/entities/signin.ts diff --git a/src/models/entities/sw-subscription.ts b/packages/backend/src/models/entities/sw-subscription.ts similarity index 100% rename from src/models/entities/sw-subscription.ts rename to packages/backend/src/models/entities/sw-subscription.ts diff --git a/src/models/entities/used-username.ts b/packages/backend/src/models/entities/used-username.ts similarity index 100% rename from src/models/entities/used-username.ts rename to packages/backend/src/models/entities/used-username.ts diff --git a/src/models/entities/user-group-invitation.ts b/packages/backend/src/models/entities/user-group-invitation.ts similarity index 100% rename from src/models/entities/user-group-invitation.ts rename to packages/backend/src/models/entities/user-group-invitation.ts diff --git a/src/models/entities/user-group-joining.ts b/packages/backend/src/models/entities/user-group-joining.ts similarity index 100% rename from src/models/entities/user-group-joining.ts rename to packages/backend/src/models/entities/user-group-joining.ts diff --git a/src/models/entities/user-group.ts b/packages/backend/src/models/entities/user-group.ts similarity index 100% rename from src/models/entities/user-group.ts rename to packages/backend/src/models/entities/user-group.ts diff --git a/src/models/entities/user-keypair.ts b/packages/backend/src/models/entities/user-keypair.ts similarity index 100% rename from src/models/entities/user-keypair.ts rename to packages/backend/src/models/entities/user-keypair.ts diff --git a/src/models/entities/user-list-joining.ts b/packages/backend/src/models/entities/user-list-joining.ts similarity index 100% rename from src/models/entities/user-list-joining.ts rename to packages/backend/src/models/entities/user-list-joining.ts diff --git a/src/models/entities/user-list.ts b/packages/backend/src/models/entities/user-list.ts similarity index 100% rename from src/models/entities/user-list.ts rename to packages/backend/src/models/entities/user-list.ts diff --git a/src/models/entities/user-note-pining.ts b/packages/backend/src/models/entities/user-note-pining.ts similarity index 100% rename from src/models/entities/user-note-pining.ts rename to packages/backend/src/models/entities/user-note-pining.ts diff --git a/src/models/entities/user-pending.ts b/packages/backend/src/models/entities/user-pending.ts similarity index 100% rename from src/models/entities/user-pending.ts rename to packages/backend/src/models/entities/user-pending.ts diff --git a/src/models/entities/user-profile.ts b/packages/backend/src/models/entities/user-profile.ts similarity index 100% rename from src/models/entities/user-profile.ts rename to packages/backend/src/models/entities/user-profile.ts diff --git a/src/models/entities/user-publickey.ts b/packages/backend/src/models/entities/user-publickey.ts similarity index 100% rename from src/models/entities/user-publickey.ts rename to packages/backend/src/models/entities/user-publickey.ts diff --git a/src/models/entities/user-security-key.ts b/packages/backend/src/models/entities/user-security-key.ts similarity index 100% rename from src/models/entities/user-security-key.ts rename to packages/backend/src/models/entities/user-security-key.ts diff --git a/src/models/entities/user.ts b/packages/backend/src/models/entities/user.ts similarity index 100% rename from src/models/entities/user.ts rename to packages/backend/src/models/entities/user.ts diff --git a/src/models/id.ts b/packages/backend/src/models/id.ts similarity index 100% rename from src/models/id.ts rename to packages/backend/src/models/id.ts diff --git a/src/models/index.ts b/packages/backend/src/models/index.ts similarity index 100% rename from src/models/index.ts rename to packages/backend/src/models/index.ts diff --git a/src/models/repositories/abuse-user-report.ts b/packages/backend/src/models/repositories/abuse-user-report.ts similarity index 100% rename from src/models/repositories/abuse-user-report.ts rename to packages/backend/src/models/repositories/abuse-user-report.ts diff --git a/src/models/repositories/antenna.ts b/packages/backend/src/models/repositories/antenna.ts similarity index 100% rename from src/models/repositories/antenna.ts rename to packages/backend/src/models/repositories/antenna.ts diff --git a/src/models/repositories/app.ts b/packages/backend/src/models/repositories/app.ts similarity index 100% rename from src/models/repositories/app.ts rename to packages/backend/src/models/repositories/app.ts diff --git a/src/models/repositories/auth-session.ts b/packages/backend/src/models/repositories/auth-session.ts similarity index 100% rename from src/models/repositories/auth-session.ts rename to packages/backend/src/models/repositories/auth-session.ts diff --git a/src/models/repositories/blocking.ts b/packages/backend/src/models/repositories/blocking.ts similarity index 100% rename from src/models/repositories/blocking.ts rename to packages/backend/src/models/repositories/blocking.ts diff --git a/src/models/repositories/channel.ts b/packages/backend/src/models/repositories/channel.ts similarity index 100% rename from src/models/repositories/channel.ts rename to packages/backend/src/models/repositories/channel.ts diff --git a/src/models/repositories/clip.ts b/packages/backend/src/models/repositories/clip.ts similarity index 100% rename from src/models/repositories/clip.ts rename to packages/backend/src/models/repositories/clip.ts diff --git a/src/models/repositories/drive-file.ts b/packages/backend/src/models/repositories/drive-file.ts similarity index 100% rename from src/models/repositories/drive-file.ts rename to packages/backend/src/models/repositories/drive-file.ts diff --git a/src/models/repositories/drive-folder.ts b/packages/backend/src/models/repositories/drive-folder.ts similarity index 100% rename from src/models/repositories/drive-folder.ts rename to packages/backend/src/models/repositories/drive-folder.ts diff --git a/src/models/repositories/emoji.ts b/packages/backend/src/models/repositories/emoji.ts similarity index 100% rename from src/models/repositories/emoji.ts rename to packages/backend/src/models/repositories/emoji.ts diff --git a/src/models/repositories/federation-instance.ts b/packages/backend/src/models/repositories/federation-instance.ts similarity index 100% rename from src/models/repositories/federation-instance.ts rename to packages/backend/src/models/repositories/federation-instance.ts diff --git a/src/models/repositories/follow-request.ts b/packages/backend/src/models/repositories/follow-request.ts similarity index 100% rename from src/models/repositories/follow-request.ts rename to packages/backend/src/models/repositories/follow-request.ts diff --git a/src/models/repositories/following.ts b/packages/backend/src/models/repositories/following.ts similarity index 100% rename from src/models/repositories/following.ts rename to packages/backend/src/models/repositories/following.ts diff --git a/src/models/repositories/gallery-like.ts b/packages/backend/src/models/repositories/gallery-like.ts similarity index 100% rename from src/models/repositories/gallery-like.ts rename to packages/backend/src/models/repositories/gallery-like.ts diff --git a/src/models/repositories/gallery-post.ts b/packages/backend/src/models/repositories/gallery-post.ts similarity index 100% rename from src/models/repositories/gallery-post.ts rename to packages/backend/src/models/repositories/gallery-post.ts diff --git a/src/models/repositories/games/reversi/game.ts b/packages/backend/src/models/repositories/games/reversi/game.ts similarity index 100% rename from src/models/repositories/games/reversi/game.ts rename to packages/backend/src/models/repositories/games/reversi/game.ts diff --git a/src/models/repositories/games/reversi/matching.ts b/packages/backend/src/models/repositories/games/reversi/matching.ts similarity index 100% rename from src/models/repositories/games/reversi/matching.ts rename to packages/backend/src/models/repositories/games/reversi/matching.ts diff --git a/src/models/repositories/hashtag.ts b/packages/backend/src/models/repositories/hashtag.ts similarity index 100% rename from src/models/repositories/hashtag.ts rename to packages/backend/src/models/repositories/hashtag.ts diff --git a/src/models/repositories/messaging-message.ts b/packages/backend/src/models/repositories/messaging-message.ts similarity index 100% rename from src/models/repositories/messaging-message.ts rename to packages/backend/src/models/repositories/messaging-message.ts diff --git a/src/models/repositories/moderation-logs.ts b/packages/backend/src/models/repositories/moderation-logs.ts similarity index 100% rename from src/models/repositories/moderation-logs.ts rename to packages/backend/src/models/repositories/moderation-logs.ts diff --git a/src/models/repositories/muting.ts b/packages/backend/src/models/repositories/muting.ts similarity index 100% rename from src/models/repositories/muting.ts rename to packages/backend/src/models/repositories/muting.ts diff --git a/src/models/repositories/note-favorite.ts b/packages/backend/src/models/repositories/note-favorite.ts similarity index 100% rename from src/models/repositories/note-favorite.ts rename to packages/backend/src/models/repositories/note-favorite.ts diff --git a/src/models/repositories/note-reaction.ts b/packages/backend/src/models/repositories/note-reaction.ts similarity index 100% rename from src/models/repositories/note-reaction.ts rename to packages/backend/src/models/repositories/note-reaction.ts diff --git a/src/models/repositories/note.ts b/packages/backend/src/models/repositories/note.ts similarity index 100% rename from src/models/repositories/note.ts rename to packages/backend/src/models/repositories/note.ts diff --git a/src/models/repositories/notification.ts b/packages/backend/src/models/repositories/notification.ts similarity index 100% rename from src/models/repositories/notification.ts rename to packages/backend/src/models/repositories/notification.ts diff --git a/src/models/repositories/page-like.ts b/packages/backend/src/models/repositories/page-like.ts similarity index 100% rename from src/models/repositories/page-like.ts rename to packages/backend/src/models/repositories/page-like.ts diff --git a/src/models/repositories/page.ts b/packages/backend/src/models/repositories/page.ts similarity index 100% rename from src/models/repositories/page.ts rename to packages/backend/src/models/repositories/page.ts diff --git a/src/models/repositories/queue.ts b/packages/backend/src/models/repositories/queue.ts similarity index 100% rename from src/models/repositories/queue.ts rename to packages/backend/src/models/repositories/queue.ts diff --git a/src/models/repositories/relay.ts b/packages/backend/src/models/repositories/relay.ts similarity index 100% rename from src/models/repositories/relay.ts rename to packages/backend/src/models/repositories/relay.ts diff --git a/src/models/repositories/signin.ts b/packages/backend/src/models/repositories/signin.ts similarity index 100% rename from src/models/repositories/signin.ts rename to packages/backend/src/models/repositories/signin.ts diff --git a/src/models/repositories/user-group-invitation.ts b/packages/backend/src/models/repositories/user-group-invitation.ts similarity index 100% rename from src/models/repositories/user-group-invitation.ts rename to packages/backend/src/models/repositories/user-group-invitation.ts diff --git a/src/models/repositories/user-group.ts b/packages/backend/src/models/repositories/user-group.ts similarity index 100% rename from src/models/repositories/user-group.ts rename to packages/backend/src/models/repositories/user-group.ts diff --git a/src/models/repositories/user-list.ts b/packages/backend/src/models/repositories/user-list.ts similarity index 100% rename from src/models/repositories/user-list.ts rename to packages/backend/src/models/repositories/user-list.ts diff --git a/src/models/repositories/user.ts b/packages/backend/src/models/repositories/user.ts similarity index 100% rename from src/models/repositories/user.ts rename to packages/backend/src/models/repositories/user.ts diff --git a/src/prelude/README.md b/packages/backend/src/prelude/README.md similarity index 100% rename from src/prelude/README.md rename to packages/backend/src/prelude/README.md diff --git a/src/prelude/array.ts b/packages/backend/src/prelude/array.ts similarity index 100% rename from src/prelude/array.ts rename to packages/backend/src/prelude/array.ts diff --git a/src/prelude/await-all.ts b/packages/backend/src/prelude/await-all.ts similarity index 100% rename from src/prelude/await-all.ts rename to packages/backend/src/prelude/await-all.ts diff --git a/src/prelude/math.ts b/packages/backend/src/prelude/math.ts similarity index 100% rename from src/prelude/math.ts rename to packages/backend/src/prelude/math.ts diff --git a/src/prelude/maybe.ts b/packages/backend/src/prelude/maybe.ts similarity index 100% rename from src/prelude/maybe.ts rename to packages/backend/src/prelude/maybe.ts diff --git a/src/prelude/relation.ts b/packages/backend/src/prelude/relation.ts similarity index 100% rename from src/prelude/relation.ts rename to packages/backend/src/prelude/relation.ts diff --git a/src/prelude/string.ts b/packages/backend/src/prelude/string.ts similarity index 100% rename from src/prelude/string.ts rename to packages/backend/src/prelude/string.ts diff --git a/src/prelude/symbol.ts b/packages/backend/src/prelude/symbol.ts similarity index 100% rename from src/prelude/symbol.ts rename to packages/backend/src/prelude/symbol.ts diff --git a/src/prelude/time.ts b/packages/backend/src/prelude/time.ts similarity index 100% rename from src/prelude/time.ts rename to packages/backend/src/prelude/time.ts diff --git a/src/prelude/url.ts b/packages/backend/src/prelude/url.ts similarity index 100% rename from src/prelude/url.ts rename to packages/backend/src/prelude/url.ts diff --git a/src/prelude/xml.ts b/packages/backend/src/prelude/xml.ts similarity index 100% rename from src/prelude/xml.ts rename to packages/backend/src/prelude/xml.ts diff --git a/src/queue/get-job-info.ts b/packages/backend/src/queue/get-job-info.ts similarity index 100% rename from src/queue/get-job-info.ts rename to packages/backend/src/queue/get-job-info.ts diff --git a/src/queue/index.ts b/packages/backend/src/queue/index.ts similarity index 100% rename from src/queue/index.ts rename to packages/backend/src/queue/index.ts diff --git a/src/queue/initialize.ts b/packages/backend/src/queue/initialize.ts similarity index 100% rename from src/queue/initialize.ts rename to packages/backend/src/queue/initialize.ts diff --git a/src/queue/logger.ts b/packages/backend/src/queue/logger.ts similarity index 100% rename from src/queue/logger.ts rename to packages/backend/src/queue/logger.ts diff --git a/src/queue/processors/db/delete-account.ts b/packages/backend/src/queue/processors/db/delete-account.ts similarity index 100% rename from src/queue/processors/db/delete-account.ts rename to packages/backend/src/queue/processors/db/delete-account.ts diff --git a/src/queue/processors/db/delete-drive-files.ts b/packages/backend/src/queue/processors/db/delete-drive-files.ts similarity index 100% rename from src/queue/processors/db/delete-drive-files.ts rename to packages/backend/src/queue/processors/db/delete-drive-files.ts diff --git a/src/queue/processors/db/export-blocking.ts b/packages/backend/src/queue/processors/db/export-blocking.ts similarity index 100% rename from src/queue/processors/db/export-blocking.ts rename to packages/backend/src/queue/processors/db/export-blocking.ts diff --git a/src/queue/processors/db/export-following.ts b/packages/backend/src/queue/processors/db/export-following.ts similarity index 100% rename from src/queue/processors/db/export-following.ts rename to packages/backend/src/queue/processors/db/export-following.ts diff --git a/src/queue/processors/db/export-mute.ts b/packages/backend/src/queue/processors/db/export-mute.ts similarity index 100% rename from src/queue/processors/db/export-mute.ts rename to packages/backend/src/queue/processors/db/export-mute.ts diff --git a/src/queue/processors/db/export-notes.ts b/packages/backend/src/queue/processors/db/export-notes.ts similarity index 100% rename from src/queue/processors/db/export-notes.ts rename to packages/backend/src/queue/processors/db/export-notes.ts diff --git a/src/queue/processors/db/export-user-lists.ts b/packages/backend/src/queue/processors/db/export-user-lists.ts similarity index 100% rename from src/queue/processors/db/export-user-lists.ts rename to packages/backend/src/queue/processors/db/export-user-lists.ts diff --git a/src/queue/processors/db/import-blocking.ts b/packages/backend/src/queue/processors/db/import-blocking.ts similarity index 94% rename from src/queue/processors/db/import-blocking.ts rename to packages/backend/src/queue/processors/db/import-blocking.ts index 9951da669..2e7710703 100644 --- a/src/queue/processors/db/import-blocking.ts +++ b/packages/backend/src/queue/processors/db/import-blocking.ts @@ -1,7 +1,7 @@ import * as Bull from 'bull'; import { queueLogger } from '../../logger'; -import { parseAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; import { resolveUser } from '@/remote/resolve-user'; import { downloadTextFile } from '@/misc/download-text-file'; import { isSelfHost, toPuny } from '@/misc/convert-host'; @@ -37,7 +37,7 @@ export async function importBlocking(job: Bull.Job, done: a try { const acct = line.split(',')[0].trim(); - const { username, host } = parseAcct(acct); + const { username, host } = Acct.parse(acct); let target = isSelfHost(host!) ? await Users.findOne({ host: null, diff --git a/src/queue/processors/db/import-following.ts b/packages/backend/src/queue/processors/db/import-following.ts similarity index 94% rename from src/queue/processors/db/import-following.ts rename to packages/backend/src/queue/processors/db/import-following.ts index 3d7b7ea40..2bd079e4b 100644 --- a/src/queue/processors/db/import-following.ts +++ b/packages/backend/src/queue/processors/db/import-following.ts @@ -2,7 +2,7 @@ import * as Bull from 'bull'; import { queueLogger } from '../../logger'; import follow from '@/services/following/create'; -import { parseAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; import { resolveUser } from '@/remote/resolve-user'; import { downloadTextFile } from '@/misc/download-text-file'; import { isSelfHost, toPuny } from '@/misc/convert-host'; @@ -37,7 +37,7 @@ export async function importFollowing(job: Bull.Job, done: try { const acct = line.split(',')[0].trim(); - const { username, host } = parseAcct(acct); + const { username, host } = Acct.parse(acct); let target = isSelfHost(host!) ? await Users.findOne({ host: null, diff --git a/src/queue/processors/db/import-muting.ts b/packages/backend/src/queue/processors/db/import-muting.ts similarity index 95% rename from src/queue/processors/db/import-muting.ts rename to packages/backend/src/queue/processors/db/import-muting.ts index 798f03a62..806098062 100644 --- a/src/queue/processors/db/import-muting.ts +++ b/packages/backend/src/queue/processors/db/import-muting.ts @@ -1,7 +1,7 @@ import * as Bull from 'bull'; import { queueLogger } from '../../logger'; -import { parseAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; import { resolveUser } from '@/remote/resolve-user'; import { downloadTextFile } from '@/misc/download-text-file'; import { isSelfHost, toPuny } from '@/misc/convert-host'; @@ -38,7 +38,7 @@ export async function importMuting(job: Bull.Job, done: any try { const acct = line.split(',')[0].trim(); - const { username, host } = parseAcct(acct); + const { username, host } = Acct.parse(acct); let target = isSelfHost(host!) ? await Users.findOne({ host: null, diff --git a/src/queue/processors/db/import-user-lists.ts b/packages/backend/src/queue/processors/db/import-user-lists.ts similarity index 94% rename from src/queue/processors/db/import-user-lists.ts rename to packages/backend/src/queue/processors/db/import-user-lists.ts index 3b8c13262..46b728b38 100644 --- a/src/queue/processors/db/import-user-lists.ts +++ b/packages/backend/src/queue/processors/db/import-user-lists.ts @@ -1,7 +1,7 @@ import * as Bull from 'bull'; import { queueLogger } from '../../logger'; -import { parseAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; import { resolveUser } from '@/remote/resolve-user'; import { pushUserToUserList } from '@/services/user-list/push'; import { downloadTextFile } from '@/misc/download-text-file'; @@ -38,7 +38,7 @@ export async function importUserLists(job: Bull.Job, done: try { const listName = line.split(',')[0].trim(); - const { username, host } = parseAcct(line.split(',')[1].trim()); + const { username, host } = Acct.parse(line.split(',')[1].trim()); let list = await UserLists.findOne({ userId: user.id, diff --git a/src/queue/processors/db/index.ts b/packages/backend/src/queue/processors/db/index.ts similarity index 100% rename from src/queue/processors/db/index.ts rename to packages/backend/src/queue/processors/db/index.ts diff --git a/src/queue/processors/deliver.ts b/packages/backend/src/queue/processors/deliver.ts similarity index 100% rename from src/queue/processors/deliver.ts rename to packages/backend/src/queue/processors/deliver.ts diff --git a/src/queue/processors/inbox.ts b/packages/backend/src/queue/processors/inbox.ts similarity index 100% rename from src/queue/processors/inbox.ts rename to packages/backend/src/queue/processors/inbox.ts diff --git a/src/queue/processors/object-storage/clean-remote-files.ts b/packages/backend/src/queue/processors/object-storage/clean-remote-files.ts similarity index 100% rename from src/queue/processors/object-storage/clean-remote-files.ts rename to packages/backend/src/queue/processors/object-storage/clean-remote-files.ts diff --git a/src/queue/processors/object-storage/delete-file.ts b/packages/backend/src/queue/processors/object-storage/delete-file.ts similarity index 100% rename from src/queue/processors/object-storage/delete-file.ts rename to packages/backend/src/queue/processors/object-storage/delete-file.ts diff --git a/src/queue/processors/object-storage/index.ts b/packages/backend/src/queue/processors/object-storage/index.ts similarity index 100% rename from src/queue/processors/object-storage/index.ts rename to packages/backend/src/queue/processors/object-storage/index.ts diff --git a/src/queue/processors/system/index.ts b/packages/backend/src/queue/processors/system/index.ts similarity index 100% rename from src/queue/processors/system/index.ts rename to packages/backend/src/queue/processors/system/index.ts diff --git a/src/queue/processors/system/resync-charts.ts b/packages/backend/src/queue/processors/system/resync-charts.ts similarity index 100% rename from src/queue/processors/system/resync-charts.ts rename to packages/backend/src/queue/processors/system/resync-charts.ts diff --git a/src/queue/queues.ts b/packages/backend/src/queue/queues.ts similarity index 100% rename from src/queue/queues.ts rename to packages/backend/src/queue/queues.ts diff --git a/src/queue/types.ts b/packages/backend/src/queue/types.ts similarity index 100% rename from src/queue/types.ts rename to packages/backend/src/queue/types.ts diff --git a/src/remote/activitypub/ap-request.ts b/packages/backend/src/remote/activitypub/ap-request.ts similarity index 100% rename from src/remote/activitypub/ap-request.ts rename to packages/backend/src/remote/activitypub/ap-request.ts diff --git a/src/remote/activitypub/audience.ts b/packages/backend/src/remote/activitypub/audience.ts similarity index 100% rename from src/remote/activitypub/audience.ts rename to packages/backend/src/remote/activitypub/audience.ts diff --git a/src/remote/activitypub/db-resolver.ts b/packages/backend/src/remote/activitypub/db-resolver.ts similarity index 100% rename from src/remote/activitypub/db-resolver.ts rename to packages/backend/src/remote/activitypub/db-resolver.ts diff --git a/src/remote/activitypub/deliver-manager.ts b/packages/backend/src/remote/activitypub/deliver-manager.ts similarity index 100% rename from src/remote/activitypub/deliver-manager.ts rename to packages/backend/src/remote/activitypub/deliver-manager.ts diff --git a/src/remote/activitypub/kernel/accept/follow.ts b/packages/backend/src/remote/activitypub/kernel/accept/follow.ts similarity index 100% rename from src/remote/activitypub/kernel/accept/follow.ts rename to packages/backend/src/remote/activitypub/kernel/accept/follow.ts diff --git a/src/remote/activitypub/kernel/accept/index.ts b/packages/backend/src/remote/activitypub/kernel/accept/index.ts similarity index 100% rename from src/remote/activitypub/kernel/accept/index.ts rename to packages/backend/src/remote/activitypub/kernel/accept/index.ts diff --git a/src/remote/activitypub/kernel/add/index.ts b/packages/backend/src/remote/activitypub/kernel/add/index.ts similarity index 100% rename from src/remote/activitypub/kernel/add/index.ts rename to packages/backend/src/remote/activitypub/kernel/add/index.ts diff --git a/src/remote/activitypub/kernel/announce/index.ts b/packages/backend/src/remote/activitypub/kernel/announce/index.ts similarity index 100% rename from src/remote/activitypub/kernel/announce/index.ts rename to packages/backend/src/remote/activitypub/kernel/announce/index.ts diff --git a/src/remote/activitypub/kernel/announce/note.ts b/packages/backend/src/remote/activitypub/kernel/announce/note.ts similarity index 100% rename from src/remote/activitypub/kernel/announce/note.ts rename to packages/backend/src/remote/activitypub/kernel/announce/note.ts diff --git a/src/remote/activitypub/kernel/block/index.ts b/packages/backend/src/remote/activitypub/kernel/block/index.ts similarity index 100% rename from src/remote/activitypub/kernel/block/index.ts rename to packages/backend/src/remote/activitypub/kernel/block/index.ts diff --git a/src/remote/activitypub/kernel/create/index.ts b/packages/backend/src/remote/activitypub/kernel/create/index.ts similarity index 100% rename from src/remote/activitypub/kernel/create/index.ts rename to packages/backend/src/remote/activitypub/kernel/create/index.ts diff --git a/src/remote/activitypub/kernel/create/note.ts b/packages/backend/src/remote/activitypub/kernel/create/note.ts similarity index 100% rename from src/remote/activitypub/kernel/create/note.ts rename to packages/backend/src/remote/activitypub/kernel/create/note.ts diff --git a/src/remote/activitypub/kernel/delete/actor.ts b/packages/backend/src/remote/activitypub/kernel/delete/actor.ts similarity index 100% rename from src/remote/activitypub/kernel/delete/actor.ts rename to packages/backend/src/remote/activitypub/kernel/delete/actor.ts diff --git a/src/remote/activitypub/kernel/delete/index.ts b/packages/backend/src/remote/activitypub/kernel/delete/index.ts similarity index 100% rename from src/remote/activitypub/kernel/delete/index.ts rename to packages/backend/src/remote/activitypub/kernel/delete/index.ts diff --git a/src/remote/activitypub/kernel/delete/note.ts b/packages/backend/src/remote/activitypub/kernel/delete/note.ts similarity index 100% rename from src/remote/activitypub/kernel/delete/note.ts rename to packages/backend/src/remote/activitypub/kernel/delete/note.ts diff --git a/src/remote/activitypub/kernel/flag/index.ts b/packages/backend/src/remote/activitypub/kernel/flag/index.ts similarity index 100% rename from src/remote/activitypub/kernel/flag/index.ts rename to packages/backend/src/remote/activitypub/kernel/flag/index.ts diff --git a/src/remote/activitypub/kernel/follow.ts b/packages/backend/src/remote/activitypub/kernel/follow.ts similarity index 100% rename from src/remote/activitypub/kernel/follow.ts rename to packages/backend/src/remote/activitypub/kernel/follow.ts diff --git a/src/remote/activitypub/kernel/index.ts b/packages/backend/src/remote/activitypub/kernel/index.ts similarity index 100% rename from src/remote/activitypub/kernel/index.ts rename to packages/backend/src/remote/activitypub/kernel/index.ts diff --git a/src/remote/activitypub/kernel/like.ts b/packages/backend/src/remote/activitypub/kernel/like.ts similarity index 100% rename from src/remote/activitypub/kernel/like.ts rename to packages/backend/src/remote/activitypub/kernel/like.ts diff --git a/src/remote/activitypub/kernel/move/index.ts b/packages/backend/src/remote/activitypub/kernel/move/index.ts similarity index 100% rename from src/remote/activitypub/kernel/move/index.ts rename to packages/backend/src/remote/activitypub/kernel/move/index.ts diff --git a/src/remote/activitypub/kernel/read.ts b/packages/backend/src/remote/activitypub/kernel/read.ts similarity index 100% rename from src/remote/activitypub/kernel/read.ts rename to packages/backend/src/remote/activitypub/kernel/read.ts diff --git a/src/remote/activitypub/kernel/reject/follow.ts b/packages/backend/src/remote/activitypub/kernel/reject/follow.ts similarity index 100% rename from src/remote/activitypub/kernel/reject/follow.ts rename to packages/backend/src/remote/activitypub/kernel/reject/follow.ts diff --git a/src/remote/activitypub/kernel/reject/index.ts b/packages/backend/src/remote/activitypub/kernel/reject/index.ts similarity index 100% rename from src/remote/activitypub/kernel/reject/index.ts rename to packages/backend/src/remote/activitypub/kernel/reject/index.ts diff --git a/src/remote/activitypub/kernel/remove/index.ts b/packages/backend/src/remote/activitypub/kernel/remove/index.ts similarity index 100% rename from src/remote/activitypub/kernel/remove/index.ts rename to packages/backend/src/remote/activitypub/kernel/remove/index.ts diff --git a/src/remote/activitypub/kernel/undo/announce.ts b/packages/backend/src/remote/activitypub/kernel/undo/announce.ts similarity index 100% rename from src/remote/activitypub/kernel/undo/announce.ts rename to packages/backend/src/remote/activitypub/kernel/undo/announce.ts diff --git a/src/remote/activitypub/kernel/undo/block.ts b/packages/backend/src/remote/activitypub/kernel/undo/block.ts similarity index 100% rename from src/remote/activitypub/kernel/undo/block.ts rename to packages/backend/src/remote/activitypub/kernel/undo/block.ts diff --git a/src/remote/activitypub/kernel/undo/follow.ts b/packages/backend/src/remote/activitypub/kernel/undo/follow.ts similarity index 100% rename from src/remote/activitypub/kernel/undo/follow.ts rename to packages/backend/src/remote/activitypub/kernel/undo/follow.ts diff --git a/src/remote/activitypub/kernel/undo/index.ts b/packages/backend/src/remote/activitypub/kernel/undo/index.ts similarity index 100% rename from src/remote/activitypub/kernel/undo/index.ts rename to packages/backend/src/remote/activitypub/kernel/undo/index.ts diff --git a/src/remote/activitypub/kernel/undo/like.ts b/packages/backend/src/remote/activitypub/kernel/undo/like.ts similarity index 100% rename from src/remote/activitypub/kernel/undo/like.ts rename to packages/backend/src/remote/activitypub/kernel/undo/like.ts diff --git a/src/remote/activitypub/kernel/update/index.ts b/packages/backend/src/remote/activitypub/kernel/update/index.ts similarity index 100% rename from src/remote/activitypub/kernel/update/index.ts rename to packages/backend/src/remote/activitypub/kernel/update/index.ts diff --git a/src/remote/activitypub/logger.ts b/packages/backend/src/remote/activitypub/logger.ts similarity index 100% rename from src/remote/activitypub/logger.ts rename to packages/backend/src/remote/activitypub/logger.ts diff --git a/src/remote/activitypub/misc/contexts.ts b/packages/backend/src/remote/activitypub/misc/contexts.ts similarity index 100% rename from src/remote/activitypub/misc/contexts.ts rename to packages/backend/src/remote/activitypub/misc/contexts.ts diff --git a/src/remote/activitypub/misc/get-note-html.ts b/packages/backend/src/remote/activitypub/misc/get-note-html.ts similarity index 57% rename from src/remote/activitypub/misc/get-note-html.ts rename to packages/backend/src/remote/activitypub/misc/get-note-html.ts index a24ec43a6..043335a5b 100644 --- a/src/remote/activitypub/misc/get-note-html.ts +++ b/packages/backend/src/remote/activitypub/misc/get-note-html.ts @@ -1,10 +1,9 @@ import * as mfm from 'mfm-js'; -import { fnNameList } from '@/mfm/fn-name-list'; import { Note } from '@/models/entities/note'; import { toHtml } from '../../../mfm/to-html'; export default function(note: Note) { - let html = note.text ? toHtml(mfm.parse(note.text, { fnNameList }), JSON.parse(note.mentionedRemoteUsers)) : null; + let html = note.text ? toHtml(mfm.parse(note.text), JSON.parse(note.mentionedRemoteUsers)) : null; if (html == null) html = '

.

'; return html; diff --git a/src/remote/activitypub/misc/html-to-mfm.ts b/packages/backend/src/remote/activitypub/misc/html-to-mfm.ts similarity index 100% rename from src/remote/activitypub/misc/html-to-mfm.ts rename to packages/backend/src/remote/activitypub/misc/html-to-mfm.ts diff --git a/src/remote/activitypub/misc/ld-signature.ts b/packages/backend/src/remote/activitypub/misc/ld-signature.ts similarity index 100% rename from src/remote/activitypub/misc/ld-signature.ts rename to packages/backend/src/remote/activitypub/misc/ld-signature.ts diff --git a/src/remote/activitypub/models/icon.ts b/packages/backend/src/remote/activitypub/models/icon.ts similarity index 100% rename from src/remote/activitypub/models/icon.ts rename to packages/backend/src/remote/activitypub/models/icon.ts diff --git a/src/remote/activitypub/models/identifier.ts b/packages/backend/src/remote/activitypub/models/identifier.ts similarity index 100% rename from src/remote/activitypub/models/identifier.ts rename to packages/backend/src/remote/activitypub/models/identifier.ts diff --git a/src/remote/activitypub/models/image.ts b/packages/backend/src/remote/activitypub/models/image.ts similarity index 100% rename from src/remote/activitypub/models/image.ts rename to packages/backend/src/remote/activitypub/models/image.ts diff --git a/src/remote/activitypub/models/mention.ts b/packages/backend/src/remote/activitypub/models/mention.ts similarity index 100% rename from src/remote/activitypub/models/mention.ts rename to packages/backend/src/remote/activitypub/models/mention.ts diff --git a/src/remote/activitypub/models/note.ts b/packages/backend/src/remote/activitypub/models/note.ts similarity index 100% rename from src/remote/activitypub/models/note.ts rename to packages/backend/src/remote/activitypub/models/note.ts diff --git a/src/remote/activitypub/models/person.ts b/packages/backend/src/remote/activitypub/models/person.ts similarity index 100% rename from src/remote/activitypub/models/person.ts rename to packages/backend/src/remote/activitypub/models/person.ts diff --git a/src/remote/activitypub/models/question.ts b/packages/backend/src/remote/activitypub/models/question.ts similarity index 100% rename from src/remote/activitypub/models/question.ts rename to packages/backend/src/remote/activitypub/models/question.ts diff --git a/src/remote/activitypub/models/tag.ts b/packages/backend/src/remote/activitypub/models/tag.ts similarity index 100% rename from src/remote/activitypub/models/tag.ts rename to packages/backend/src/remote/activitypub/models/tag.ts diff --git a/src/remote/activitypub/perform.ts b/packages/backend/src/remote/activitypub/perform.ts similarity index 100% rename from src/remote/activitypub/perform.ts rename to packages/backend/src/remote/activitypub/perform.ts diff --git a/src/remote/activitypub/renderer/accept.ts b/packages/backend/src/remote/activitypub/renderer/accept.ts similarity index 100% rename from src/remote/activitypub/renderer/accept.ts rename to packages/backend/src/remote/activitypub/renderer/accept.ts diff --git a/src/remote/activitypub/renderer/add.ts b/packages/backend/src/remote/activitypub/renderer/add.ts similarity index 100% rename from src/remote/activitypub/renderer/add.ts rename to packages/backend/src/remote/activitypub/renderer/add.ts diff --git a/src/remote/activitypub/renderer/announce.ts b/packages/backend/src/remote/activitypub/renderer/announce.ts similarity index 100% rename from src/remote/activitypub/renderer/announce.ts rename to packages/backend/src/remote/activitypub/renderer/announce.ts diff --git a/src/remote/activitypub/renderer/block.ts b/packages/backend/src/remote/activitypub/renderer/block.ts similarity index 100% rename from src/remote/activitypub/renderer/block.ts rename to packages/backend/src/remote/activitypub/renderer/block.ts diff --git a/src/remote/activitypub/renderer/create.ts b/packages/backend/src/remote/activitypub/renderer/create.ts similarity index 100% rename from src/remote/activitypub/renderer/create.ts rename to packages/backend/src/remote/activitypub/renderer/create.ts diff --git a/src/remote/activitypub/renderer/delete.ts b/packages/backend/src/remote/activitypub/renderer/delete.ts similarity index 100% rename from src/remote/activitypub/renderer/delete.ts rename to packages/backend/src/remote/activitypub/renderer/delete.ts diff --git a/src/remote/activitypub/renderer/document.ts b/packages/backend/src/remote/activitypub/renderer/document.ts similarity index 100% rename from src/remote/activitypub/renderer/document.ts rename to packages/backend/src/remote/activitypub/renderer/document.ts diff --git a/src/remote/activitypub/renderer/emoji.ts b/packages/backend/src/remote/activitypub/renderer/emoji.ts similarity index 100% rename from src/remote/activitypub/renderer/emoji.ts rename to packages/backend/src/remote/activitypub/renderer/emoji.ts diff --git a/src/remote/activitypub/renderer/follow-relay.ts b/packages/backend/src/remote/activitypub/renderer/follow-relay.ts similarity index 100% rename from src/remote/activitypub/renderer/follow-relay.ts rename to packages/backend/src/remote/activitypub/renderer/follow-relay.ts diff --git a/src/remote/activitypub/renderer/follow-user.ts b/packages/backend/src/remote/activitypub/renderer/follow-user.ts similarity index 100% rename from src/remote/activitypub/renderer/follow-user.ts rename to packages/backend/src/remote/activitypub/renderer/follow-user.ts diff --git a/src/remote/activitypub/renderer/follow.ts b/packages/backend/src/remote/activitypub/renderer/follow.ts similarity index 100% rename from src/remote/activitypub/renderer/follow.ts rename to packages/backend/src/remote/activitypub/renderer/follow.ts diff --git a/src/remote/activitypub/renderer/hashtag.ts b/packages/backend/src/remote/activitypub/renderer/hashtag.ts similarity index 100% rename from src/remote/activitypub/renderer/hashtag.ts rename to packages/backend/src/remote/activitypub/renderer/hashtag.ts diff --git a/src/remote/activitypub/renderer/image.ts b/packages/backend/src/remote/activitypub/renderer/image.ts similarity index 100% rename from src/remote/activitypub/renderer/image.ts rename to packages/backend/src/remote/activitypub/renderer/image.ts diff --git a/src/remote/activitypub/renderer/index.ts b/packages/backend/src/remote/activitypub/renderer/index.ts similarity index 100% rename from src/remote/activitypub/renderer/index.ts rename to packages/backend/src/remote/activitypub/renderer/index.ts diff --git a/src/remote/activitypub/renderer/key.ts b/packages/backend/src/remote/activitypub/renderer/key.ts similarity index 100% rename from src/remote/activitypub/renderer/key.ts rename to packages/backend/src/remote/activitypub/renderer/key.ts diff --git a/src/remote/activitypub/renderer/like.ts b/packages/backend/src/remote/activitypub/renderer/like.ts similarity index 100% rename from src/remote/activitypub/renderer/like.ts rename to packages/backend/src/remote/activitypub/renderer/like.ts diff --git a/src/remote/activitypub/renderer/mention.ts b/packages/backend/src/remote/activitypub/renderer/mention.ts similarity index 100% rename from src/remote/activitypub/renderer/mention.ts rename to packages/backend/src/remote/activitypub/renderer/mention.ts diff --git a/src/remote/activitypub/renderer/note.ts b/packages/backend/src/remote/activitypub/renderer/note.ts similarity index 100% rename from src/remote/activitypub/renderer/note.ts rename to packages/backend/src/remote/activitypub/renderer/note.ts diff --git a/src/remote/activitypub/renderer/ordered-collection-page.ts b/packages/backend/src/remote/activitypub/renderer/ordered-collection-page.ts similarity index 100% rename from src/remote/activitypub/renderer/ordered-collection-page.ts rename to packages/backend/src/remote/activitypub/renderer/ordered-collection-page.ts diff --git a/src/remote/activitypub/renderer/ordered-collection.ts b/packages/backend/src/remote/activitypub/renderer/ordered-collection.ts similarity index 100% rename from src/remote/activitypub/renderer/ordered-collection.ts rename to packages/backend/src/remote/activitypub/renderer/ordered-collection.ts diff --git a/src/remote/activitypub/renderer/person.ts b/packages/backend/src/remote/activitypub/renderer/person.ts similarity index 97% rename from src/remote/activitypub/renderer/person.ts rename to packages/backend/src/remote/activitypub/renderer/person.ts index 7e94abddf..f2a283a87 100644 --- a/src/remote/activitypub/renderer/person.ts +++ b/packages/backend/src/remote/activitypub/renderer/person.ts @@ -11,7 +11,6 @@ import { IIdentifier } from '../models/identifier'; import renderHashtag from './hashtag'; import { DriveFiles, UserProfiles } from '@/models/index'; import { getUserKeypair } from '@/misc/keypair-store'; -import { fnNameList } from '@/mfm/fn-name-list'; export async function renderPerson(user: ILocalUser) { const id = `${config.url}/users/${user.id}`; @@ -67,7 +66,7 @@ export async function renderPerson(user: ILocalUser) { url: `${config.url}/@${user.username}`, preferredUsername: user.username, name: user.name, - summary: profile.description ? toHtml(mfm.parse(profile.description, { fnNameList })) : null, + summary: profile.description ? toHtml(mfm.parse(profile.description)) : null, icon: avatar ? renderImage(avatar) : null, image: banner ? renderImage(banner) : null, tag, diff --git a/src/remote/activitypub/renderer/question.ts b/packages/backend/src/remote/activitypub/renderer/question.ts similarity index 100% rename from src/remote/activitypub/renderer/question.ts rename to packages/backend/src/remote/activitypub/renderer/question.ts diff --git a/src/remote/activitypub/renderer/read.ts b/packages/backend/src/remote/activitypub/renderer/read.ts similarity index 100% rename from src/remote/activitypub/renderer/read.ts rename to packages/backend/src/remote/activitypub/renderer/read.ts diff --git a/src/remote/activitypub/renderer/reject.ts b/packages/backend/src/remote/activitypub/renderer/reject.ts similarity index 100% rename from src/remote/activitypub/renderer/reject.ts rename to packages/backend/src/remote/activitypub/renderer/reject.ts diff --git a/src/remote/activitypub/renderer/remove.ts b/packages/backend/src/remote/activitypub/renderer/remove.ts similarity index 100% rename from src/remote/activitypub/renderer/remove.ts rename to packages/backend/src/remote/activitypub/renderer/remove.ts diff --git a/src/remote/activitypub/renderer/tombstone.ts b/packages/backend/src/remote/activitypub/renderer/tombstone.ts similarity index 100% rename from src/remote/activitypub/renderer/tombstone.ts rename to packages/backend/src/remote/activitypub/renderer/tombstone.ts diff --git a/src/remote/activitypub/renderer/undo.ts b/packages/backend/src/remote/activitypub/renderer/undo.ts similarity index 100% rename from src/remote/activitypub/renderer/undo.ts rename to packages/backend/src/remote/activitypub/renderer/undo.ts diff --git a/src/remote/activitypub/renderer/update.ts b/packages/backend/src/remote/activitypub/renderer/update.ts similarity index 100% rename from src/remote/activitypub/renderer/update.ts rename to packages/backend/src/remote/activitypub/renderer/update.ts diff --git a/src/remote/activitypub/renderer/vote.ts b/packages/backend/src/remote/activitypub/renderer/vote.ts similarity index 100% rename from src/remote/activitypub/renderer/vote.ts rename to packages/backend/src/remote/activitypub/renderer/vote.ts diff --git a/src/remote/activitypub/request.ts b/packages/backend/src/remote/activitypub/request.ts similarity index 100% rename from src/remote/activitypub/request.ts rename to packages/backend/src/remote/activitypub/request.ts diff --git a/src/remote/activitypub/resolver.ts b/packages/backend/src/remote/activitypub/resolver.ts similarity index 100% rename from src/remote/activitypub/resolver.ts rename to packages/backend/src/remote/activitypub/resolver.ts diff --git a/src/remote/activitypub/type.ts b/packages/backend/src/remote/activitypub/type.ts similarity index 100% rename from src/remote/activitypub/type.ts rename to packages/backend/src/remote/activitypub/type.ts diff --git a/src/remote/logger.ts b/packages/backend/src/remote/logger.ts similarity index 100% rename from src/remote/logger.ts rename to packages/backend/src/remote/logger.ts diff --git a/src/remote/resolve-user.ts b/packages/backend/src/remote/resolve-user.ts similarity index 100% rename from src/remote/resolve-user.ts rename to packages/backend/src/remote/resolve-user.ts diff --git a/src/remote/webfinger.ts b/packages/backend/src/remote/webfinger.ts similarity index 100% rename from src/remote/webfinger.ts rename to packages/backend/src/remote/webfinger.ts diff --git a/src/server/activitypub.ts b/packages/backend/src/server/activitypub.ts similarity index 100% rename from src/server/activitypub.ts rename to packages/backend/src/server/activitypub.ts diff --git a/src/server/activitypub/featured.ts b/packages/backend/src/server/activitypub/featured.ts similarity index 100% rename from src/server/activitypub/featured.ts rename to packages/backend/src/server/activitypub/featured.ts diff --git a/src/server/activitypub/followers.ts b/packages/backend/src/server/activitypub/followers.ts similarity index 100% rename from src/server/activitypub/followers.ts rename to packages/backend/src/server/activitypub/followers.ts diff --git a/src/server/activitypub/following.ts b/packages/backend/src/server/activitypub/following.ts similarity index 100% rename from src/server/activitypub/following.ts rename to packages/backend/src/server/activitypub/following.ts diff --git a/src/server/activitypub/outbox.ts b/packages/backend/src/server/activitypub/outbox.ts similarity index 100% rename from src/server/activitypub/outbox.ts rename to packages/backend/src/server/activitypub/outbox.ts diff --git a/src/server/api/2fa.ts b/packages/backend/src/server/api/2fa.ts similarity index 100% rename from src/server/api/2fa.ts rename to packages/backend/src/server/api/2fa.ts diff --git a/src/server/api/api-handler.ts b/packages/backend/src/server/api/api-handler.ts similarity index 100% rename from src/server/api/api-handler.ts rename to packages/backend/src/server/api/api-handler.ts diff --git a/src/server/api/authenticate.ts b/packages/backend/src/server/api/authenticate.ts similarity index 100% rename from src/server/api/authenticate.ts rename to packages/backend/src/server/api/authenticate.ts diff --git a/src/server/api/call.ts b/packages/backend/src/server/api/call.ts similarity index 100% rename from src/server/api/call.ts rename to packages/backend/src/server/api/call.ts diff --git a/src/server/api/common/generate-block-query.ts b/packages/backend/src/server/api/common/generate-block-query.ts similarity index 100% rename from src/server/api/common/generate-block-query.ts rename to packages/backend/src/server/api/common/generate-block-query.ts diff --git a/src/server/api/common/generate-channel-query.ts b/packages/backend/src/server/api/common/generate-channel-query.ts similarity index 100% rename from src/server/api/common/generate-channel-query.ts rename to packages/backend/src/server/api/common/generate-channel-query.ts diff --git a/src/server/api/common/generate-muted-note-query.ts b/packages/backend/src/server/api/common/generate-muted-note-query.ts similarity index 100% rename from src/server/api/common/generate-muted-note-query.ts rename to packages/backend/src/server/api/common/generate-muted-note-query.ts diff --git a/src/server/api/common/generate-muted-note-thread-query.ts b/packages/backend/src/server/api/common/generate-muted-note-thread-query.ts similarity index 100% rename from src/server/api/common/generate-muted-note-thread-query.ts rename to packages/backend/src/server/api/common/generate-muted-note-thread-query.ts diff --git a/src/server/api/common/generate-muted-user-query.ts b/packages/backend/src/server/api/common/generate-muted-user-query.ts similarity index 100% rename from src/server/api/common/generate-muted-user-query.ts rename to packages/backend/src/server/api/common/generate-muted-user-query.ts diff --git a/src/server/api/common/generate-native-user-token.ts b/packages/backend/src/server/api/common/generate-native-user-token.ts similarity index 100% rename from src/server/api/common/generate-native-user-token.ts rename to packages/backend/src/server/api/common/generate-native-user-token.ts diff --git a/src/server/api/common/generate-replies-query.ts b/packages/backend/src/server/api/common/generate-replies-query.ts similarity index 100% rename from src/server/api/common/generate-replies-query.ts rename to packages/backend/src/server/api/common/generate-replies-query.ts diff --git a/src/server/api/common/generate-visibility-query.ts b/packages/backend/src/server/api/common/generate-visibility-query.ts similarity index 100% rename from src/server/api/common/generate-visibility-query.ts rename to packages/backend/src/server/api/common/generate-visibility-query.ts diff --git a/src/server/api/common/getters.ts b/packages/backend/src/server/api/common/getters.ts similarity index 100% rename from src/server/api/common/getters.ts rename to packages/backend/src/server/api/common/getters.ts diff --git a/src/server/api/common/inject-featured.ts b/packages/backend/src/server/api/common/inject-featured.ts similarity index 100% rename from src/server/api/common/inject-featured.ts rename to packages/backend/src/server/api/common/inject-featured.ts diff --git a/src/server/api/common/inject-promo.ts b/packages/backend/src/server/api/common/inject-promo.ts similarity index 100% rename from src/server/api/common/inject-promo.ts rename to packages/backend/src/server/api/common/inject-promo.ts diff --git a/src/server/api/common/is-native-token.ts b/packages/backend/src/server/api/common/is-native-token.ts similarity index 100% rename from src/server/api/common/is-native-token.ts rename to packages/backend/src/server/api/common/is-native-token.ts diff --git a/src/server/api/common/make-pagination-query.ts b/packages/backend/src/server/api/common/make-pagination-query.ts similarity index 100% rename from src/server/api/common/make-pagination-query.ts rename to packages/backend/src/server/api/common/make-pagination-query.ts diff --git a/src/server/api/common/read-messaging-message.ts b/packages/backend/src/server/api/common/read-messaging-message.ts similarity index 100% rename from src/server/api/common/read-messaging-message.ts rename to packages/backend/src/server/api/common/read-messaging-message.ts diff --git a/src/server/api/common/read-notification.ts b/packages/backend/src/server/api/common/read-notification.ts similarity index 100% rename from src/server/api/common/read-notification.ts rename to packages/backend/src/server/api/common/read-notification.ts diff --git a/src/server/api/common/signin.ts b/packages/backend/src/server/api/common/signin.ts similarity index 100% rename from src/server/api/common/signin.ts rename to packages/backend/src/server/api/common/signin.ts diff --git a/src/server/api/common/signup.ts b/packages/backend/src/server/api/common/signup.ts similarity index 100% rename from src/server/api/common/signup.ts rename to packages/backend/src/server/api/common/signup.ts diff --git a/src/server/api/define.ts b/packages/backend/src/server/api/define.ts similarity index 100% rename from src/server/api/define.ts rename to packages/backend/src/server/api/define.ts diff --git a/src/server/api/endpoints.ts b/packages/backend/src/server/api/endpoints.ts similarity index 100% rename from src/server/api/endpoints.ts rename to packages/backend/src/server/api/endpoints.ts diff --git a/src/server/api/endpoints/admin/abuse-user-reports.ts b/packages/backend/src/server/api/endpoints/admin/abuse-user-reports.ts similarity index 100% rename from src/server/api/endpoints/admin/abuse-user-reports.ts rename to packages/backend/src/server/api/endpoints/admin/abuse-user-reports.ts diff --git a/src/server/api/endpoints/admin/accounts/create.ts b/packages/backend/src/server/api/endpoints/admin/accounts/create.ts similarity index 100% rename from src/server/api/endpoints/admin/accounts/create.ts rename to packages/backend/src/server/api/endpoints/admin/accounts/create.ts diff --git a/src/server/api/endpoints/admin/accounts/delete.ts b/packages/backend/src/server/api/endpoints/admin/accounts/delete.ts similarity index 100% rename from src/server/api/endpoints/admin/accounts/delete.ts rename to packages/backend/src/server/api/endpoints/admin/accounts/delete.ts diff --git a/src/server/api/endpoints/admin/ad/create.ts b/packages/backend/src/server/api/endpoints/admin/ad/create.ts similarity index 100% rename from src/server/api/endpoints/admin/ad/create.ts rename to packages/backend/src/server/api/endpoints/admin/ad/create.ts diff --git a/src/server/api/endpoints/admin/ad/delete.ts b/packages/backend/src/server/api/endpoints/admin/ad/delete.ts similarity index 100% rename from src/server/api/endpoints/admin/ad/delete.ts rename to packages/backend/src/server/api/endpoints/admin/ad/delete.ts diff --git a/src/server/api/endpoints/admin/ad/list.ts b/packages/backend/src/server/api/endpoints/admin/ad/list.ts similarity index 100% rename from src/server/api/endpoints/admin/ad/list.ts rename to packages/backend/src/server/api/endpoints/admin/ad/list.ts diff --git a/src/server/api/endpoints/admin/ad/update.ts b/packages/backend/src/server/api/endpoints/admin/ad/update.ts similarity index 100% rename from src/server/api/endpoints/admin/ad/update.ts rename to packages/backend/src/server/api/endpoints/admin/ad/update.ts diff --git a/src/server/api/endpoints/admin/announcements/create.ts b/packages/backend/src/server/api/endpoints/admin/announcements/create.ts similarity index 100% rename from src/server/api/endpoints/admin/announcements/create.ts rename to packages/backend/src/server/api/endpoints/admin/announcements/create.ts diff --git a/src/server/api/endpoints/admin/announcements/delete.ts b/packages/backend/src/server/api/endpoints/admin/announcements/delete.ts similarity index 100% rename from src/server/api/endpoints/admin/announcements/delete.ts rename to packages/backend/src/server/api/endpoints/admin/announcements/delete.ts diff --git a/src/server/api/endpoints/admin/announcements/list.ts b/packages/backend/src/server/api/endpoints/admin/announcements/list.ts similarity index 100% rename from src/server/api/endpoints/admin/announcements/list.ts rename to packages/backend/src/server/api/endpoints/admin/announcements/list.ts diff --git a/src/server/api/endpoints/admin/announcements/update.ts b/packages/backend/src/server/api/endpoints/admin/announcements/update.ts similarity index 100% rename from src/server/api/endpoints/admin/announcements/update.ts rename to packages/backend/src/server/api/endpoints/admin/announcements/update.ts diff --git a/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts b/packages/backend/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts similarity index 100% rename from src/server/api/endpoints/admin/delete-all-files-of-a-user.ts rename to packages/backend/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts diff --git a/src/server/api/endpoints/admin/delete-logs.ts b/packages/backend/src/server/api/endpoints/admin/delete-logs.ts similarity index 100% rename from src/server/api/endpoints/admin/delete-logs.ts rename to packages/backend/src/server/api/endpoints/admin/delete-logs.ts diff --git a/src/server/api/endpoints/admin/drive/clean-remote-files.ts b/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts similarity index 100% rename from src/server/api/endpoints/admin/drive/clean-remote-files.ts rename to packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts diff --git a/src/server/api/endpoints/admin/drive/cleanup.ts b/packages/backend/src/server/api/endpoints/admin/drive/cleanup.ts similarity index 100% rename from src/server/api/endpoints/admin/drive/cleanup.ts rename to packages/backend/src/server/api/endpoints/admin/drive/cleanup.ts diff --git a/src/server/api/endpoints/admin/drive/files.ts b/packages/backend/src/server/api/endpoints/admin/drive/files.ts similarity index 100% rename from src/server/api/endpoints/admin/drive/files.ts rename to packages/backend/src/server/api/endpoints/admin/drive/files.ts diff --git a/src/server/api/endpoints/admin/drive/show-file.ts b/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts similarity index 100% rename from src/server/api/endpoints/admin/drive/show-file.ts rename to packages/backend/src/server/api/endpoints/admin/drive/show-file.ts diff --git a/src/server/api/endpoints/admin/emoji/add.ts b/packages/backend/src/server/api/endpoints/admin/emoji/add.ts similarity index 100% rename from src/server/api/endpoints/admin/emoji/add.ts rename to packages/backend/src/server/api/endpoints/admin/emoji/add.ts diff --git a/src/server/api/endpoints/admin/emoji/copy.ts b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts similarity index 100% rename from src/server/api/endpoints/admin/emoji/copy.ts rename to packages/backend/src/server/api/endpoints/admin/emoji/copy.ts diff --git a/src/server/api/endpoints/admin/emoji/list-remote.ts b/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts similarity index 100% rename from src/server/api/endpoints/admin/emoji/list-remote.ts rename to packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts diff --git a/src/server/api/endpoints/admin/emoji/list.ts b/packages/backend/src/server/api/endpoints/admin/emoji/list.ts similarity index 100% rename from src/server/api/endpoints/admin/emoji/list.ts rename to packages/backend/src/server/api/endpoints/admin/emoji/list.ts diff --git a/src/server/api/endpoints/admin/emoji/remove.ts b/packages/backend/src/server/api/endpoints/admin/emoji/remove.ts similarity index 100% rename from src/server/api/endpoints/admin/emoji/remove.ts rename to packages/backend/src/server/api/endpoints/admin/emoji/remove.ts diff --git a/src/server/api/endpoints/admin/emoji/update.ts b/packages/backend/src/server/api/endpoints/admin/emoji/update.ts similarity index 100% rename from src/server/api/endpoints/admin/emoji/update.ts rename to packages/backend/src/server/api/endpoints/admin/emoji/update.ts diff --git a/src/server/api/endpoints/admin/federation/delete-all-files.ts b/packages/backend/src/server/api/endpoints/admin/federation/delete-all-files.ts similarity index 100% rename from src/server/api/endpoints/admin/federation/delete-all-files.ts rename to packages/backend/src/server/api/endpoints/admin/federation/delete-all-files.ts diff --git a/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts b/packages/backend/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts similarity index 100% rename from src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts rename to packages/backend/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts diff --git a/src/server/api/endpoints/admin/federation/remove-all-following.ts b/packages/backend/src/server/api/endpoints/admin/federation/remove-all-following.ts similarity index 100% rename from src/server/api/endpoints/admin/federation/remove-all-following.ts rename to packages/backend/src/server/api/endpoints/admin/federation/remove-all-following.ts diff --git a/src/server/api/endpoints/admin/federation/update-instance.ts b/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts similarity index 100% rename from src/server/api/endpoints/admin/federation/update-instance.ts rename to packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts diff --git a/src/server/api/endpoints/admin/get-index-stats.ts b/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts similarity index 100% rename from src/server/api/endpoints/admin/get-index-stats.ts rename to packages/backend/src/server/api/endpoints/admin/get-index-stats.ts diff --git a/src/server/api/endpoints/admin/get-table-stats.ts b/packages/backend/src/server/api/endpoints/admin/get-table-stats.ts similarity index 100% rename from src/server/api/endpoints/admin/get-table-stats.ts rename to packages/backend/src/server/api/endpoints/admin/get-table-stats.ts diff --git a/src/server/api/endpoints/admin/invite.ts b/packages/backend/src/server/api/endpoints/admin/invite.ts similarity index 100% rename from src/server/api/endpoints/admin/invite.ts rename to packages/backend/src/server/api/endpoints/admin/invite.ts diff --git a/src/server/api/endpoints/admin/moderators/add.ts b/packages/backend/src/server/api/endpoints/admin/moderators/add.ts similarity index 100% rename from src/server/api/endpoints/admin/moderators/add.ts rename to packages/backend/src/server/api/endpoints/admin/moderators/add.ts diff --git a/src/server/api/endpoints/admin/moderators/remove.ts b/packages/backend/src/server/api/endpoints/admin/moderators/remove.ts similarity index 100% rename from src/server/api/endpoints/admin/moderators/remove.ts rename to packages/backend/src/server/api/endpoints/admin/moderators/remove.ts diff --git a/src/server/api/endpoints/admin/promo/create.ts b/packages/backend/src/server/api/endpoints/admin/promo/create.ts similarity index 100% rename from src/server/api/endpoints/admin/promo/create.ts rename to packages/backend/src/server/api/endpoints/admin/promo/create.ts diff --git a/src/server/api/endpoints/admin/queue/clear.ts b/packages/backend/src/server/api/endpoints/admin/queue/clear.ts similarity index 100% rename from src/server/api/endpoints/admin/queue/clear.ts rename to packages/backend/src/server/api/endpoints/admin/queue/clear.ts diff --git a/src/server/api/endpoints/admin/queue/deliver-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts similarity index 100% rename from src/server/api/endpoints/admin/queue/deliver-delayed.ts rename to packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts diff --git a/src/server/api/endpoints/admin/queue/inbox-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts similarity index 100% rename from src/server/api/endpoints/admin/queue/inbox-delayed.ts rename to packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts diff --git a/src/server/api/endpoints/admin/queue/jobs.ts b/packages/backend/src/server/api/endpoints/admin/queue/jobs.ts similarity index 100% rename from src/server/api/endpoints/admin/queue/jobs.ts rename to packages/backend/src/server/api/endpoints/admin/queue/jobs.ts diff --git a/src/server/api/endpoints/admin/queue/stats.ts b/packages/backend/src/server/api/endpoints/admin/queue/stats.ts similarity index 100% rename from src/server/api/endpoints/admin/queue/stats.ts rename to packages/backend/src/server/api/endpoints/admin/queue/stats.ts diff --git a/src/server/api/endpoints/admin/relays/add.ts b/packages/backend/src/server/api/endpoints/admin/relays/add.ts similarity index 100% rename from src/server/api/endpoints/admin/relays/add.ts rename to packages/backend/src/server/api/endpoints/admin/relays/add.ts diff --git a/src/server/api/endpoints/admin/relays/list.ts b/packages/backend/src/server/api/endpoints/admin/relays/list.ts similarity index 100% rename from src/server/api/endpoints/admin/relays/list.ts rename to packages/backend/src/server/api/endpoints/admin/relays/list.ts diff --git a/src/server/api/endpoints/admin/relays/remove.ts b/packages/backend/src/server/api/endpoints/admin/relays/remove.ts similarity index 100% rename from src/server/api/endpoints/admin/relays/remove.ts rename to packages/backend/src/server/api/endpoints/admin/relays/remove.ts diff --git a/src/server/api/endpoints/admin/reset-password.ts b/packages/backend/src/server/api/endpoints/admin/reset-password.ts similarity index 100% rename from src/server/api/endpoints/admin/reset-password.ts rename to packages/backend/src/server/api/endpoints/admin/reset-password.ts diff --git a/src/server/api/endpoints/admin/resolve-abuse-user-report.ts b/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts similarity index 100% rename from src/server/api/endpoints/admin/resolve-abuse-user-report.ts rename to packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts diff --git a/src/server/api/endpoints/admin/resync-chart.ts b/packages/backend/src/server/api/endpoints/admin/resync-chart.ts similarity index 100% rename from src/server/api/endpoints/admin/resync-chart.ts rename to packages/backend/src/server/api/endpoints/admin/resync-chart.ts diff --git a/src/server/api/endpoints/admin/send-email.ts b/packages/backend/src/server/api/endpoints/admin/send-email.ts similarity index 100% rename from src/server/api/endpoints/admin/send-email.ts rename to packages/backend/src/server/api/endpoints/admin/send-email.ts diff --git a/src/server/api/endpoints/admin/server-info.ts b/packages/backend/src/server/api/endpoints/admin/server-info.ts similarity index 100% rename from src/server/api/endpoints/admin/server-info.ts rename to packages/backend/src/server/api/endpoints/admin/server-info.ts diff --git a/src/server/api/endpoints/admin/show-moderation-logs.ts b/packages/backend/src/server/api/endpoints/admin/show-moderation-logs.ts similarity index 100% rename from src/server/api/endpoints/admin/show-moderation-logs.ts rename to packages/backend/src/server/api/endpoints/admin/show-moderation-logs.ts diff --git a/src/server/api/endpoints/admin/show-user.ts b/packages/backend/src/server/api/endpoints/admin/show-user.ts similarity index 100% rename from src/server/api/endpoints/admin/show-user.ts rename to packages/backend/src/server/api/endpoints/admin/show-user.ts diff --git a/src/server/api/endpoints/admin/show-users.ts b/packages/backend/src/server/api/endpoints/admin/show-users.ts similarity index 100% rename from src/server/api/endpoints/admin/show-users.ts rename to packages/backend/src/server/api/endpoints/admin/show-users.ts diff --git a/src/server/api/endpoints/admin/silence-user.ts b/packages/backend/src/server/api/endpoints/admin/silence-user.ts similarity index 100% rename from src/server/api/endpoints/admin/silence-user.ts rename to packages/backend/src/server/api/endpoints/admin/silence-user.ts diff --git a/src/server/api/endpoints/admin/suspend-user.ts b/packages/backend/src/server/api/endpoints/admin/suspend-user.ts similarity index 100% rename from src/server/api/endpoints/admin/suspend-user.ts rename to packages/backend/src/server/api/endpoints/admin/suspend-user.ts diff --git a/src/server/api/endpoints/admin/unsilence-user.ts b/packages/backend/src/server/api/endpoints/admin/unsilence-user.ts similarity index 100% rename from src/server/api/endpoints/admin/unsilence-user.ts rename to packages/backend/src/server/api/endpoints/admin/unsilence-user.ts diff --git a/src/server/api/endpoints/admin/unsuspend-user.ts b/packages/backend/src/server/api/endpoints/admin/unsuspend-user.ts similarity index 100% rename from src/server/api/endpoints/admin/unsuspend-user.ts rename to packages/backend/src/server/api/endpoints/admin/unsuspend-user.ts diff --git a/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts similarity index 100% rename from src/server/api/endpoints/admin/update-meta.ts rename to packages/backend/src/server/api/endpoints/admin/update-meta.ts diff --git a/src/server/api/endpoints/admin/vacuum.ts b/packages/backend/src/server/api/endpoints/admin/vacuum.ts similarity index 100% rename from src/server/api/endpoints/admin/vacuum.ts rename to packages/backend/src/server/api/endpoints/admin/vacuum.ts diff --git a/src/server/api/endpoints/announcements.ts b/packages/backend/src/server/api/endpoints/announcements.ts similarity index 100% rename from src/server/api/endpoints/announcements.ts rename to packages/backend/src/server/api/endpoints/announcements.ts diff --git a/src/server/api/endpoints/antennas/create.ts b/packages/backend/src/server/api/endpoints/antennas/create.ts similarity index 100% rename from src/server/api/endpoints/antennas/create.ts rename to packages/backend/src/server/api/endpoints/antennas/create.ts diff --git a/src/server/api/endpoints/antennas/delete.ts b/packages/backend/src/server/api/endpoints/antennas/delete.ts similarity index 100% rename from src/server/api/endpoints/antennas/delete.ts rename to packages/backend/src/server/api/endpoints/antennas/delete.ts diff --git a/src/server/api/endpoints/antennas/list.ts b/packages/backend/src/server/api/endpoints/antennas/list.ts similarity index 100% rename from src/server/api/endpoints/antennas/list.ts rename to packages/backend/src/server/api/endpoints/antennas/list.ts diff --git a/src/server/api/endpoints/antennas/notes.ts b/packages/backend/src/server/api/endpoints/antennas/notes.ts similarity index 100% rename from src/server/api/endpoints/antennas/notes.ts rename to packages/backend/src/server/api/endpoints/antennas/notes.ts diff --git a/src/server/api/endpoints/antennas/show.ts b/packages/backend/src/server/api/endpoints/antennas/show.ts similarity index 100% rename from src/server/api/endpoints/antennas/show.ts rename to packages/backend/src/server/api/endpoints/antennas/show.ts diff --git a/src/server/api/endpoints/antennas/update.ts b/packages/backend/src/server/api/endpoints/antennas/update.ts similarity index 100% rename from src/server/api/endpoints/antennas/update.ts rename to packages/backend/src/server/api/endpoints/antennas/update.ts diff --git a/src/server/api/endpoints/ap/get.ts b/packages/backend/src/server/api/endpoints/ap/get.ts similarity index 100% rename from src/server/api/endpoints/ap/get.ts rename to packages/backend/src/server/api/endpoints/ap/get.ts diff --git a/src/server/api/endpoints/ap/show.ts b/packages/backend/src/server/api/endpoints/ap/show.ts similarity index 100% rename from src/server/api/endpoints/ap/show.ts rename to packages/backend/src/server/api/endpoints/ap/show.ts diff --git a/src/server/api/endpoints/app/create.ts b/packages/backend/src/server/api/endpoints/app/create.ts similarity index 100% rename from src/server/api/endpoints/app/create.ts rename to packages/backend/src/server/api/endpoints/app/create.ts diff --git a/src/server/api/endpoints/app/show.ts b/packages/backend/src/server/api/endpoints/app/show.ts similarity index 100% rename from src/server/api/endpoints/app/show.ts rename to packages/backend/src/server/api/endpoints/app/show.ts diff --git a/src/server/api/endpoints/auth/accept.ts b/packages/backend/src/server/api/endpoints/auth/accept.ts similarity index 100% rename from src/server/api/endpoints/auth/accept.ts rename to packages/backend/src/server/api/endpoints/auth/accept.ts diff --git a/src/server/api/endpoints/auth/session/generate.ts b/packages/backend/src/server/api/endpoints/auth/session/generate.ts similarity index 100% rename from src/server/api/endpoints/auth/session/generate.ts rename to packages/backend/src/server/api/endpoints/auth/session/generate.ts diff --git a/src/server/api/endpoints/auth/session/show.ts b/packages/backend/src/server/api/endpoints/auth/session/show.ts similarity index 100% rename from src/server/api/endpoints/auth/session/show.ts rename to packages/backend/src/server/api/endpoints/auth/session/show.ts diff --git a/src/server/api/endpoints/auth/session/userkey.ts b/packages/backend/src/server/api/endpoints/auth/session/userkey.ts similarity index 100% rename from src/server/api/endpoints/auth/session/userkey.ts rename to packages/backend/src/server/api/endpoints/auth/session/userkey.ts diff --git a/src/server/api/endpoints/blocking/create.ts b/packages/backend/src/server/api/endpoints/blocking/create.ts similarity index 100% rename from src/server/api/endpoints/blocking/create.ts rename to packages/backend/src/server/api/endpoints/blocking/create.ts diff --git a/src/server/api/endpoints/blocking/delete.ts b/packages/backend/src/server/api/endpoints/blocking/delete.ts similarity index 100% rename from src/server/api/endpoints/blocking/delete.ts rename to packages/backend/src/server/api/endpoints/blocking/delete.ts diff --git a/src/server/api/endpoints/blocking/list.ts b/packages/backend/src/server/api/endpoints/blocking/list.ts similarity index 100% rename from src/server/api/endpoints/blocking/list.ts rename to packages/backend/src/server/api/endpoints/blocking/list.ts diff --git a/src/server/api/endpoints/channels/create.ts b/packages/backend/src/server/api/endpoints/channels/create.ts similarity index 100% rename from src/server/api/endpoints/channels/create.ts rename to packages/backend/src/server/api/endpoints/channels/create.ts diff --git a/src/server/api/endpoints/channels/featured.ts b/packages/backend/src/server/api/endpoints/channels/featured.ts similarity index 100% rename from src/server/api/endpoints/channels/featured.ts rename to packages/backend/src/server/api/endpoints/channels/featured.ts diff --git a/src/server/api/endpoints/channels/follow.ts b/packages/backend/src/server/api/endpoints/channels/follow.ts similarity index 100% rename from src/server/api/endpoints/channels/follow.ts rename to packages/backend/src/server/api/endpoints/channels/follow.ts diff --git a/src/server/api/endpoints/channels/followed.ts b/packages/backend/src/server/api/endpoints/channels/followed.ts similarity index 100% rename from src/server/api/endpoints/channels/followed.ts rename to packages/backend/src/server/api/endpoints/channels/followed.ts diff --git a/src/server/api/endpoints/channels/owned.ts b/packages/backend/src/server/api/endpoints/channels/owned.ts similarity index 100% rename from src/server/api/endpoints/channels/owned.ts rename to packages/backend/src/server/api/endpoints/channels/owned.ts diff --git a/src/server/api/endpoints/channels/pin-note.ts b/packages/backend/src/server/api/endpoints/channels/pin-note.ts similarity index 100% rename from src/server/api/endpoints/channels/pin-note.ts rename to packages/backend/src/server/api/endpoints/channels/pin-note.ts diff --git a/src/server/api/endpoints/channels/show.ts b/packages/backend/src/server/api/endpoints/channels/show.ts similarity index 100% rename from src/server/api/endpoints/channels/show.ts rename to packages/backend/src/server/api/endpoints/channels/show.ts diff --git a/src/server/api/endpoints/channels/timeline.ts b/packages/backend/src/server/api/endpoints/channels/timeline.ts similarity index 100% rename from src/server/api/endpoints/channels/timeline.ts rename to packages/backend/src/server/api/endpoints/channels/timeline.ts diff --git a/src/server/api/endpoints/channels/unfollow.ts b/packages/backend/src/server/api/endpoints/channels/unfollow.ts similarity index 100% rename from src/server/api/endpoints/channels/unfollow.ts rename to packages/backend/src/server/api/endpoints/channels/unfollow.ts diff --git a/src/server/api/endpoints/channels/update.ts b/packages/backend/src/server/api/endpoints/channels/update.ts similarity index 100% rename from src/server/api/endpoints/channels/update.ts rename to packages/backend/src/server/api/endpoints/channels/update.ts diff --git a/src/server/api/endpoints/charts/active-users.ts b/packages/backend/src/server/api/endpoints/charts/active-users.ts similarity index 100% rename from src/server/api/endpoints/charts/active-users.ts rename to packages/backend/src/server/api/endpoints/charts/active-users.ts diff --git a/src/server/api/endpoints/charts/drive.ts b/packages/backend/src/server/api/endpoints/charts/drive.ts similarity index 100% rename from src/server/api/endpoints/charts/drive.ts rename to packages/backend/src/server/api/endpoints/charts/drive.ts diff --git a/src/server/api/endpoints/charts/federation.ts b/packages/backend/src/server/api/endpoints/charts/federation.ts similarity index 100% rename from src/server/api/endpoints/charts/federation.ts rename to packages/backend/src/server/api/endpoints/charts/federation.ts diff --git a/src/server/api/endpoints/charts/hashtag.ts b/packages/backend/src/server/api/endpoints/charts/hashtag.ts similarity index 100% rename from src/server/api/endpoints/charts/hashtag.ts rename to packages/backend/src/server/api/endpoints/charts/hashtag.ts diff --git a/src/server/api/endpoints/charts/instance.ts b/packages/backend/src/server/api/endpoints/charts/instance.ts similarity index 100% rename from src/server/api/endpoints/charts/instance.ts rename to packages/backend/src/server/api/endpoints/charts/instance.ts diff --git a/src/server/api/endpoints/charts/network.ts b/packages/backend/src/server/api/endpoints/charts/network.ts similarity index 100% rename from src/server/api/endpoints/charts/network.ts rename to packages/backend/src/server/api/endpoints/charts/network.ts diff --git a/src/server/api/endpoints/charts/notes.ts b/packages/backend/src/server/api/endpoints/charts/notes.ts similarity index 100% rename from src/server/api/endpoints/charts/notes.ts rename to packages/backend/src/server/api/endpoints/charts/notes.ts diff --git a/src/server/api/endpoints/charts/user/drive.ts b/packages/backend/src/server/api/endpoints/charts/user/drive.ts similarity index 100% rename from src/server/api/endpoints/charts/user/drive.ts rename to packages/backend/src/server/api/endpoints/charts/user/drive.ts diff --git a/src/server/api/endpoints/charts/user/following.ts b/packages/backend/src/server/api/endpoints/charts/user/following.ts similarity index 100% rename from src/server/api/endpoints/charts/user/following.ts rename to packages/backend/src/server/api/endpoints/charts/user/following.ts diff --git a/src/server/api/endpoints/charts/user/notes.ts b/packages/backend/src/server/api/endpoints/charts/user/notes.ts similarity index 100% rename from src/server/api/endpoints/charts/user/notes.ts rename to packages/backend/src/server/api/endpoints/charts/user/notes.ts diff --git a/src/server/api/endpoints/charts/user/reactions.ts b/packages/backend/src/server/api/endpoints/charts/user/reactions.ts similarity index 100% rename from src/server/api/endpoints/charts/user/reactions.ts rename to packages/backend/src/server/api/endpoints/charts/user/reactions.ts diff --git a/src/server/api/endpoints/charts/users.ts b/packages/backend/src/server/api/endpoints/charts/users.ts similarity index 100% rename from src/server/api/endpoints/charts/users.ts rename to packages/backend/src/server/api/endpoints/charts/users.ts diff --git a/src/server/api/endpoints/clips/add-note.ts b/packages/backend/src/server/api/endpoints/clips/add-note.ts similarity index 100% rename from src/server/api/endpoints/clips/add-note.ts rename to packages/backend/src/server/api/endpoints/clips/add-note.ts diff --git a/src/server/api/endpoints/clips/create.ts b/packages/backend/src/server/api/endpoints/clips/create.ts similarity index 100% rename from src/server/api/endpoints/clips/create.ts rename to packages/backend/src/server/api/endpoints/clips/create.ts diff --git a/src/server/api/endpoints/clips/delete.ts b/packages/backend/src/server/api/endpoints/clips/delete.ts similarity index 100% rename from src/server/api/endpoints/clips/delete.ts rename to packages/backend/src/server/api/endpoints/clips/delete.ts diff --git a/src/server/api/endpoints/clips/list.ts b/packages/backend/src/server/api/endpoints/clips/list.ts similarity index 100% rename from src/server/api/endpoints/clips/list.ts rename to packages/backend/src/server/api/endpoints/clips/list.ts diff --git a/src/server/api/endpoints/clips/notes.ts b/packages/backend/src/server/api/endpoints/clips/notes.ts similarity index 100% rename from src/server/api/endpoints/clips/notes.ts rename to packages/backend/src/server/api/endpoints/clips/notes.ts diff --git a/src/server/api/endpoints/clips/show.ts b/packages/backend/src/server/api/endpoints/clips/show.ts similarity index 100% rename from src/server/api/endpoints/clips/show.ts rename to packages/backend/src/server/api/endpoints/clips/show.ts diff --git a/src/server/api/endpoints/clips/update.ts b/packages/backend/src/server/api/endpoints/clips/update.ts similarity index 100% rename from src/server/api/endpoints/clips/update.ts rename to packages/backend/src/server/api/endpoints/clips/update.ts diff --git a/src/server/api/endpoints/drive.ts b/packages/backend/src/server/api/endpoints/drive.ts similarity index 100% rename from src/server/api/endpoints/drive.ts rename to packages/backend/src/server/api/endpoints/drive.ts diff --git a/src/server/api/endpoints/drive/files.ts b/packages/backend/src/server/api/endpoints/drive/files.ts similarity index 100% rename from src/server/api/endpoints/drive/files.ts rename to packages/backend/src/server/api/endpoints/drive/files.ts diff --git a/src/server/api/endpoints/drive/files/attached-notes.ts b/packages/backend/src/server/api/endpoints/drive/files/attached-notes.ts similarity index 100% rename from src/server/api/endpoints/drive/files/attached-notes.ts rename to packages/backend/src/server/api/endpoints/drive/files/attached-notes.ts diff --git a/src/server/api/endpoints/drive/files/check-existence.ts b/packages/backend/src/server/api/endpoints/drive/files/check-existence.ts similarity index 100% rename from src/server/api/endpoints/drive/files/check-existence.ts rename to packages/backend/src/server/api/endpoints/drive/files/check-existence.ts diff --git a/src/server/api/endpoints/drive/files/create.ts b/packages/backend/src/server/api/endpoints/drive/files/create.ts similarity index 100% rename from src/server/api/endpoints/drive/files/create.ts rename to packages/backend/src/server/api/endpoints/drive/files/create.ts diff --git a/src/server/api/endpoints/drive/files/delete.ts b/packages/backend/src/server/api/endpoints/drive/files/delete.ts similarity index 100% rename from src/server/api/endpoints/drive/files/delete.ts rename to packages/backend/src/server/api/endpoints/drive/files/delete.ts diff --git a/src/server/api/endpoints/drive/files/find-by-hash.ts b/packages/backend/src/server/api/endpoints/drive/files/find-by-hash.ts similarity index 100% rename from src/server/api/endpoints/drive/files/find-by-hash.ts rename to packages/backend/src/server/api/endpoints/drive/files/find-by-hash.ts diff --git a/src/server/api/endpoints/drive/files/find.ts b/packages/backend/src/server/api/endpoints/drive/files/find.ts similarity index 100% rename from src/server/api/endpoints/drive/files/find.ts rename to packages/backend/src/server/api/endpoints/drive/files/find.ts diff --git a/src/server/api/endpoints/drive/files/show.ts b/packages/backend/src/server/api/endpoints/drive/files/show.ts similarity index 100% rename from src/server/api/endpoints/drive/files/show.ts rename to packages/backend/src/server/api/endpoints/drive/files/show.ts diff --git a/src/server/api/endpoints/drive/files/update.ts b/packages/backend/src/server/api/endpoints/drive/files/update.ts similarity index 100% rename from src/server/api/endpoints/drive/files/update.ts rename to packages/backend/src/server/api/endpoints/drive/files/update.ts diff --git a/src/server/api/endpoints/drive/files/upload-from-url.ts b/packages/backend/src/server/api/endpoints/drive/files/upload-from-url.ts similarity index 100% rename from src/server/api/endpoints/drive/files/upload-from-url.ts rename to packages/backend/src/server/api/endpoints/drive/files/upload-from-url.ts diff --git a/src/server/api/endpoints/drive/folders.ts b/packages/backend/src/server/api/endpoints/drive/folders.ts similarity index 100% rename from src/server/api/endpoints/drive/folders.ts rename to packages/backend/src/server/api/endpoints/drive/folders.ts diff --git a/src/server/api/endpoints/drive/folders/create.ts b/packages/backend/src/server/api/endpoints/drive/folders/create.ts similarity index 100% rename from src/server/api/endpoints/drive/folders/create.ts rename to packages/backend/src/server/api/endpoints/drive/folders/create.ts diff --git a/src/server/api/endpoints/drive/folders/delete.ts b/packages/backend/src/server/api/endpoints/drive/folders/delete.ts similarity index 100% rename from src/server/api/endpoints/drive/folders/delete.ts rename to packages/backend/src/server/api/endpoints/drive/folders/delete.ts diff --git a/src/server/api/endpoints/drive/folders/find.ts b/packages/backend/src/server/api/endpoints/drive/folders/find.ts similarity index 100% rename from src/server/api/endpoints/drive/folders/find.ts rename to packages/backend/src/server/api/endpoints/drive/folders/find.ts diff --git a/src/server/api/endpoints/drive/folders/show.ts b/packages/backend/src/server/api/endpoints/drive/folders/show.ts similarity index 100% rename from src/server/api/endpoints/drive/folders/show.ts rename to packages/backend/src/server/api/endpoints/drive/folders/show.ts diff --git a/src/server/api/endpoints/drive/folders/update.ts b/packages/backend/src/server/api/endpoints/drive/folders/update.ts similarity index 100% rename from src/server/api/endpoints/drive/folders/update.ts rename to packages/backend/src/server/api/endpoints/drive/folders/update.ts diff --git a/src/server/api/endpoints/drive/stream.ts b/packages/backend/src/server/api/endpoints/drive/stream.ts similarity index 100% rename from src/server/api/endpoints/drive/stream.ts rename to packages/backend/src/server/api/endpoints/drive/stream.ts diff --git a/src/server/api/endpoints/email-address/available.ts b/packages/backend/src/server/api/endpoints/email-address/available.ts similarity index 100% rename from src/server/api/endpoints/email-address/available.ts rename to packages/backend/src/server/api/endpoints/email-address/available.ts diff --git a/src/server/api/endpoints/endpoint.ts b/packages/backend/src/server/api/endpoints/endpoint.ts similarity index 100% rename from src/server/api/endpoints/endpoint.ts rename to packages/backend/src/server/api/endpoints/endpoint.ts diff --git a/src/server/api/endpoints/endpoints.ts b/packages/backend/src/server/api/endpoints/endpoints.ts similarity index 100% rename from src/server/api/endpoints/endpoints.ts rename to packages/backend/src/server/api/endpoints/endpoints.ts diff --git a/src/server/api/endpoints/federation/dns.ts b/packages/backend/src/server/api/endpoints/federation/dns.ts similarity index 100% rename from src/server/api/endpoints/federation/dns.ts rename to packages/backend/src/server/api/endpoints/federation/dns.ts diff --git a/src/server/api/endpoints/federation/followers.ts b/packages/backend/src/server/api/endpoints/federation/followers.ts similarity index 100% rename from src/server/api/endpoints/federation/followers.ts rename to packages/backend/src/server/api/endpoints/federation/followers.ts diff --git a/src/server/api/endpoints/federation/following.ts b/packages/backend/src/server/api/endpoints/federation/following.ts similarity index 100% rename from src/server/api/endpoints/federation/following.ts rename to packages/backend/src/server/api/endpoints/federation/following.ts diff --git a/src/server/api/endpoints/federation/instances.ts b/packages/backend/src/server/api/endpoints/federation/instances.ts similarity index 100% rename from src/server/api/endpoints/federation/instances.ts rename to packages/backend/src/server/api/endpoints/federation/instances.ts diff --git a/src/server/api/endpoints/federation/show-instance.ts b/packages/backend/src/server/api/endpoints/federation/show-instance.ts similarity index 100% rename from src/server/api/endpoints/federation/show-instance.ts rename to packages/backend/src/server/api/endpoints/federation/show-instance.ts diff --git a/src/server/api/endpoints/federation/update-remote-user.ts b/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts similarity index 100% rename from src/server/api/endpoints/federation/update-remote-user.ts rename to packages/backend/src/server/api/endpoints/federation/update-remote-user.ts diff --git a/src/server/api/endpoints/federation/users.ts b/packages/backend/src/server/api/endpoints/federation/users.ts similarity index 100% rename from src/server/api/endpoints/federation/users.ts rename to packages/backend/src/server/api/endpoints/federation/users.ts diff --git a/src/server/api/endpoints/following/create.ts b/packages/backend/src/server/api/endpoints/following/create.ts similarity index 100% rename from src/server/api/endpoints/following/create.ts rename to packages/backend/src/server/api/endpoints/following/create.ts diff --git a/src/server/api/endpoints/following/delete.ts b/packages/backend/src/server/api/endpoints/following/delete.ts similarity index 100% rename from src/server/api/endpoints/following/delete.ts rename to packages/backend/src/server/api/endpoints/following/delete.ts diff --git a/src/server/api/endpoints/following/requests/accept.ts b/packages/backend/src/server/api/endpoints/following/requests/accept.ts similarity index 100% rename from src/server/api/endpoints/following/requests/accept.ts rename to packages/backend/src/server/api/endpoints/following/requests/accept.ts diff --git a/src/server/api/endpoints/following/requests/cancel.ts b/packages/backend/src/server/api/endpoints/following/requests/cancel.ts similarity index 100% rename from src/server/api/endpoints/following/requests/cancel.ts rename to packages/backend/src/server/api/endpoints/following/requests/cancel.ts diff --git a/src/server/api/endpoints/following/requests/list.ts b/packages/backend/src/server/api/endpoints/following/requests/list.ts similarity index 100% rename from src/server/api/endpoints/following/requests/list.ts rename to packages/backend/src/server/api/endpoints/following/requests/list.ts diff --git a/src/server/api/endpoints/following/requests/reject.ts b/packages/backend/src/server/api/endpoints/following/requests/reject.ts similarity index 100% rename from src/server/api/endpoints/following/requests/reject.ts rename to packages/backend/src/server/api/endpoints/following/requests/reject.ts diff --git a/src/server/api/endpoints/gallery/featured.ts b/packages/backend/src/server/api/endpoints/gallery/featured.ts similarity index 100% rename from src/server/api/endpoints/gallery/featured.ts rename to packages/backend/src/server/api/endpoints/gallery/featured.ts diff --git a/src/server/api/endpoints/gallery/popular.ts b/packages/backend/src/server/api/endpoints/gallery/popular.ts similarity index 100% rename from src/server/api/endpoints/gallery/popular.ts rename to packages/backend/src/server/api/endpoints/gallery/popular.ts diff --git a/src/server/api/endpoints/gallery/posts.ts b/packages/backend/src/server/api/endpoints/gallery/posts.ts similarity index 100% rename from src/server/api/endpoints/gallery/posts.ts rename to packages/backend/src/server/api/endpoints/gallery/posts.ts diff --git a/src/server/api/endpoints/gallery/posts/create.ts b/packages/backend/src/server/api/endpoints/gallery/posts/create.ts similarity index 100% rename from src/server/api/endpoints/gallery/posts/create.ts rename to packages/backend/src/server/api/endpoints/gallery/posts/create.ts diff --git a/src/server/api/endpoints/gallery/posts/delete.ts b/packages/backend/src/server/api/endpoints/gallery/posts/delete.ts similarity index 100% rename from src/server/api/endpoints/gallery/posts/delete.ts rename to packages/backend/src/server/api/endpoints/gallery/posts/delete.ts diff --git a/src/server/api/endpoints/gallery/posts/like.ts b/packages/backend/src/server/api/endpoints/gallery/posts/like.ts similarity index 100% rename from src/server/api/endpoints/gallery/posts/like.ts rename to packages/backend/src/server/api/endpoints/gallery/posts/like.ts diff --git a/src/server/api/endpoints/gallery/posts/show.ts b/packages/backend/src/server/api/endpoints/gallery/posts/show.ts similarity index 100% rename from src/server/api/endpoints/gallery/posts/show.ts rename to packages/backend/src/server/api/endpoints/gallery/posts/show.ts diff --git a/src/server/api/endpoints/gallery/posts/unlike.ts b/packages/backend/src/server/api/endpoints/gallery/posts/unlike.ts similarity index 100% rename from src/server/api/endpoints/gallery/posts/unlike.ts rename to packages/backend/src/server/api/endpoints/gallery/posts/unlike.ts diff --git a/src/server/api/endpoints/gallery/posts/update.ts b/packages/backend/src/server/api/endpoints/gallery/posts/update.ts similarity index 100% rename from src/server/api/endpoints/gallery/posts/update.ts rename to packages/backend/src/server/api/endpoints/gallery/posts/update.ts diff --git a/src/server/api/endpoints/games/reversi/games.ts b/packages/backend/src/server/api/endpoints/games/reversi/games.ts similarity index 100% rename from src/server/api/endpoints/games/reversi/games.ts rename to packages/backend/src/server/api/endpoints/games/reversi/games.ts diff --git a/src/server/api/endpoints/games/reversi/games/show.ts b/packages/backend/src/server/api/endpoints/games/reversi/games/show.ts similarity index 100% rename from src/server/api/endpoints/games/reversi/games/show.ts rename to packages/backend/src/server/api/endpoints/games/reversi/games/show.ts diff --git a/src/server/api/endpoints/games/reversi/games/surrender.ts b/packages/backend/src/server/api/endpoints/games/reversi/games/surrender.ts similarity index 100% rename from src/server/api/endpoints/games/reversi/games/surrender.ts rename to packages/backend/src/server/api/endpoints/games/reversi/games/surrender.ts diff --git a/src/server/api/endpoints/games/reversi/invitations.ts b/packages/backend/src/server/api/endpoints/games/reversi/invitations.ts similarity index 100% rename from src/server/api/endpoints/games/reversi/invitations.ts rename to packages/backend/src/server/api/endpoints/games/reversi/invitations.ts diff --git a/src/server/api/endpoints/games/reversi/match.ts b/packages/backend/src/server/api/endpoints/games/reversi/match.ts similarity index 100% rename from src/server/api/endpoints/games/reversi/match.ts rename to packages/backend/src/server/api/endpoints/games/reversi/match.ts diff --git a/src/server/api/endpoints/games/reversi/match/cancel.ts b/packages/backend/src/server/api/endpoints/games/reversi/match/cancel.ts similarity index 100% rename from src/server/api/endpoints/games/reversi/match/cancel.ts rename to packages/backend/src/server/api/endpoints/games/reversi/match/cancel.ts diff --git a/src/server/api/endpoints/get-online-users-count.ts b/packages/backend/src/server/api/endpoints/get-online-users-count.ts similarity index 100% rename from src/server/api/endpoints/get-online-users-count.ts rename to packages/backend/src/server/api/endpoints/get-online-users-count.ts diff --git a/src/server/api/endpoints/hashtags/list.ts b/packages/backend/src/server/api/endpoints/hashtags/list.ts similarity index 100% rename from src/server/api/endpoints/hashtags/list.ts rename to packages/backend/src/server/api/endpoints/hashtags/list.ts diff --git a/src/server/api/endpoints/hashtags/search.ts b/packages/backend/src/server/api/endpoints/hashtags/search.ts similarity index 100% rename from src/server/api/endpoints/hashtags/search.ts rename to packages/backend/src/server/api/endpoints/hashtags/search.ts diff --git a/src/server/api/endpoints/hashtags/show.ts b/packages/backend/src/server/api/endpoints/hashtags/show.ts similarity index 100% rename from src/server/api/endpoints/hashtags/show.ts rename to packages/backend/src/server/api/endpoints/hashtags/show.ts diff --git a/src/server/api/endpoints/hashtags/trend.ts b/packages/backend/src/server/api/endpoints/hashtags/trend.ts similarity index 100% rename from src/server/api/endpoints/hashtags/trend.ts rename to packages/backend/src/server/api/endpoints/hashtags/trend.ts diff --git a/src/server/api/endpoints/hashtags/users.ts b/packages/backend/src/server/api/endpoints/hashtags/users.ts similarity index 100% rename from src/server/api/endpoints/hashtags/users.ts rename to packages/backend/src/server/api/endpoints/hashtags/users.ts diff --git a/src/server/api/endpoints/i.ts b/packages/backend/src/server/api/endpoints/i.ts similarity index 100% rename from src/server/api/endpoints/i.ts rename to packages/backend/src/server/api/endpoints/i.ts diff --git a/src/server/api/endpoints/i/2fa/done.ts b/packages/backend/src/server/api/endpoints/i/2fa/done.ts similarity index 100% rename from src/server/api/endpoints/i/2fa/done.ts rename to packages/backend/src/server/api/endpoints/i/2fa/done.ts diff --git a/src/server/api/endpoints/i/2fa/key-done.ts b/packages/backend/src/server/api/endpoints/i/2fa/key-done.ts similarity index 100% rename from src/server/api/endpoints/i/2fa/key-done.ts rename to packages/backend/src/server/api/endpoints/i/2fa/key-done.ts diff --git a/src/server/api/endpoints/i/2fa/password-less.ts b/packages/backend/src/server/api/endpoints/i/2fa/password-less.ts similarity index 100% rename from src/server/api/endpoints/i/2fa/password-less.ts rename to packages/backend/src/server/api/endpoints/i/2fa/password-less.ts diff --git a/src/server/api/endpoints/i/2fa/register-key.ts b/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts similarity index 100% rename from src/server/api/endpoints/i/2fa/register-key.ts rename to packages/backend/src/server/api/endpoints/i/2fa/register-key.ts diff --git a/src/server/api/endpoints/i/2fa/register.ts b/packages/backend/src/server/api/endpoints/i/2fa/register.ts similarity index 100% rename from src/server/api/endpoints/i/2fa/register.ts rename to packages/backend/src/server/api/endpoints/i/2fa/register.ts diff --git a/src/server/api/endpoints/i/2fa/remove-key.ts b/packages/backend/src/server/api/endpoints/i/2fa/remove-key.ts similarity index 100% rename from src/server/api/endpoints/i/2fa/remove-key.ts rename to packages/backend/src/server/api/endpoints/i/2fa/remove-key.ts diff --git a/src/server/api/endpoints/i/2fa/unregister.ts b/packages/backend/src/server/api/endpoints/i/2fa/unregister.ts similarity index 100% rename from src/server/api/endpoints/i/2fa/unregister.ts rename to packages/backend/src/server/api/endpoints/i/2fa/unregister.ts diff --git a/src/server/api/endpoints/i/apps.ts b/packages/backend/src/server/api/endpoints/i/apps.ts similarity index 100% rename from src/server/api/endpoints/i/apps.ts rename to packages/backend/src/server/api/endpoints/i/apps.ts diff --git a/src/server/api/endpoints/i/authorized-apps.ts b/packages/backend/src/server/api/endpoints/i/authorized-apps.ts similarity index 100% rename from src/server/api/endpoints/i/authorized-apps.ts rename to packages/backend/src/server/api/endpoints/i/authorized-apps.ts diff --git a/src/server/api/endpoints/i/change-password.ts b/packages/backend/src/server/api/endpoints/i/change-password.ts similarity index 100% rename from src/server/api/endpoints/i/change-password.ts rename to packages/backend/src/server/api/endpoints/i/change-password.ts diff --git a/src/server/api/endpoints/i/delete-account.ts b/packages/backend/src/server/api/endpoints/i/delete-account.ts similarity index 100% rename from src/server/api/endpoints/i/delete-account.ts rename to packages/backend/src/server/api/endpoints/i/delete-account.ts diff --git a/src/server/api/endpoints/i/export-blocking.ts b/packages/backend/src/server/api/endpoints/i/export-blocking.ts similarity index 100% rename from src/server/api/endpoints/i/export-blocking.ts rename to packages/backend/src/server/api/endpoints/i/export-blocking.ts diff --git a/src/server/api/endpoints/i/export-following.ts b/packages/backend/src/server/api/endpoints/i/export-following.ts similarity index 100% rename from src/server/api/endpoints/i/export-following.ts rename to packages/backend/src/server/api/endpoints/i/export-following.ts diff --git a/src/server/api/endpoints/i/export-mute.ts b/packages/backend/src/server/api/endpoints/i/export-mute.ts similarity index 100% rename from src/server/api/endpoints/i/export-mute.ts rename to packages/backend/src/server/api/endpoints/i/export-mute.ts diff --git a/src/server/api/endpoints/i/export-notes.ts b/packages/backend/src/server/api/endpoints/i/export-notes.ts similarity index 100% rename from src/server/api/endpoints/i/export-notes.ts rename to packages/backend/src/server/api/endpoints/i/export-notes.ts diff --git a/src/server/api/endpoints/i/export-user-lists.ts b/packages/backend/src/server/api/endpoints/i/export-user-lists.ts similarity index 100% rename from src/server/api/endpoints/i/export-user-lists.ts rename to packages/backend/src/server/api/endpoints/i/export-user-lists.ts diff --git a/src/server/api/endpoints/i/favorites.ts b/packages/backend/src/server/api/endpoints/i/favorites.ts similarity index 100% rename from src/server/api/endpoints/i/favorites.ts rename to packages/backend/src/server/api/endpoints/i/favorites.ts diff --git a/src/server/api/endpoints/i/gallery/likes.ts b/packages/backend/src/server/api/endpoints/i/gallery/likes.ts similarity index 100% rename from src/server/api/endpoints/i/gallery/likes.ts rename to packages/backend/src/server/api/endpoints/i/gallery/likes.ts diff --git a/src/server/api/endpoints/i/gallery/posts.ts b/packages/backend/src/server/api/endpoints/i/gallery/posts.ts similarity index 100% rename from src/server/api/endpoints/i/gallery/posts.ts rename to packages/backend/src/server/api/endpoints/i/gallery/posts.ts diff --git a/src/server/api/endpoints/i/get-word-muted-notes-count.ts b/packages/backend/src/server/api/endpoints/i/get-word-muted-notes-count.ts similarity index 100% rename from src/server/api/endpoints/i/get-word-muted-notes-count.ts rename to packages/backend/src/server/api/endpoints/i/get-word-muted-notes-count.ts diff --git a/src/server/api/endpoints/i/import-blocking.ts b/packages/backend/src/server/api/endpoints/i/import-blocking.ts similarity index 100% rename from src/server/api/endpoints/i/import-blocking.ts rename to packages/backend/src/server/api/endpoints/i/import-blocking.ts diff --git a/src/server/api/endpoints/i/import-following.ts b/packages/backend/src/server/api/endpoints/i/import-following.ts similarity index 100% rename from src/server/api/endpoints/i/import-following.ts rename to packages/backend/src/server/api/endpoints/i/import-following.ts diff --git a/src/server/api/endpoints/i/import-muting.ts b/packages/backend/src/server/api/endpoints/i/import-muting.ts similarity index 100% rename from src/server/api/endpoints/i/import-muting.ts rename to packages/backend/src/server/api/endpoints/i/import-muting.ts diff --git a/src/server/api/endpoints/i/import-user-lists.ts b/packages/backend/src/server/api/endpoints/i/import-user-lists.ts similarity index 100% rename from src/server/api/endpoints/i/import-user-lists.ts rename to packages/backend/src/server/api/endpoints/i/import-user-lists.ts diff --git a/src/server/api/endpoints/i/notifications.ts b/packages/backend/src/server/api/endpoints/i/notifications.ts similarity index 100% rename from src/server/api/endpoints/i/notifications.ts rename to packages/backend/src/server/api/endpoints/i/notifications.ts diff --git a/src/server/api/endpoints/i/page-likes.ts b/packages/backend/src/server/api/endpoints/i/page-likes.ts similarity index 100% rename from src/server/api/endpoints/i/page-likes.ts rename to packages/backend/src/server/api/endpoints/i/page-likes.ts diff --git a/src/server/api/endpoints/i/pages.ts b/packages/backend/src/server/api/endpoints/i/pages.ts similarity index 100% rename from src/server/api/endpoints/i/pages.ts rename to packages/backend/src/server/api/endpoints/i/pages.ts diff --git a/src/server/api/endpoints/i/pin.ts b/packages/backend/src/server/api/endpoints/i/pin.ts similarity index 100% rename from src/server/api/endpoints/i/pin.ts rename to packages/backend/src/server/api/endpoints/i/pin.ts diff --git a/src/server/api/endpoints/i/read-all-messaging-messages.ts b/packages/backend/src/server/api/endpoints/i/read-all-messaging-messages.ts similarity index 100% rename from src/server/api/endpoints/i/read-all-messaging-messages.ts rename to packages/backend/src/server/api/endpoints/i/read-all-messaging-messages.ts diff --git a/src/server/api/endpoints/i/read-all-unread-notes.ts b/packages/backend/src/server/api/endpoints/i/read-all-unread-notes.ts similarity index 100% rename from src/server/api/endpoints/i/read-all-unread-notes.ts rename to packages/backend/src/server/api/endpoints/i/read-all-unread-notes.ts diff --git a/src/server/api/endpoints/i/read-announcement.ts b/packages/backend/src/server/api/endpoints/i/read-announcement.ts similarity index 100% rename from src/server/api/endpoints/i/read-announcement.ts rename to packages/backend/src/server/api/endpoints/i/read-announcement.ts diff --git a/src/server/api/endpoints/i/regenerate-token.ts b/packages/backend/src/server/api/endpoints/i/regenerate-token.ts similarity index 100% rename from src/server/api/endpoints/i/regenerate-token.ts rename to packages/backend/src/server/api/endpoints/i/regenerate-token.ts diff --git a/src/server/api/endpoints/i/registry/get-all.ts b/packages/backend/src/server/api/endpoints/i/registry/get-all.ts similarity index 100% rename from src/server/api/endpoints/i/registry/get-all.ts rename to packages/backend/src/server/api/endpoints/i/registry/get-all.ts diff --git a/src/server/api/endpoints/i/registry/get-detail.ts b/packages/backend/src/server/api/endpoints/i/registry/get-detail.ts similarity index 100% rename from src/server/api/endpoints/i/registry/get-detail.ts rename to packages/backend/src/server/api/endpoints/i/registry/get-detail.ts diff --git a/src/server/api/endpoints/i/registry/get.ts b/packages/backend/src/server/api/endpoints/i/registry/get.ts similarity index 100% rename from src/server/api/endpoints/i/registry/get.ts rename to packages/backend/src/server/api/endpoints/i/registry/get.ts diff --git a/src/server/api/endpoints/i/registry/keys-with-type.ts b/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts similarity index 100% rename from src/server/api/endpoints/i/registry/keys-with-type.ts rename to packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts diff --git a/src/server/api/endpoints/i/registry/keys.ts b/packages/backend/src/server/api/endpoints/i/registry/keys.ts similarity index 100% rename from src/server/api/endpoints/i/registry/keys.ts rename to packages/backend/src/server/api/endpoints/i/registry/keys.ts diff --git a/src/server/api/endpoints/i/registry/remove.ts b/packages/backend/src/server/api/endpoints/i/registry/remove.ts similarity index 100% rename from src/server/api/endpoints/i/registry/remove.ts rename to packages/backend/src/server/api/endpoints/i/registry/remove.ts diff --git a/src/server/api/endpoints/i/registry/scopes.ts b/packages/backend/src/server/api/endpoints/i/registry/scopes.ts similarity index 100% rename from src/server/api/endpoints/i/registry/scopes.ts rename to packages/backend/src/server/api/endpoints/i/registry/scopes.ts diff --git a/src/server/api/endpoints/i/registry/set.ts b/packages/backend/src/server/api/endpoints/i/registry/set.ts similarity index 100% rename from src/server/api/endpoints/i/registry/set.ts rename to packages/backend/src/server/api/endpoints/i/registry/set.ts diff --git a/src/server/api/endpoints/i/revoke-token.ts b/packages/backend/src/server/api/endpoints/i/revoke-token.ts similarity index 100% rename from src/server/api/endpoints/i/revoke-token.ts rename to packages/backend/src/server/api/endpoints/i/revoke-token.ts diff --git a/src/server/api/endpoints/i/signin-history.ts b/packages/backend/src/server/api/endpoints/i/signin-history.ts similarity index 100% rename from src/server/api/endpoints/i/signin-history.ts rename to packages/backend/src/server/api/endpoints/i/signin-history.ts diff --git a/src/server/api/endpoints/i/unpin.ts b/packages/backend/src/server/api/endpoints/i/unpin.ts similarity index 100% rename from src/server/api/endpoints/i/unpin.ts rename to packages/backend/src/server/api/endpoints/i/unpin.ts diff --git a/src/server/api/endpoints/i/update-email.ts b/packages/backend/src/server/api/endpoints/i/update-email.ts similarity index 100% rename from src/server/api/endpoints/i/update-email.ts rename to packages/backend/src/server/api/endpoints/i/update-email.ts diff --git a/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts similarity index 100% rename from src/server/api/endpoints/i/update.ts rename to packages/backend/src/server/api/endpoints/i/update.ts diff --git a/src/server/api/endpoints/i/user-group-invites.ts b/packages/backend/src/server/api/endpoints/i/user-group-invites.ts similarity index 100% rename from src/server/api/endpoints/i/user-group-invites.ts rename to packages/backend/src/server/api/endpoints/i/user-group-invites.ts diff --git a/src/server/api/endpoints/messaging/history.ts b/packages/backend/src/server/api/endpoints/messaging/history.ts similarity index 100% rename from src/server/api/endpoints/messaging/history.ts rename to packages/backend/src/server/api/endpoints/messaging/history.ts diff --git a/src/server/api/endpoints/messaging/messages.ts b/packages/backend/src/server/api/endpoints/messaging/messages.ts similarity index 100% rename from src/server/api/endpoints/messaging/messages.ts rename to packages/backend/src/server/api/endpoints/messaging/messages.ts diff --git a/src/server/api/endpoints/messaging/messages/create.ts b/packages/backend/src/server/api/endpoints/messaging/messages/create.ts similarity index 100% rename from src/server/api/endpoints/messaging/messages/create.ts rename to packages/backend/src/server/api/endpoints/messaging/messages/create.ts diff --git a/src/server/api/endpoints/messaging/messages/delete.ts b/packages/backend/src/server/api/endpoints/messaging/messages/delete.ts similarity index 100% rename from src/server/api/endpoints/messaging/messages/delete.ts rename to packages/backend/src/server/api/endpoints/messaging/messages/delete.ts diff --git a/src/server/api/endpoints/messaging/messages/read.ts b/packages/backend/src/server/api/endpoints/messaging/messages/read.ts similarity index 100% rename from src/server/api/endpoints/messaging/messages/read.ts rename to packages/backend/src/server/api/endpoints/messaging/messages/read.ts diff --git a/src/server/api/endpoints/meta.ts b/packages/backend/src/server/api/endpoints/meta.ts similarity index 100% rename from src/server/api/endpoints/meta.ts rename to packages/backend/src/server/api/endpoints/meta.ts diff --git a/src/server/api/endpoints/miauth/gen-token.ts b/packages/backend/src/server/api/endpoints/miauth/gen-token.ts similarity index 100% rename from src/server/api/endpoints/miauth/gen-token.ts rename to packages/backend/src/server/api/endpoints/miauth/gen-token.ts diff --git a/src/server/api/endpoints/mute/create.ts b/packages/backend/src/server/api/endpoints/mute/create.ts similarity index 100% rename from src/server/api/endpoints/mute/create.ts rename to packages/backend/src/server/api/endpoints/mute/create.ts diff --git a/src/server/api/endpoints/mute/delete.ts b/packages/backend/src/server/api/endpoints/mute/delete.ts similarity index 100% rename from src/server/api/endpoints/mute/delete.ts rename to packages/backend/src/server/api/endpoints/mute/delete.ts diff --git a/src/server/api/endpoints/mute/list.ts b/packages/backend/src/server/api/endpoints/mute/list.ts similarity index 100% rename from src/server/api/endpoints/mute/list.ts rename to packages/backend/src/server/api/endpoints/mute/list.ts diff --git a/src/server/api/endpoints/my/apps.ts b/packages/backend/src/server/api/endpoints/my/apps.ts similarity index 100% rename from src/server/api/endpoints/my/apps.ts rename to packages/backend/src/server/api/endpoints/my/apps.ts diff --git a/src/server/api/endpoints/notes.ts b/packages/backend/src/server/api/endpoints/notes.ts similarity index 100% rename from src/server/api/endpoints/notes.ts rename to packages/backend/src/server/api/endpoints/notes.ts diff --git a/src/server/api/endpoints/notes/children.ts b/packages/backend/src/server/api/endpoints/notes/children.ts similarity index 100% rename from src/server/api/endpoints/notes/children.ts rename to packages/backend/src/server/api/endpoints/notes/children.ts diff --git a/src/server/api/endpoints/notes/clips.ts b/packages/backend/src/server/api/endpoints/notes/clips.ts similarity index 100% rename from src/server/api/endpoints/notes/clips.ts rename to packages/backend/src/server/api/endpoints/notes/clips.ts diff --git a/src/server/api/endpoints/notes/conversation.ts b/packages/backend/src/server/api/endpoints/notes/conversation.ts similarity index 100% rename from src/server/api/endpoints/notes/conversation.ts rename to packages/backend/src/server/api/endpoints/notes/conversation.ts diff --git a/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts similarity index 100% rename from src/server/api/endpoints/notes/create.ts rename to packages/backend/src/server/api/endpoints/notes/create.ts diff --git a/src/server/api/endpoints/notes/delete.ts b/packages/backend/src/server/api/endpoints/notes/delete.ts similarity index 100% rename from src/server/api/endpoints/notes/delete.ts rename to packages/backend/src/server/api/endpoints/notes/delete.ts diff --git a/src/server/api/endpoints/notes/favorites/create.ts b/packages/backend/src/server/api/endpoints/notes/favorites/create.ts similarity index 100% rename from src/server/api/endpoints/notes/favorites/create.ts rename to packages/backend/src/server/api/endpoints/notes/favorites/create.ts diff --git a/src/server/api/endpoints/notes/favorites/delete.ts b/packages/backend/src/server/api/endpoints/notes/favorites/delete.ts similarity index 100% rename from src/server/api/endpoints/notes/favorites/delete.ts rename to packages/backend/src/server/api/endpoints/notes/favorites/delete.ts diff --git a/src/server/api/endpoints/notes/featured.ts b/packages/backend/src/server/api/endpoints/notes/featured.ts similarity index 100% rename from src/server/api/endpoints/notes/featured.ts rename to packages/backend/src/server/api/endpoints/notes/featured.ts diff --git a/src/server/api/endpoints/notes/global-timeline.ts b/packages/backend/src/server/api/endpoints/notes/global-timeline.ts similarity index 100% rename from src/server/api/endpoints/notes/global-timeline.ts rename to packages/backend/src/server/api/endpoints/notes/global-timeline.ts diff --git a/src/server/api/endpoints/notes/hybrid-timeline.ts b/packages/backend/src/server/api/endpoints/notes/hybrid-timeline.ts similarity index 100% rename from src/server/api/endpoints/notes/hybrid-timeline.ts rename to packages/backend/src/server/api/endpoints/notes/hybrid-timeline.ts diff --git a/src/server/api/endpoints/notes/local-timeline.ts b/packages/backend/src/server/api/endpoints/notes/local-timeline.ts similarity index 100% rename from src/server/api/endpoints/notes/local-timeline.ts rename to packages/backend/src/server/api/endpoints/notes/local-timeline.ts diff --git a/src/server/api/endpoints/notes/mentions.ts b/packages/backend/src/server/api/endpoints/notes/mentions.ts similarity index 100% rename from src/server/api/endpoints/notes/mentions.ts rename to packages/backend/src/server/api/endpoints/notes/mentions.ts diff --git a/src/server/api/endpoints/notes/polls/recommendation.ts b/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts similarity index 100% rename from src/server/api/endpoints/notes/polls/recommendation.ts rename to packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts diff --git a/src/server/api/endpoints/notes/polls/vote.ts b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts similarity index 100% rename from src/server/api/endpoints/notes/polls/vote.ts rename to packages/backend/src/server/api/endpoints/notes/polls/vote.ts diff --git a/src/server/api/endpoints/notes/reactions.ts b/packages/backend/src/server/api/endpoints/notes/reactions.ts similarity index 100% rename from src/server/api/endpoints/notes/reactions.ts rename to packages/backend/src/server/api/endpoints/notes/reactions.ts diff --git a/src/server/api/endpoints/notes/reactions/create.ts b/packages/backend/src/server/api/endpoints/notes/reactions/create.ts similarity index 100% rename from src/server/api/endpoints/notes/reactions/create.ts rename to packages/backend/src/server/api/endpoints/notes/reactions/create.ts diff --git a/src/server/api/endpoints/notes/reactions/delete.ts b/packages/backend/src/server/api/endpoints/notes/reactions/delete.ts similarity index 100% rename from src/server/api/endpoints/notes/reactions/delete.ts rename to packages/backend/src/server/api/endpoints/notes/reactions/delete.ts diff --git a/src/server/api/endpoints/notes/renotes.ts b/packages/backend/src/server/api/endpoints/notes/renotes.ts similarity index 100% rename from src/server/api/endpoints/notes/renotes.ts rename to packages/backend/src/server/api/endpoints/notes/renotes.ts diff --git a/src/server/api/endpoints/notes/replies.ts b/packages/backend/src/server/api/endpoints/notes/replies.ts similarity index 100% rename from src/server/api/endpoints/notes/replies.ts rename to packages/backend/src/server/api/endpoints/notes/replies.ts diff --git a/src/server/api/endpoints/notes/search-by-tag.ts b/packages/backend/src/server/api/endpoints/notes/search-by-tag.ts similarity index 100% rename from src/server/api/endpoints/notes/search-by-tag.ts rename to packages/backend/src/server/api/endpoints/notes/search-by-tag.ts diff --git a/src/server/api/endpoints/notes/search.ts b/packages/backend/src/server/api/endpoints/notes/search.ts similarity index 100% rename from src/server/api/endpoints/notes/search.ts rename to packages/backend/src/server/api/endpoints/notes/search.ts diff --git a/src/server/api/endpoints/notes/show.ts b/packages/backend/src/server/api/endpoints/notes/show.ts similarity index 100% rename from src/server/api/endpoints/notes/show.ts rename to packages/backend/src/server/api/endpoints/notes/show.ts diff --git a/src/server/api/endpoints/notes/state.ts b/packages/backend/src/server/api/endpoints/notes/state.ts similarity index 100% rename from src/server/api/endpoints/notes/state.ts rename to packages/backend/src/server/api/endpoints/notes/state.ts diff --git a/src/server/api/endpoints/notes/thread-muting/create.ts b/packages/backend/src/server/api/endpoints/notes/thread-muting/create.ts similarity index 100% rename from src/server/api/endpoints/notes/thread-muting/create.ts rename to packages/backend/src/server/api/endpoints/notes/thread-muting/create.ts diff --git a/src/server/api/endpoints/notes/thread-muting/delete.ts b/packages/backend/src/server/api/endpoints/notes/thread-muting/delete.ts similarity index 100% rename from src/server/api/endpoints/notes/thread-muting/delete.ts rename to packages/backend/src/server/api/endpoints/notes/thread-muting/delete.ts diff --git a/src/server/api/endpoints/notes/timeline.ts b/packages/backend/src/server/api/endpoints/notes/timeline.ts similarity index 100% rename from src/server/api/endpoints/notes/timeline.ts rename to packages/backend/src/server/api/endpoints/notes/timeline.ts diff --git a/src/server/api/endpoints/notes/translate.ts b/packages/backend/src/server/api/endpoints/notes/translate.ts similarity index 100% rename from src/server/api/endpoints/notes/translate.ts rename to packages/backend/src/server/api/endpoints/notes/translate.ts diff --git a/src/server/api/endpoints/notes/unrenote.ts b/packages/backend/src/server/api/endpoints/notes/unrenote.ts similarity index 100% rename from src/server/api/endpoints/notes/unrenote.ts rename to packages/backend/src/server/api/endpoints/notes/unrenote.ts diff --git a/src/server/api/endpoints/notes/user-list-timeline.ts b/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts similarity index 100% rename from src/server/api/endpoints/notes/user-list-timeline.ts rename to packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts diff --git a/src/server/api/endpoints/notes/watching/create.ts b/packages/backend/src/server/api/endpoints/notes/watching/create.ts similarity index 100% rename from src/server/api/endpoints/notes/watching/create.ts rename to packages/backend/src/server/api/endpoints/notes/watching/create.ts diff --git a/src/server/api/endpoints/notes/watching/delete.ts b/packages/backend/src/server/api/endpoints/notes/watching/delete.ts similarity index 100% rename from src/server/api/endpoints/notes/watching/delete.ts rename to packages/backend/src/server/api/endpoints/notes/watching/delete.ts diff --git a/src/server/api/endpoints/notifications/create.ts b/packages/backend/src/server/api/endpoints/notifications/create.ts similarity index 100% rename from src/server/api/endpoints/notifications/create.ts rename to packages/backend/src/server/api/endpoints/notifications/create.ts diff --git a/src/server/api/endpoints/notifications/mark-all-as-read.ts b/packages/backend/src/server/api/endpoints/notifications/mark-all-as-read.ts similarity index 100% rename from src/server/api/endpoints/notifications/mark-all-as-read.ts rename to packages/backend/src/server/api/endpoints/notifications/mark-all-as-read.ts diff --git a/src/server/api/endpoints/notifications/read.ts b/packages/backend/src/server/api/endpoints/notifications/read.ts similarity index 100% rename from src/server/api/endpoints/notifications/read.ts rename to packages/backend/src/server/api/endpoints/notifications/read.ts diff --git a/src/server/api/endpoints/page-push.ts b/packages/backend/src/server/api/endpoints/page-push.ts similarity index 100% rename from src/server/api/endpoints/page-push.ts rename to packages/backend/src/server/api/endpoints/page-push.ts diff --git a/src/server/api/endpoints/pages/create.ts b/packages/backend/src/server/api/endpoints/pages/create.ts similarity index 100% rename from src/server/api/endpoints/pages/create.ts rename to packages/backend/src/server/api/endpoints/pages/create.ts diff --git a/src/server/api/endpoints/pages/delete.ts b/packages/backend/src/server/api/endpoints/pages/delete.ts similarity index 100% rename from src/server/api/endpoints/pages/delete.ts rename to packages/backend/src/server/api/endpoints/pages/delete.ts diff --git a/src/server/api/endpoints/pages/featured.ts b/packages/backend/src/server/api/endpoints/pages/featured.ts similarity index 100% rename from src/server/api/endpoints/pages/featured.ts rename to packages/backend/src/server/api/endpoints/pages/featured.ts diff --git a/src/server/api/endpoints/pages/like.ts b/packages/backend/src/server/api/endpoints/pages/like.ts similarity index 100% rename from src/server/api/endpoints/pages/like.ts rename to packages/backend/src/server/api/endpoints/pages/like.ts diff --git a/src/server/api/endpoints/pages/show.ts b/packages/backend/src/server/api/endpoints/pages/show.ts similarity index 100% rename from src/server/api/endpoints/pages/show.ts rename to packages/backend/src/server/api/endpoints/pages/show.ts diff --git a/src/server/api/endpoints/pages/unlike.ts b/packages/backend/src/server/api/endpoints/pages/unlike.ts similarity index 100% rename from src/server/api/endpoints/pages/unlike.ts rename to packages/backend/src/server/api/endpoints/pages/unlike.ts diff --git a/src/server/api/endpoints/pages/update.ts b/packages/backend/src/server/api/endpoints/pages/update.ts similarity index 100% rename from src/server/api/endpoints/pages/update.ts rename to packages/backend/src/server/api/endpoints/pages/update.ts diff --git a/src/server/api/endpoints/ping.ts b/packages/backend/src/server/api/endpoints/ping.ts similarity index 100% rename from src/server/api/endpoints/ping.ts rename to packages/backend/src/server/api/endpoints/ping.ts diff --git a/src/server/api/endpoints/pinned-users.ts b/packages/backend/src/server/api/endpoints/pinned-users.ts similarity index 90% rename from src/server/api/endpoints/pinned-users.ts rename to packages/backend/src/server/api/endpoints/pinned-users.ts index e88dfbd53..39cf7b0df 100644 --- a/src/server/api/endpoints/pinned-users.ts +++ b/packages/backend/src/server/api/endpoints/pinned-users.ts @@ -1,7 +1,7 @@ import define from '../define'; import { Users } from '@/models/index'; import { fetchMeta } from '@/misc/fetch-meta'; -import { parseAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; import { User } from '@/models/entities/user'; export const meta = { @@ -26,7 +26,7 @@ export const meta = { export default define(meta, async (ps, me) => { const meta = await fetchMeta(); - const users = await Promise.all(meta.pinnedUsers.map(acct => Users.findOne(parseAcct(acct)))); + const users = await Promise.all(meta.pinnedUsers.map(acct => Users.findOne(Acct.parse(acct)))); return await Users.packMany(users.filter(x => x !== undefined) as User[], me, { detail: true }); }); diff --git a/src/server/api/endpoints/promo/read.ts b/packages/backend/src/server/api/endpoints/promo/read.ts similarity index 100% rename from src/server/api/endpoints/promo/read.ts rename to packages/backend/src/server/api/endpoints/promo/read.ts diff --git a/src/server/api/endpoints/request-reset-password.ts b/packages/backend/src/server/api/endpoints/request-reset-password.ts similarity index 100% rename from src/server/api/endpoints/request-reset-password.ts rename to packages/backend/src/server/api/endpoints/request-reset-password.ts diff --git a/src/server/api/endpoints/reset-db.ts b/packages/backend/src/server/api/endpoints/reset-db.ts similarity index 100% rename from src/server/api/endpoints/reset-db.ts rename to packages/backend/src/server/api/endpoints/reset-db.ts diff --git a/src/server/api/endpoints/reset-password.ts b/packages/backend/src/server/api/endpoints/reset-password.ts similarity index 100% rename from src/server/api/endpoints/reset-password.ts rename to packages/backend/src/server/api/endpoints/reset-password.ts diff --git a/src/server/api/endpoints/room/show.ts b/packages/backend/src/server/api/endpoints/room/show.ts similarity index 100% rename from src/server/api/endpoints/room/show.ts rename to packages/backend/src/server/api/endpoints/room/show.ts diff --git a/src/server/api/endpoints/room/update.ts b/packages/backend/src/server/api/endpoints/room/update.ts similarity index 100% rename from src/server/api/endpoints/room/update.ts rename to packages/backend/src/server/api/endpoints/room/update.ts diff --git a/src/server/api/endpoints/server-info.ts b/packages/backend/src/server/api/endpoints/server-info.ts similarity index 100% rename from src/server/api/endpoints/server-info.ts rename to packages/backend/src/server/api/endpoints/server-info.ts diff --git a/src/server/api/endpoints/stats.ts b/packages/backend/src/server/api/endpoints/stats.ts similarity index 100% rename from src/server/api/endpoints/stats.ts rename to packages/backend/src/server/api/endpoints/stats.ts diff --git a/src/server/api/endpoints/sw/register.ts b/packages/backend/src/server/api/endpoints/sw/register.ts similarity index 100% rename from src/server/api/endpoints/sw/register.ts rename to packages/backend/src/server/api/endpoints/sw/register.ts diff --git a/src/server/api/endpoints/sw/unregister.ts b/packages/backend/src/server/api/endpoints/sw/unregister.ts similarity index 100% rename from src/server/api/endpoints/sw/unregister.ts rename to packages/backend/src/server/api/endpoints/sw/unregister.ts diff --git a/src/server/api/endpoints/username/available.ts b/packages/backend/src/server/api/endpoints/username/available.ts similarity index 100% rename from src/server/api/endpoints/username/available.ts rename to packages/backend/src/server/api/endpoints/username/available.ts diff --git a/src/server/api/endpoints/users.ts b/packages/backend/src/server/api/endpoints/users.ts similarity index 100% rename from src/server/api/endpoints/users.ts rename to packages/backend/src/server/api/endpoints/users.ts diff --git a/src/server/api/endpoints/users/clips.ts b/packages/backend/src/server/api/endpoints/users/clips.ts similarity index 100% rename from src/server/api/endpoints/users/clips.ts rename to packages/backend/src/server/api/endpoints/users/clips.ts diff --git a/src/server/api/endpoints/users/followers.ts b/packages/backend/src/server/api/endpoints/users/followers.ts similarity index 100% rename from src/server/api/endpoints/users/followers.ts rename to packages/backend/src/server/api/endpoints/users/followers.ts diff --git a/src/server/api/endpoints/users/following.ts b/packages/backend/src/server/api/endpoints/users/following.ts similarity index 100% rename from src/server/api/endpoints/users/following.ts rename to packages/backend/src/server/api/endpoints/users/following.ts diff --git a/src/server/api/endpoints/users/gallery/posts.ts b/packages/backend/src/server/api/endpoints/users/gallery/posts.ts similarity index 100% rename from src/server/api/endpoints/users/gallery/posts.ts rename to packages/backend/src/server/api/endpoints/users/gallery/posts.ts diff --git a/src/server/api/endpoints/users/get-frequently-replied-users.ts b/packages/backend/src/server/api/endpoints/users/get-frequently-replied-users.ts similarity index 100% rename from src/server/api/endpoints/users/get-frequently-replied-users.ts rename to packages/backend/src/server/api/endpoints/users/get-frequently-replied-users.ts diff --git a/src/server/api/endpoints/users/groups/create.ts b/packages/backend/src/server/api/endpoints/users/groups/create.ts similarity index 100% rename from src/server/api/endpoints/users/groups/create.ts rename to packages/backend/src/server/api/endpoints/users/groups/create.ts diff --git a/src/server/api/endpoints/users/groups/delete.ts b/packages/backend/src/server/api/endpoints/users/groups/delete.ts similarity index 100% rename from src/server/api/endpoints/users/groups/delete.ts rename to packages/backend/src/server/api/endpoints/users/groups/delete.ts diff --git a/src/server/api/endpoints/users/groups/invitations/accept.ts b/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts similarity index 100% rename from src/server/api/endpoints/users/groups/invitations/accept.ts rename to packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts diff --git a/src/server/api/endpoints/users/groups/invitations/reject.ts b/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts similarity index 100% rename from src/server/api/endpoints/users/groups/invitations/reject.ts rename to packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts diff --git a/src/server/api/endpoints/users/groups/invite.ts b/packages/backend/src/server/api/endpoints/users/groups/invite.ts similarity index 100% rename from src/server/api/endpoints/users/groups/invite.ts rename to packages/backend/src/server/api/endpoints/users/groups/invite.ts diff --git a/src/server/api/endpoints/users/groups/joined.ts b/packages/backend/src/server/api/endpoints/users/groups/joined.ts similarity index 100% rename from src/server/api/endpoints/users/groups/joined.ts rename to packages/backend/src/server/api/endpoints/users/groups/joined.ts diff --git a/src/server/api/endpoints/users/groups/leave.ts b/packages/backend/src/server/api/endpoints/users/groups/leave.ts similarity index 100% rename from src/server/api/endpoints/users/groups/leave.ts rename to packages/backend/src/server/api/endpoints/users/groups/leave.ts diff --git a/src/server/api/endpoints/users/groups/owned.ts b/packages/backend/src/server/api/endpoints/users/groups/owned.ts similarity index 100% rename from src/server/api/endpoints/users/groups/owned.ts rename to packages/backend/src/server/api/endpoints/users/groups/owned.ts diff --git a/src/server/api/endpoints/users/groups/pull.ts b/packages/backend/src/server/api/endpoints/users/groups/pull.ts similarity index 100% rename from src/server/api/endpoints/users/groups/pull.ts rename to packages/backend/src/server/api/endpoints/users/groups/pull.ts diff --git a/src/server/api/endpoints/users/groups/show.ts b/packages/backend/src/server/api/endpoints/users/groups/show.ts similarity index 100% rename from src/server/api/endpoints/users/groups/show.ts rename to packages/backend/src/server/api/endpoints/users/groups/show.ts diff --git a/src/server/api/endpoints/users/groups/transfer.ts b/packages/backend/src/server/api/endpoints/users/groups/transfer.ts similarity index 100% rename from src/server/api/endpoints/users/groups/transfer.ts rename to packages/backend/src/server/api/endpoints/users/groups/transfer.ts diff --git a/src/server/api/endpoints/users/groups/update.ts b/packages/backend/src/server/api/endpoints/users/groups/update.ts similarity index 100% rename from src/server/api/endpoints/users/groups/update.ts rename to packages/backend/src/server/api/endpoints/users/groups/update.ts diff --git a/src/server/api/endpoints/users/lists/create.ts b/packages/backend/src/server/api/endpoints/users/lists/create.ts similarity index 100% rename from src/server/api/endpoints/users/lists/create.ts rename to packages/backend/src/server/api/endpoints/users/lists/create.ts diff --git a/src/server/api/endpoints/users/lists/delete.ts b/packages/backend/src/server/api/endpoints/users/lists/delete.ts similarity index 100% rename from src/server/api/endpoints/users/lists/delete.ts rename to packages/backend/src/server/api/endpoints/users/lists/delete.ts diff --git a/src/server/api/endpoints/users/lists/list.ts b/packages/backend/src/server/api/endpoints/users/lists/list.ts similarity index 100% rename from src/server/api/endpoints/users/lists/list.ts rename to packages/backend/src/server/api/endpoints/users/lists/list.ts diff --git a/src/server/api/endpoints/users/lists/pull.ts b/packages/backend/src/server/api/endpoints/users/lists/pull.ts similarity index 100% rename from src/server/api/endpoints/users/lists/pull.ts rename to packages/backend/src/server/api/endpoints/users/lists/pull.ts diff --git a/src/server/api/endpoints/users/lists/push.ts b/packages/backend/src/server/api/endpoints/users/lists/push.ts similarity index 100% rename from src/server/api/endpoints/users/lists/push.ts rename to packages/backend/src/server/api/endpoints/users/lists/push.ts diff --git a/src/server/api/endpoints/users/lists/show.ts b/packages/backend/src/server/api/endpoints/users/lists/show.ts similarity index 100% rename from src/server/api/endpoints/users/lists/show.ts rename to packages/backend/src/server/api/endpoints/users/lists/show.ts diff --git a/src/server/api/endpoints/users/lists/update.ts b/packages/backend/src/server/api/endpoints/users/lists/update.ts similarity index 100% rename from src/server/api/endpoints/users/lists/update.ts rename to packages/backend/src/server/api/endpoints/users/lists/update.ts diff --git a/src/server/api/endpoints/users/notes.ts b/packages/backend/src/server/api/endpoints/users/notes.ts similarity index 100% rename from src/server/api/endpoints/users/notes.ts rename to packages/backend/src/server/api/endpoints/users/notes.ts diff --git a/src/server/api/endpoints/users/pages.ts b/packages/backend/src/server/api/endpoints/users/pages.ts similarity index 100% rename from src/server/api/endpoints/users/pages.ts rename to packages/backend/src/server/api/endpoints/users/pages.ts diff --git a/src/server/api/endpoints/users/reactions.ts b/packages/backend/src/server/api/endpoints/users/reactions.ts similarity index 100% rename from src/server/api/endpoints/users/reactions.ts rename to packages/backend/src/server/api/endpoints/users/reactions.ts diff --git a/src/server/api/endpoints/users/recommendation.ts b/packages/backend/src/server/api/endpoints/users/recommendation.ts similarity index 100% rename from src/server/api/endpoints/users/recommendation.ts rename to packages/backend/src/server/api/endpoints/users/recommendation.ts diff --git a/src/server/api/endpoints/users/relation.ts b/packages/backend/src/server/api/endpoints/users/relation.ts similarity index 100% rename from src/server/api/endpoints/users/relation.ts rename to packages/backend/src/server/api/endpoints/users/relation.ts diff --git a/src/server/api/endpoints/users/report-abuse.ts b/packages/backend/src/server/api/endpoints/users/report-abuse.ts similarity index 100% rename from src/server/api/endpoints/users/report-abuse.ts rename to packages/backend/src/server/api/endpoints/users/report-abuse.ts diff --git a/src/server/api/endpoints/users/search-by-username-and-host.ts b/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts similarity index 100% rename from src/server/api/endpoints/users/search-by-username-and-host.ts rename to packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts diff --git a/src/server/api/endpoints/users/search.ts b/packages/backend/src/server/api/endpoints/users/search.ts similarity index 100% rename from src/server/api/endpoints/users/search.ts rename to packages/backend/src/server/api/endpoints/users/search.ts diff --git a/src/server/api/endpoints/users/show.ts b/packages/backend/src/server/api/endpoints/users/show.ts similarity index 100% rename from src/server/api/endpoints/users/show.ts rename to packages/backend/src/server/api/endpoints/users/show.ts diff --git a/src/server/api/endpoints/users/stats.ts b/packages/backend/src/server/api/endpoints/users/stats.ts similarity index 100% rename from src/server/api/endpoints/users/stats.ts rename to packages/backend/src/server/api/endpoints/users/stats.ts diff --git a/src/server/api/error.ts b/packages/backend/src/server/api/error.ts similarity index 100% rename from src/server/api/error.ts rename to packages/backend/src/server/api/error.ts diff --git a/src/server/api/index.ts b/packages/backend/src/server/api/index.ts similarity index 100% rename from src/server/api/index.ts rename to packages/backend/src/server/api/index.ts diff --git a/src/server/api/limiter.ts b/packages/backend/src/server/api/limiter.ts similarity index 86% rename from src/server/api/limiter.ts rename to packages/backend/src/server/api/limiter.ts index e677aad0b..1e2fe5bcb 100644 --- a/src/server/api/limiter.ts +++ b/packages/backend/src/server/api/limiter.ts @@ -1,7 +1,7 @@ import * as Limiter from 'ratelimiter'; import { redisClient } from '../../db/redis'; import { IEndpoint } from './endpoints'; -import { getAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; import { User } from '@/models/entities/user'; import Logger from '@/services/logger'; @@ -43,7 +43,7 @@ export default (endpoint: IEndpoint, user: User) => new Promise((ok, rejec return reject('ERR'); } - logger.debug(`@${getAcct(user)} ${endpoint.name} min remaining: ${info.remaining}`); + logger.debug(`@${Acct.toString(user)} ${endpoint.name} min remaining: ${info.remaining}`); if (info.remaining === 0) { reject('BRIEF_REQUEST_INTERVAL'); @@ -71,7 +71,7 @@ export default (endpoint: IEndpoint, user: User) => new Promise((ok, rejec return reject('ERR'); } - logger.debug(`@${getAcct(user)} ${endpoint.name} max remaining: ${info.remaining}`); + logger.debug(`@${Acct.toString(user)} ${endpoint.name} max remaining: ${info.remaining}`); if (info.remaining === 0) { reject('RATE_LIMIT_EXCEEDED'); diff --git a/src/server/api/logger.ts b/packages/backend/src/server/api/logger.ts similarity index 100% rename from src/server/api/logger.ts rename to packages/backend/src/server/api/logger.ts diff --git a/src/server/api/openapi/errors.ts b/packages/backend/src/server/api/openapi/errors.ts similarity index 100% rename from src/server/api/openapi/errors.ts rename to packages/backend/src/server/api/openapi/errors.ts diff --git a/src/server/api/openapi/gen-spec.ts b/packages/backend/src/server/api/openapi/gen-spec.ts similarity index 98% rename from src/server/api/openapi/gen-spec.ts rename to packages/backend/src/server/api/openapi/gen-spec.ts index 9db47c6df..48b819727 100644 --- a/src/server/api/openapi/gen-spec.ts +++ b/packages/backend/src/server/api/openapi/gen-spec.ts @@ -3,7 +3,6 @@ import { Context } from 'cafy'; import config from '@/config/index'; import { errors as basicErrors } from './errors'; import { schemas, convertSchemaToOpenApiSchema } from './schemas'; -import { getDescription } from './description'; export function genOpenapiSpec(lang = 'ja-JP') { const spec = { @@ -12,7 +11,6 @@ export function genOpenapiSpec(lang = 'ja-JP') { info: { version: 'v1', title: 'Misskey API', - description: getDescription(lang), 'x-logo': { url: '/static-assets/api-doc.png' } }, diff --git a/src/server/api/openapi/schemas.ts b/packages/backend/src/server/api/openapi/schemas.ts similarity index 100% rename from src/server/api/openapi/schemas.ts rename to packages/backend/src/server/api/openapi/schemas.ts diff --git a/src/server/api/private/signin.ts b/packages/backend/src/server/api/private/signin.ts similarity index 100% rename from src/server/api/private/signin.ts rename to packages/backend/src/server/api/private/signin.ts diff --git a/src/server/api/private/signup-pending.ts b/packages/backend/src/server/api/private/signup-pending.ts similarity index 100% rename from src/server/api/private/signup-pending.ts rename to packages/backend/src/server/api/private/signup-pending.ts diff --git a/src/server/api/private/signup.ts b/packages/backend/src/server/api/private/signup.ts similarity index 100% rename from src/server/api/private/signup.ts rename to packages/backend/src/server/api/private/signup.ts diff --git a/src/server/api/service/discord.ts b/packages/backend/src/server/api/service/discord.ts similarity index 100% rename from src/server/api/service/discord.ts rename to packages/backend/src/server/api/service/discord.ts diff --git a/src/server/api/service/github.ts b/packages/backend/src/server/api/service/github.ts similarity index 100% rename from src/server/api/service/github.ts rename to packages/backend/src/server/api/service/github.ts diff --git a/src/server/api/service/twitter.ts b/packages/backend/src/server/api/service/twitter.ts similarity index 100% rename from src/server/api/service/twitter.ts rename to packages/backend/src/server/api/service/twitter.ts diff --git a/src/server/api/stream/channel.ts b/packages/backend/src/server/api/stream/channel.ts similarity index 100% rename from src/server/api/stream/channel.ts rename to packages/backend/src/server/api/stream/channel.ts diff --git a/src/server/api/stream/channels/admin.ts b/packages/backend/src/server/api/stream/channels/admin.ts similarity index 100% rename from src/server/api/stream/channels/admin.ts rename to packages/backend/src/server/api/stream/channels/admin.ts diff --git a/src/server/api/stream/channels/antenna.ts b/packages/backend/src/server/api/stream/channels/antenna.ts similarity index 100% rename from src/server/api/stream/channels/antenna.ts rename to packages/backend/src/server/api/stream/channels/antenna.ts diff --git a/src/server/api/stream/channels/channel.ts b/packages/backend/src/server/api/stream/channels/channel.ts similarity index 100% rename from src/server/api/stream/channels/channel.ts rename to packages/backend/src/server/api/stream/channels/channel.ts diff --git a/src/server/api/stream/channels/drive.ts b/packages/backend/src/server/api/stream/channels/drive.ts similarity index 100% rename from src/server/api/stream/channels/drive.ts rename to packages/backend/src/server/api/stream/channels/drive.ts diff --git a/src/server/api/stream/channels/games/reversi-game.ts b/packages/backend/src/server/api/stream/channels/games/reversi-game.ts similarity index 100% rename from src/server/api/stream/channels/games/reversi-game.ts rename to packages/backend/src/server/api/stream/channels/games/reversi-game.ts diff --git a/src/server/api/stream/channels/games/reversi.ts b/packages/backend/src/server/api/stream/channels/games/reversi.ts similarity index 100% rename from src/server/api/stream/channels/games/reversi.ts rename to packages/backend/src/server/api/stream/channels/games/reversi.ts diff --git a/src/server/api/stream/channels/global-timeline.ts b/packages/backend/src/server/api/stream/channels/global-timeline.ts similarity index 100% rename from src/server/api/stream/channels/global-timeline.ts rename to packages/backend/src/server/api/stream/channels/global-timeline.ts diff --git a/src/server/api/stream/channels/hashtag.ts b/packages/backend/src/server/api/stream/channels/hashtag.ts similarity index 100% rename from src/server/api/stream/channels/hashtag.ts rename to packages/backend/src/server/api/stream/channels/hashtag.ts diff --git a/src/server/api/stream/channels/home-timeline.ts b/packages/backend/src/server/api/stream/channels/home-timeline.ts similarity index 100% rename from src/server/api/stream/channels/home-timeline.ts rename to packages/backend/src/server/api/stream/channels/home-timeline.ts diff --git a/src/server/api/stream/channels/hybrid-timeline.ts b/packages/backend/src/server/api/stream/channels/hybrid-timeline.ts similarity index 100% rename from src/server/api/stream/channels/hybrid-timeline.ts rename to packages/backend/src/server/api/stream/channels/hybrid-timeline.ts diff --git a/src/server/api/stream/channels/index.ts b/packages/backend/src/server/api/stream/channels/index.ts similarity index 100% rename from src/server/api/stream/channels/index.ts rename to packages/backend/src/server/api/stream/channels/index.ts diff --git a/src/server/api/stream/channels/local-timeline.ts b/packages/backend/src/server/api/stream/channels/local-timeline.ts similarity index 100% rename from src/server/api/stream/channels/local-timeline.ts rename to packages/backend/src/server/api/stream/channels/local-timeline.ts diff --git a/src/server/api/stream/channels/main.ts b/packages/backend/src/server/api/stream/channels/main.ts similarity index 100% rename from src/server/api/stream/channels/main.ts rename to packages/backend/src/server/api/stream/channels/main.ts diff --git a/src/server/api/stream/channels/messaging-index.ts b/packages/backend/src/server/api/stream/channels/messaging-index.ts similarity index 100% rename from src/server/api/stream/channels/messaging-index.ts rename to packages/backend/src/server/api/stream/channels/messaging-index.ts diff --git a/src/server/api/stream/channels/messaging.ts b/packages/backend/src/server/api/stream/channels/messaging.ts similarity index 100% rename from src/server/api/stream/channels/messaging.ts rename to packages/backend/src/server/api/stream/channels/messaging.ts diff --git a/src/server/api/stream/channels/queue-stats.ts b/packages/backend/src/server/api/stream/channels/queue-stats.ts similarity index 100% rename from src/server/api/stream/channels/queue-stats.ts rename to packages/backend/src/server/api/stream/channels/queue-stats.ts diff --git a/src/server/api/stream/channels/server-stats.ts b/packages/backend/src/server/api/stream/channels/server-stats.ts similarity index 100% rename from src/server/api/stream/channels/server-stats.ts rename to packages/backend/src/server/api/stream/channels/server-stats.ts diff --git a/src/server/api/stream/channels/user-list.ts b/packages/backend/src/server/api/stream/channels/user-list.ts similarity index 100% rename from src/server/api/stream/channels/user-list.ts rename to packages/backend/src/server/api/stream/channels/user-list.ts diff --git a/src/server/api/stream/index.ts b/packages/backend/src/server/api/stream/index.ts similarity index 100% rename from src/server/api/stream/index.ts rename to packages/backend/src/server/api/stream/index.ts diff --git a/src/server/api/stream/types.ts b/packages/backend/src/server/api/stream/types.ts similarity index 100% rename from src/server/api/stream/types.ts rename to packages/backend/src/server/api/stream/types.ts diff --git a/src/server/api/streaming.ts b/packages/backend/src/server/api/streaming.ts similarity index 100% rename from src/server/api/streaming.ts rename to packages/backend/src/server/api/streaming.ts diff --git a/src/server/file/assets/bad-egg.png b/packages/backend/src/server/file/assets/bad-egg.png similarity index 100% rename from src/server/file/assets/bad-egg.png rename to packages/backend/src/server/file/assets/bad-egg.png diff --git a/src/server/file/assets/cache-expired.png b/packages/backend/src/server/file/assets/cache-expired.png similarity index 100% rename from src/server/file/assets/cache-expired.png rename to packages/backend/src/server/file/assets/cache-expired.png diff --git a/src/server/file/assets/dummy.png b/packages/backend/src/server/file/assets/dummy.png similarity index 100% rename from src/server/file/assets/dummy.png rename to packages/backend/src/server/file/assets/dummy.png diff --git a/src/server/file/assets/not-an-image.png b/packages/backend/src/server/file/assets/not-an-image.png similarity index 100% rename from src/server/file/assets/not-an-image.png rename to packages/backend/src/server/file/assets/not-an-image.png diff --git a/src/server/file/assets/thumbnail-not-available.png b/packages/backend/src/server/file/assets/thumbnail-not-available.png similarity index 100% rename from src/server/file/assets/thumbnail-not-available.png rename to packages/backend/src/server/file/assets/thumbnail-not-available.png diff --git a/src/server/file/assets/tombstone.png b/packages/backend/src/server/file/assets/tombstone.png similarity index 100% rename from src/server/file/assets/tombstone.png rename to packages/backend/src/server/file/assets/tombstone.png diff --git a/src/server/file/index.ts b/packages/backend/src/server/file/index.ts similarity index 100% rename from src/server/file/index.ts rename to packages/backend/src/server/file/index.ts diff --git a/src/server/file/send-drive-file.ts b/packages/backend/src/server/file/send-drive-file.ts similarity index 100% rename from src/server/file/send-drive-file.ts rename to packages/backend/src/server/file/send-drive-file.ts diff --git a/src/server/index.ts b/packages/backend/src/server/index.ts similarity index 97% rename from src/server/index.ts rename to packages/backend/src/server/index.ts index 5e1a12e4d..507178a46 100644 --- a/src/server/index.ts +++ b/packages/backend/src/server/index.ts @@ -26,7 +26,7 @@ import { networkChart } from '@/services/chart/index'; import { genAvatar } from '@/misc/gen-avatar'; import { createTemp } from '@/misc/create-temp'; import { publishMainStream } from '@/services/stream'; -import { parseAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; export const serverLogger = new Logger('server', 'gray', false); @@ -70,7 +70,7 @@ router.use(nodeinfo.routes()); router.use(wellKnown.routes()); router.get('/avatar/@:acct', async ctx => { - const { username, host } = parseAcct(ctx.params.acct); + const { username, host } = Acct.parse(ctx.params.acct); const user = await Users.findOne({ usernameLower: username.toLowerCase(), host: host === config.host ? null : host, diff --git a/src/server/nodeinfo.ts b/packages/backend/src/server/nodeinfo.ts similarity index 100% rename from src/server/nodeinfo.ts rename to packages/backend/src/server/nodeinfo.ts diff --git a/src/server/proxy/index.ts b/packages/backend/src/server/proxy/index.ts similarity index 100% rename from src/server/proxy/index.ts rename to packages/backend/src/server/proxy/index.ts diff --git a/src/server/proxy/proxy-media.ts b/packages/backend/src/server/proxy/proxy-media.ts similarity index 100% rename from src/server/proxy/proxy-media.ts rename to packages/backend/src/server/proxy/proxy-media.ts diff --git a/src/server/web/bios.css b/packages/backend/src/server/web/bios.css similarity index 100% rename from src/server/web/bios.css rename to packages/backend/src/server/web/bios.css diff --git a/src/server/web/bios.js b/packages/backend/src/server/web/bios.js similarity index 100% rename from src/server/web/bios.js rename to packages/backend/src/server/web/bios.js diff --git a/src/server/web/boot.js b/packages/backend/src/server/web/boot.js similarity index 100% rename from src/server/web/boot.js rename to packages/backend/src/server/web/boot.js diff --git a/src/server/web/cli.css b/packages/backend/src/server/web/cli.css similarity index 100% rename from src/server/web/cli.css rename to packages/backend/src/server/web/cli.css diff --git a/src/server/web/cli.js b/packages/backend/src/server/web/cli.js similarity index 100% rename from src/server/web/cli.js rename to packages/backend/src/server/web/cli.js diff --git a/src/server/web/feed.ts b/packages/backend/src/server/web/feed.ts similarity index 100% rename from src/server/web/feed.ts rename to packages/backend/src/server/web/feed.ts diff --git a/src/server/web/index.ts b/packages/backend/src/server/web/index.ts similarity index 93% rename from src/server/web/index.ts rename to packages/backend/src/server/web/index.ts index 70d5b696f..969b155d4 100644 --- a/src/server/web/index.ts +++ b/packages/backend/src/server/web/index.ts @@ -2,8 +2,6 @@ * Web Client Server */ -import * as os from 'os'; -import * as fs from 'fs'; import { dirname } from 'path'; import * as ms from 'ms'; import * as Koa from 'koa'; @@ -16,19 +14,16 @@ import packFeed from './feed'; import { fetchMeta } from '@/misc/fetch-meta'; import { genOpenapiSpec } from '../api/openapi/gen-spec'; import config from '@/config/index'; -import { Users, Notes, Emojis, UserProfiles, Pages, Channels, Clips, GalleryPosts } from '@/models/index'; -import { parseAcct } from '@/misc/acct'; +import { Users, Notes, UserProfiles, Pages, Channels, Clips, GalleryPosts } from '@/models/index'; +import * as Acct from 'misskey-js/built/acct'; import { getNoteSummary } from '@/misc/get-note-summary'; -import { getConnection } from 'typeorm'; -import { redisClient } from '../../db/redis'; -import * as locales from '../../../locales/index'; //const _filename = fileURLToPath(import.meta.url); const _filename = __filename; const _dirname = dirname(_filename); const staticAssets = `${_dirname}/../../../assets/`; -const assets = `${_dirname}/../../assets/`; +const assets = `${_dirname}/../../../../../built/_client_dist_/`; // Init app const app = new Koa(); @@ -127,7 +122,7 @@ router.get('/api.json', async ctx => { }); const getFeed = async (acct: string) => { - const { username, host } = parseAcct(acct); + const { username, host } = Acct.parse(acct); const user = await Users.findOne({ usernameLower: username.toLowerCase(), host, @@ -176,7 +171,7 @@ router.get('/@:user.json', async ctx => { //#region SSR (for crawlers) // User router.get(['/@:user', '/@:user/:sub'], async (ctx, next) => { - const { username, host } = parseAcct(ctx.params.user); + const { username, host } = Acct.parse(ctx.params.user); const user = await Users.findOne({ usernameLower: username.toLowerCase(), host, @@ -233,7 +228,7 @@ router.get('/notes/:note', async (ctx, next) => { note: _note, profile, // TODO: Let locale changeable by instance setting - summary: getNoteSummary(_note, locales['ja-JP']), + summary: getNoteSummary(_note), instanceName: meta.name || 'Misskey', icon: meta.iconUrl }); @@ -252,7 +247,7 @@ router.get('/notes/:note', async (ctx, next) => { // Page router.get('/@:user/pages/:page', async (ctx, next) => { - const { username, host } = parseAcct(ctx.params.user); + const { username, host } = Acct.parse(ctx.params.user); const user = await Users.findOne({ usernameLower: username.toLowerCase(), host diff --git a/src/server/web/manifest.json b/packages/backend/src/server/web/manifest.json similarity index 100% rename from src/server/web/manifest.json rename to packages/backend/src/server/web/manifest.json diff --git a/src/server/web/manifest.ts b/packages/backend/src/server/web/manifest.ts similarity index 100% rename from src/server/web/manifest.ts rename to packages/backend/src/server/web/manifest.ts diff --git a/src/server/web/style.css b/packages/backend/src/server/web/style.css similarity index 100% rename from src/server/web/style.css rename to packages/backend/src/server/web/style.css diff --git a/src/server/web/url-preview.ts b/packages/backend/src/server/web/url-preview.ts similarity index 100% rename from src/server/web/url-preview.ts rename to packages/backend/src/server/web/url-preview.ts diff --git a/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug similarity index 100% rename from src/server/web/views/base.pug rename to packages/backend/src/server/web/views/base.pug diff --git a/src/server/web/views/bios.pug b/packages/backend/src/server/web/views/bios.pug similarity index 100% rename from src/server/web/views/bios.pug rename to packages/backend/src/server/web/views/bios.pug diff --git a/src/server/web/views/channel.pug b/packages/backend/src/server/web/views/channel.pug similarity index 100% rename from src/server/web/views/channel.pug rename to packages/backend/src/server/web/views/channel.pug diff --git a/src/server/web/views/cli.pug b/packages/backend/src/server/web/views/cli.pug similarity index 100% rename from src/server/web/views/cli.pug rename to packages/backend/src/server/web/views/cli.pug diff --git a/src/server/web/views/clip.pug b/packages/backend/src/server/web/views/clip.pug similarity index 100% rename from src/server/web/views/clip.pug rename to packages/backend/src/server/web/views/clip.pug diff --git a/src/server/web/views/flush.pug b/packages/backend/src/server/web/views/flush.pug similarity index 100% rename from src/server/web/views/flush.pug rename to packages/backend/src/server/web/views/flush.pug diff --git a/src/server/web/views/gallery-post.pug b/packages/backend/src/server/web/views/gallery-post.pug similarity index 100% rename from src/server/web/views/gallery-post.pug rename to packages/backend/src/server/web/views/gallery-post.pug diff --git a/src/server/web/views/info-card.pug b/packages/backend/src/server/web/views/info-card.pug similarity index 100% rename from src/server/web/views/info-card.pug rename to packages/backend/src/server/web/views/info-card.pug diff --git a/src/server/web/views/note.pug b/packages/backend/src/server/web/views/note.pug similarity index 100% rename from src/server/web/views/note.pug rename to packages/backend/src/server/web/views/note.pug diff --git a/src/server/web/views/page.pug b/packages/backend/src/server/web/views/page.pug similarity index 100% rename from src/server/web/views/page.pug rename to packages/backend/src/server/web/views/page.pug diff --git a/src/server/web/views/user.pug b/packages/backend/src/server/web/views/user.pug similarity index 100% rename from src/server/web/views/user.pug rename to packages/backend/src/server/web/views/user.pug diff --git a/src/server/well-known.ts b/packages/backend/src/server/well-known.ts similarity index 96% rename from src/server/well-known.ts rename to packages/backend/src/server/well-known.ts index a2e6bc0bc..5e99b0065 100644 --- a/src/server/well-known.ts +++ b/packages/backend/src/server/well-known.ts @@ -1,7 +1,7 @@ import * as Router from '@koa/router'; import config from '@/config/index'; -import { parseAcct, Acct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; import { links } from './nodeinfo'; import { escapeAttribute, escapeValue } from '@/prelude/xml'; import { Users } from '@/models/index'; @@ -75,12 +75,12 @@ router.get(webFingerPath, async ctx => { const generateQuery = (resource: string) => resource.startsWith(`${config.url.toLowerCase()}/users/`) ? fromId(resource.split('/').pop()!) : - fromAcct(parseAcct( + fromAcct(Acct.parse( resource.startsWith(`${config.url.toLowerCase()}/@`) ? resource.split('/').pop()! : resource.startsWith('acct:') ? resource.slice('acct:'.length) : resource)); - const fromAcct = (acct: Acct): Record | number => + const fromAcct = (acct: Acct.Acct): Record | number => !acct.host || acct.host === config.host.toLowerCase() ? { usernameLower: acct.username, host: null, diff --git a/src/services/add-note-to-antenna.ts b/packages/backend/src/services/add-note-to-antenna.ts similarity index 100% rename from src/services/add-note-to-antenna.ts rename to packages/backend/src/services/add-note-to-antenna.ts diff --git a/src/services/blocking/create.ts b/packages/backend/src/services/blocking/create.ts similarity index 100% rename from src/services/blocking/create.ts rename to packages/backend/src/services/blocking/create.ts diff --git a/src/services/blocking/delete.ts b/packages/backend/src/services/blocking/delete.ts similarity index 100% rename from src/services/blocking/delete.ts rename to packages/backend/src/services/blocking/delete.ts diff --git a/src/services/chart/charts/classes/active-users.ts b/packages/backend/src/services/chart/charts/classes/active-users.ts similarity index 100% rename from src/services/chart/charts/classes/active-users.ts rename to packages/backend/src/services/chart/charts/classes/active-users.ts diff --git a/src/services/chart/charts/classes/drive.ts b/packages/backend/src/services/chart/charts/classes/drive.ts similarity index 100% rename from src/services/chart/charts/classes/drive.ts rename to packages/backend/src/services/chart/charts/classes/drive.ts diff --git a/src/services/chart/charts/classes/federation.ts b/packages/backend/src/services/chart/charts/classes/federation.ts similarity index 100% rename from src/services/chart/charts/classes/federation.ts rename to packages/backend/src/services/chart/charts/classes/federation.ts diff --git a/src/services/chart/charts/classes/hashtag.ts b/packages/backend/src/services/chart/charts/classes/hashtag.ts similarity index 100% rename from src/services/chart/charts/classes/hashtag.ts rename to packages/backend/src/services/chart/charts/classes/hashtag.ts diff --git a/src/services/chart/charts/classes/instance.ts b/packages/backend/src/services/chart/charts/classes/instance.ts similarity index 100% rename from src/services/chart/charts/classes/instance.ts rename to packages/backend/src/services/chart/charts/classes/instance.ts diff --git a/src/services/chart/charts/classes/network.ts b/packages/backend/src/services/chart/charts/classes/network.ts similarity index 100% rename from src/services/chart/charts/classes/network.ts rename to packages/backend/src/services/chart/charts/classes/network.ts diff --git a/src/services/chart/charts/classes/notes.ts b/packages/backend/src/services/chart/charts/classes/notes.ts similarity index 100% rename from src/services/chart/charts/classes/notes.ts rename to packages/backend/src/services/chart/charts/classes/notes.ts diff --git a/src/services/chart/charts/classes/per-user-drive.ts b/packages/backend/src/services/chart/charts/classes/per-user-drive.ts similarity index 100% rename from src/services/chart/charts/classes/per-user-drive.ts rename to packages/backend/src/services/chart/charts/classes/per-user-drive.ts diff --git a/src/services/chart/charts/classes/per-user-following.ts b/packages/backend/src/services/chart/charts/classes/per-user-following.ts similarity index 100% rename from src/services/chart/charts/classes/per-user-following.ts rename to packages/backend/src/services/chart/charts/classes/per-user-following.ts diff --git a/src/services/chart/charts/classes/per-user-notes.ts b/packages/backend/src/services/chart/charts/classes/per-user-notes.ts similarity index 100% rename from src/services/chart/charts/classes/per-user-notes.ts rename to packages/backend/src/services/chart/charts/classes/per-user-notes.ts diff --git a/src/services/chart/charts/classes/per-user-reactions.ts b/packages/backend/src/services/chart/charts/classes/per-user-reactions.ts similarity index 100% rename from src/services/chart/charts/classes/per-user-reactions.ts rename to packages/backend/src/services/chart/charts/classes/per-user-reactions.ts diff --git a/src/services/chart/charts/classes/test-grouped.ts b/packages/backend/src/services/chart/charts/classes/test-grouped.ts similarity index 100% rename from src/services/chart/charts/classes/test-grouped.ts rename to packages/backend/src/services/chart/charts/classes/test-grouped.ts diff --git a/src/services/chart/charts/classes/test-unique.ts b/packages/backend/src/services/chart/charts/classes/test-unique.ts similarity index 100% rename from src/services/chart/charts/classes/test-unique.ts rename to packages/backend/src/services/chart/charts/classes/test-unique.ts diff --git a/src/services/chart/charts/classes/test.ts b/packages/backend/src/services/chart/charts/classes/test.ts similarity index 100% rename from src/services/chart/charts/classes/test.ts rename to packages/backend/src/services/chart/charts/classes/test.ts diff --git a/src/services/chart/charts/classes/users.ts b/packages/backend/src/services/chart/charts/classes/users.ts similarity index 100% rename from src/services/chart/charts/classes/users.ts rename to packages/backend/src/services/chart/charts/classes/users.ts diff --git a/src/services/chart/charts/schemas/active-users.ts b/packages/backend/src/services/chart/charts/schemas/active-users.ts similarity index 100% rename from src/services/chart/charts/schemas/active-users.ts rename to packages/backend/src/services/chart/charts/schemas/active-users.ts diff --git a/src/services/chart/charts/schemas/drive.ts b/packages/backend/src/services/chart/charts/schemas/drive.ts similarity index 100% rename from src/services/chart/charts/schemas/drive.ts rename to packages/backend/src/services/chart/charts/schemas/drive.ts diff --git a/src/services/chart/charts/schemas/federation.ts b/packages/backend/src/services/chart/charts/schemas/federation.ts similarity index 100% rename from src/services/chart/charts/schemas/federation.ts rename to packages/backend/src/services/chart/charts/schemas/federation.ts diff --git a/src/services/chart/charts/schemas/hashtag.ts b/packages/backend/src/services/chart/charts/schemas/hashtag.ts similarity index 100% rename from src/services/chart/charts/schemas/hashtag.ts rename to packages/backend/src/services/chart/charts/schemas/hashtag.ts diff --git a/src/services/chart/charts/schemas/instance.ts b/packages/backend/src/services/chart/charts/schemas/instance.ts similarity index 100% rename from src/services/chart/charts/schemas/instance.ts rename to packages/backend/src/services/chart/charts/schemas/instance.ts diff --git a/src/services/chart/charts/schemas/network.ts b/packages/backend/src/services/chart/charts/schemas/network.ts similarity index 100% rename from src/services/chart/charts/schemas/network.ts rename to packages/backend/src/services/chart/charts/schemas/network.ts diff --git a/src/services/chart/charts/schemas/notes.ts b/packages/backend/src/services/chart/charts/schemas/notes.ts similarity index 100% rename from src/services/chart/charts/schemas/notes.ts rename to packages/backend/src/services/chart/charts/schemas/notes.ts diff --git a/src/services/chart/charts/schemas/per-user-drive.ts b/packages/backend/src/services/chart/charts/schemas/per-user-drive.ts similarity index 100% rename from src/services/chart/charts/schemas/per-user-drive.ts rename to packages/backend/src/services/chart/charts/schemas/per-user-drive.ts diff --git a/src/services/chart/charts/schemas/per-user-following.ts b/packages/backend/src/services/chart/charts/schemas/per-user-following.ts similarity index 100% rename from src/services/chart/charts/schemas/per-user-following.ts rename to packages/backend/src/services/chart/charts/schemas/per-user-following.ts diff --git a/src/services/chart/charts/schemas/per-user-notes.ts b/packages/backend/src/services/chart/charts/schemas/per-user-notes.ts similarity index 100% rename from src/services/chart/charts/schemas/per-user-notes.ts rename to packages/backend/src/services/chart/charts/schemas/per-user-notes.ts diff --git a/src/services/chart/charts/schemas/per-user-reactions.ts b/packages/backend/src/services/chart/charts/schemas/per-user-reactions.ts similarity index 100% rename from src/services/chart/charts/schemas/per-user-reactions.ts rename to packages/backend/src/services/chart/charts/schemas/per-user-reactions.ts diff --git a/src/services/chart/charts/schemas/test-grouped.ts b/packages/backend/src/services/chart/charts/schemas/test-grouped.ts similarity index 100% rename from src/services/chart/charts/schemas/test-grouped.ts rename to packages/backend/src/services/chart/charts/schemas/test-grouped.ts diff --git a/src/services/chart/charts/schemas/test-unique.ts b/packages/backend/src/services/chart/charts/schemas/test-unique.ts similarity index 100% rename from src/services/chart/charts/schemas/test-unique.ts rename to packages/backend/src/services/chart/charts/schemas/test-unique.ts diff --git a/src/services/chart/charts/schemas/test.ts b/packages/backend/src/services/chart/charts/schemas/test.ts similarity index 100% rename from src/services/chart/charts/schemas/test.ts rename to packages/backend/src/services/chart/charts/schemas/test.ts diff --git a/src/services/chart/charts/schemas/users.ts b/packages/backend/src/services/chart/charts/schemas/users.ts similarity index 100% rename from src/services/chart/charts/schemas/users.ts rename to packages/backend/src/services/chart/charts/schemas/users.ts diff --git a/src/services/chart/core.ts b/packages/backend/src/services/chart/core.ts similarity index 100% rename from src/services/chart/core.ts rename to packages/backend/src/services/chart/core.ts diff --git a/src/services/chart/entities.ts b/packages/backend/src/services/chart/entities.ts similarity index 100% rename from src/services/chart/entities.ts rename to packages/backend/src/services/chart/entities.ts diff --git a/src/services/chart/index.ts b/packages/backend/src/services/chart/index.ts similarity index 100% rename from src/services/chart/index.ts rename to packages/backend/src/services/chart/index.ts diff --git a/src/services/create-notification.ts b/packages/backend/src/services/create-notification.ts similarity index 100% rename from src/services/create-notification.ts rename to packages/backend/src/services/create-notification.ts diff --git a/src/services/create-system-user.ts b/packages/backend/src/services/create-system-user.ts similarity index 100% rename from src/services/create-system-user.ts rename to packages/backend/src/services/create-system-user.ts diff --git a/src/services/drive/add-file.ts b/packages/backend/src/services/drive/add-file.ts similarity index 100% rename from src/services/drive/add-file.ts rename to packages/backend/src/services/drive/add-file.ts diff --git a/src/services/drive/delete-file.ts b/packages/backend/src/services/drive/delete-file.ts similarity index 100% rename from src/services/drive/delete-file.ts rename to packages/backend/src/services/drive/delete-file.ts diff --git a/src/services/drive/generate-video-thumbnail.ts b/packages/backend/src/services/drive/generate-video-thumbnail.ts similarity index 100% rename from src/services/drive/generate-video-thumbnail.ts rename to packages/backend/src/services/drive/generate-video-thumbnail.ts diff --git a/src/services/drive/image-processor.ts b/packages/backend/src/services/drive/image-processor.ts similarity index 100% rename from src/services/drive/image-processor.ts rename to packages/backend/src/services/drive/image-processor.ts diff --git a/src/services/drive/internal-storage.ts b/packages/backend/src/services/drive/internal-storage.ts similarity index 98% rename from src/services/drive/internal-storage.ts rename to packages/backend/src/services/drive/internal-storage.ts index deaf3dc83..fe190a028 100644 --- a/src/services/drive/internal-storage.ts +++ b/packages/backend/src/services/drive/internal-storage.ts @@ -9,7 +9,7 @@ const _filename = __filename; const _dirname = dirname(_filename); export class InternalStorage { - private static readonly path = Path.resolve(_dirname, '../../../files'); + private static readonly path = Path.resolve(_dirname, '../../../../../files'); public static resolvePath = (key: string) => Path.resolve(InternalStorage.path, key); diff --git a/src/services/drive/logger.ts b/packages/backend/src/services/drive/logger.ts similarity index 100% rename from src/services/drive/logger.ts rename to packages/backend/src/services/drive/logger.ts diff --git a/src/services/drive/s3.ts b/packages/backend/src/services/drive/s3.ts similarity index 100% rename from src/services/drive/s3.ts rename to packages/backend/src/services/drive/s3.ts diff --git a/src/services/drive/upload-from-url.ts b/packages/backend/src/services/drive/upload-from-url.ts similarity index 100% rename from src/services/drive/upload-from-url.ts rename to packages/backend/src/services/drive/upload-from-url.ts diff --git a/src/services/fetch-instance-metadata.ts b/packages/backend/src/services/fetch-instance-metadata.ts similarity index 100% rename from src/services/fetch-instance-metadata.ts rename to packages/backend/src/services/fetch-instance-metadata.ts diff --git a/src/services/following/create.ts b/packages/backend/src/services/following/create.ts similarity index 100% rename from src/services/following/create.ts rename to packages/backend/src/services/following/create.ts diff --git a/src/services/following/delete.ts b/packages/backend/src/services/following/delete.ts similarity index 100% rename from src/services/following/delete.ts rename to packages/backend/src/services/following/delete.ts diff --git a/src/services/following/requests/accept-all.ts b/packages/backend/src/services/following/requests/accept-all.ts similarity index 100% rename from src/services/following/requests/accept-all.ts rename to packages/backend/src/services/following/requests/accept-all.ts diff --git a/src/services/following/requests/accept.ts b/packages/backend/src/services/following/requests/accept.ts similarity index 100% rename from src/services/following/requests/accept.ts rename to packages/backend/src/services/following/requests/accept.ts diff --git a/src/services/following/requests/cancel.ts b/packages/backend/src/services/following/requests/cancel.ts similarity index 100% rename from src/services/following/requests/cancel.ts rename to packages/backend/src/services/following/requests/cancel.ts diff --git a/src/services/following/requests/create.ts b/packages/backend/src/services/following/requests/create.ts similarity index 100% rename from src/services/following/requests/create.ts rename to packages/backend/src/services/following/requests/create.ts diff --git a/src/services/following/requests/reject.ts b/packages/backend/src/services/following/requests/reject.ts similarity index 100% rename from src/services/following/requests/reject.ts rename to packages/backend/src/services/following/requests/reject.ts diff --git a/src/services/i/pin.ts b/packages/backend/src/services/i/pin.ts similarity index 100% rename from src/services/i/pin.ts rename to packages/backend/src/services/i/pin.ts diff --git a/src/services/i/update.ts b/packages/backend/src/services/i/update.ts similarity index 100% rename from src/services/i/update.ts rename to packages/backend/src/services/i/update.ts diff --git a/src/services/insert-moderation-log.ts b/packages/backend/src/services/insert-moderation-log.ts similarity index 100% rename from src/services/insert-moderation-log.ts rename to packages/backend/src/services/insert-moderation-log.ts diff --git a/src/services/instance-actor.ts b/packages/backend/src/services/instance-actor.ts similarity index 100% rename from src/services/instance-actor.ts rename to packages/backend/src/services/instance-actor.ts diff --git a/src/services/logger.ts b/packages/backend/src/services/logger.ts similarity index 98% rename from src/services/logger.ts rename to packages/backend/src/services/logger.ts index 67ee44125..709b9bae5 100644 --- a/src/services/logger.ts +++ b/packages/backend/src/services/logger.ts @@ -58,7 +58,7 @@ export default class Logger { } const time = dateformat(new Date(), 'HH:MM:ss'); - const worker = cluster.isMaster ? '*' : cluster.worker.id; + const worker = cluster.isPrimary ? '*' : cluster.worker.id; const l = level === 'error' ? important ? chalk.bgRed.white('ERR ') : chalk.red('ERR ') : level === 'warning' ? chalk.yellow('WARN') : diff --git a/src/services/messages/create.ts b/packages/backend/src/services/messages/create.ts similarity index 100% rename from src/services/messages/create.ts rename to packages/backend/src/services/messages/create.ts diff --git a/src/services/messages/delete.ts b/packages/backend/src/services/messages/delete.ts similarity index 100% rename from src/services/messages/delete.ts rename to packages/backend/src/services/messages/delete.ts diff --git a/src/services/note/create.ts b/packages/backend/src/services/note/create.ts similarity index 98% rename from src/services/note/create.ts rename to packages/backend/src/services/note/create.ts index 98819c69a..69d854ab1 100644 --- a/src/services/note/create.ts +++ b/packages/backend/src/services/note/create.ts @@ -34,7 +34,6 @@ import { deliverToRelays } from '../relay'; import { Channel } from '@/models/entities/channel'; import { normalizeForSearch } from '@/misc/normalize-for-search'; import { getAntennas } from '@/misc/antenna-cache'; -import { fnNameList } from '@/mfm/fn-name-list'; type NotificationType = 'reply' | 'renote' | 'quote' | 'mention'; @@ -183,10 +182,10 @@ export default async (user: { id: User['id']; username: User['username']; host: // Parse MFM if needed if (!tags || !emojis || !mentionedUsers) { - const tokens = data.text ? mfm.parse(data.text, { fnNameList })! : []; - const cwTokens = data.cw ? mfm.parse(data.cw, { fnNameList })! : []; + const tokens = data.text ? mfm.parse(data.text)! : []; + const cwTokens = data.cw ? mfm.parse(data.cw)! : []; const choiceTokens = data.poll && data.poll.choices - ? concat(data.poll.choices.map(choice => mfm.parse(choice, { fnNameList })!)) + ? concat(data.poll.choices.map(choice => mfm.parse(choice)!)) : []; const combinedTokens = tokens.concat(cwTokens).concat(choiceTokens); diff --git a/src/services/note/delete.ts b/packages/backend/src/services/note/delete.ts similarity index 100% rename from src/services/note/delete.ts rename to packages/backend/src/services/note/delete.ts diff --git a/src/services/note/polls/update.ts b/packages/backend/src/services/note/polls/update.ts similarity index 100% rename from src/services/note/polls/update.ts rename to packages/backend/src/services/note/polls/update.ts diff --git a/src/services/note/polls/vote.ts b/packages/backend/src/services/note/polls/vote.ts similarity index 100% rename from src/services/note/polls/vote.ts rename to packages/backend/src/services/note/polls/vote.ts diff --git a/src/services/note/reaction/create.ts b/packages/backend/src/services/note/reaction/create.ts similarity index 100% rename from src/services/note/reaction/create.ts rename to packages/backend/src/services/note/reaction/create.ts diff --git a/src/services/note/reaction/delete.ts b/packages/backend/src/services/note/reaction/delete.ts similarity index 100% rename from src/services/note/reaction/delete.ts rename to packages/backend/src/services/note/reaction/delete.ts diff --git a/src/services/note/read.ts b/packages/backend/src/services/note/read.ts similarity index 100% rename from src/services/note/read.ts rename to packages/backend/src/services/note/read.ts diff --git a/src/services/note/unread.ts b/packages/backend/src/services/note/unread.ts similarity index 100% rename from src/services/note/unread.ts rename to packages/backend/src/services/note/unread.ts diff --git a/src/services/note/unwatch.ts b/packages/backend/src/services/note/unwatch.ts similarity index 100% rename from src/services/note/unwatch.ts rename to packages/backend/src/services/note/unwatch.ts diff --git a/src/services/note/watch.ts b/packages/backend/src/services/note/watch.ts similarity index 100% rename from src/services/note/watch.ts rename to packages/backend/src/services/note/watch.ts diff --git a/src/services/push-notification.ts b/packages/backend/src/services/push-notification.ts similarity index 100% rename from src/services/push-notification.ts rename to packages/backend/src/services/push-notification.ts diff --git a/src/services/register-or-fetch-instance-doc.ts b/packages/backend/src/services/register-or-fetch-instance-doc.ts similarity index 100% rename from src/services/register-or-fetch-instance-doc.ts rename to packages/backend/src/services/register-or-fetch-instance-doc.ts diff --git a/src/services/relay.ts b/packages/backend/src/services/relay.ts similarity index 100% rename from src/services/relay.ts rename to packages/backend/src/services/relay.ts diff --git a/src/services/send-email-notification.ts b/packages/backend/src/services/send-email-notification.ts similarity index 79% rename from src/services/send-email-notification.ts rename to packages/backend/src/services/send-email-notification.ts index 519d56a06..157bacb46 100644 --- a/src/services/send-email-notification.ts +++ b/packages/backend/src/services/send-email-notification.ts @@ -1,9 +1,9 @@ import { UserProfiles } from '@/models/index'; import { User } from '@/models/entities/user'; import { sendEmail } from './send-email'; -import * as locales from '../../locales/index'; import { I18n } from '@/misc/i18n'; -import { getAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; +const locales = require('../../../../locales/index.js'); // TODO: locale ファイルをクライアント用とサーバー用で分けたい @@ -13,7 +13,7 @@ async function follow(userId: User['id'], follower: User) { const locale = locales[userProfile.lang || 'ja-JP']; const i18n = new I18n(locale); // TODO: render user information html - sendEmail(userProfile.email, i18n.t('_email._follow.title'), `${follower.name} (@${getAcct(follower)})`, `${follower.name} (@${getAcct(follower)})`); + sendEmail(userProfile.email, i18n.t('_email._follow.title'), `${follower.name} (@${Acct.toString(follower)})`, `${follower.name} (@${Acct.toString(follower)})`); } async function receiveFollowRequest(userId: User['id'], follower: User) { @@ -22,7 +22,7 @@ async function receiveFollowRequest(userId: User['id'], follower: User) { const locale = locales[userProfile.lang || 'ja-JP']; const i18n = new I18n(locale); // TODO: render user information html - sendEmail(userProfile.email, i18n.t('_email._receiveFollowRequest.title'), `${follower.name} (@${getAcct(follower)})`, `${follower.name} (@${getAcct(follower)})`); + sendEmail(userProfile.email, i18n.t('_email._receiveFollowRequest.title'), `${follower.name} (@${Acct.toString(follower)})`, `${follower.name} (@${Acct.toString(follower)})`); } export const sendEmailNotification = { diff --git a/src/services/send-email.ts b/packages/backend/src/services/send-email.ts similarity index 100% rename from src/services/send-email.ts rename to packages/backend/src/services/send-email.ts diff --git a/src/services/stream.ts b/packages/backend/src/services/stream.ts similarity index 100% rename from src/services/stream.ts rename to packages/backend/src/services/stream.ts diff --git a/src/services/suspend-user.ts b/packages/backend/src/services/suspend-user.ts similarity index 100% rename from src/services/suspend-user.ts rename to packages/backend/src/services/suspend-user.ts diff --git a/src/services/unsuspend-user.ts b/packages/backend/src/services/unsuspend-user.ts similarity index 100% rename from src/services/unsuspend-user.ts rename to packages/backend/src/services/unsuspend-user.ts diff --git a/src/services/update-hashtag.ts b/packages/backend/src/services/update-hashtag.ts similarity index 100% rename from src/services/update-hashtag.ts rename to packages/backend/src/services/update-hashtag.ts diff --git a/src/services/user-list/push.ts b/packages/backend/src/services/user-list/push.ts similarity index 100% rename from src/services/user-list/push.ts rename to packages/backend/src/services/user-list/push.ts diff --git a/src/services/validate-email-for-account.ts b/packages/backend/src/services/validate-email-for-account.ts similarity index 100% rename from src/services/validate-email-for-account.ts rename to packages/backend/src/services/validate-email-for-account.ts diff --git a/src/types.ts b/packages/backend/src/types.ts similarity index 100% rename from src/types.ts rename to packages/backend/src/types.ts diff --git a/packages/backend/tools/accept-migration.js b/packages/backend/tools/accept-migration.js new file mode 100644 index 000000000..309a4ab5e --- /dev/null +++ b/packages/backend/tools/accept-migration.js @@ -0,0 +1,26 @@ +"use strict"; +// ex) node built/tools/accept-migration Yo 1000000000001 +Object.defineProperty(exports, "__esModule", { value: true }); +const typeorm_1 = require("typeorm"); +const index_1 = require("@/config/index"); +(0, typeorm_1.createConnection)({ + type: 'postgres', + host: index_1.default.db.host, + port: index_1.default.db.port, + username: index_1.default.db.user, + password: index_1.default.db.pass, + database: index_1.default.db.db, + extra: index_1.default.db.extra, + synchronize: false, + dropSchema: false, +}).then(c => { + c.query(`INSERT INTO migrations(timestamp,name) VALUES (${process.argv[3]}, '${process.argv[2]}${process.argv[3]}');`).then(() => { + console.log('done'); + process.exit(0); + }).catch(e => { + console.log('ERROR:'); + console.log(e); + process.exit(1); + }); +}); +//# sourceMappingURL=accept-migration.js.map \ No newline at end of file diff --git a/packages/backend/tools/accept-migration.js.map b/packages/backend/tools/accept-migration.js.map new file mode 100644 index 000000000..c158a4966 --- /dev/null +++ b/packages/backend/tools/accept-migration.js.map @@ -0,0 +1 @@ +{"version":3,"file":"accept-migration.js","sourceRoot":"","sources":["accept-migration.ts"],"names":[],"mappings":";AAAA,yDAAyD;;AAEzD,qCAA2C;AAC3C,0CAAoC;AAEpC,IAAA,0BAAgB,EAAC;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,eAAM,CAAC,EAAE,CAAC,IAAI;IACpB,IAAI,EAAE,eAAM,CAAC,EAAE,CAAC,IAAI;IACpB,QAAQ,EAAE,eAAM,CAAC,EAAE,CAAC,IAAI;IACxB,QAAQ,EAAE,eAAM,CAAC,EAAE,CAAC,IAAI;IACxB,QAAQ,EAAE,eAAM,CAAC,EAAE,CAAC,EAAE;IACtB,KAAK,EAAE,eAAM,CAAC,EAAE,CAAC,KAAK;IACtB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,KAAK;CACjB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;IACX,CAAC,CAAC,KAAK,CAAC,kDAAkD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAChI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/src/tools/accept-migration.ts b/packages/backend/tools/accept-migration.ts similarity index 100% rename from src/tools/accept-migration.ts rename to packages/backend/tools/accept-migration.ts diff --git a/packages/backend/tools/add-emoji.js b/packages/backend/tools/add-emoji.js new file mode 100644 index 000000000..df02f554a --- /dev/null +++ b/packages/backend/tools/add-emoji.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const index_1 = require("@/models/index"); +const gen_id_1 = require("@/misc/gen-id"); +async function main(name, url, alias) { + const aliases = alias != null ? [alias] : []; + await index_1.Emojis.save({ + id: (0, gen_id_1.genId)(), + host: null, + name, + url, + aliases, + updatedAt: new Date() + }); +} +const args = process.argv.slice(2); +const name = args[0]; +const url = args[1]; +if (!name) + throw new Error('require name'); +if (!url) + throw new Error('require url'); +main(name, url).then(() => { + console.log('success'); + process.exit(0); +}).catch(e => { + console.warn(e); + process.exit(1); +}); +//# sourceMappingURL=add-emoji.js.map \ No newline at end of file diff --git a/packages/backend/tools/add-emoji.js.map b/packages/backend/tools/add-emoji.js.map new file mode 100644 index 000000000..03bf31b98 --- /dev/null +++ b/packages/backend/tools/add-emoji.js.map @@ -0,0 +1 @@ +{"version":3,"file":"add-emoji.js","sourceRoot":"","sources":["add-emoji.ts"],"names":[],"mappings":";;AAAA,0CAAwC;AACxC,0CAAsC;AAEtC,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,GAAW,EAAE,KAAc;IAC5D,MAAM,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAE,KAAK,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/C,MAAM,cAAM,CAAC,IAAI,CAAC;QACjB,EAAE,EAAE,IAAA,cAAK,GAAE;QACX,IAAI,EAAE,IAAI;QACV,IAAI;QACJ,GAAG;QACH,OAAO;QACP,SAAS,EAAE,IAAI,IAAI,EAAE;KACrB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpB,IAAI,CAAC,IAAI;IAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AAC3C,IAAI,CAAC,GAAG;IAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AAEzC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;IACzB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/src/tools/add-emoji.ts b/packages/backend/tools/add-emoji.ts similarity index 100% rename from src/tools/add-emoji.ts rename to packages/backend/tools/add-emoji.ts diff --git a/packages/backend/tools/demote-admin.js b/packages/backend/tools/demote-admin.js new file mode 100644 index 000000000..d6a296883 --- /dev/null +++ b/packages/backend/tools/demote-admin.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const postgre_1 = require("../db/postgre"); +const typeorm_1 = require("typeorm"); +const user_1 = require("@/models/entities/user"); +async function main(username) { + if (!username) + throw `username required`; + username = username.replace(/^@/, ''); + await (0, postgre_1.initDb)(); + const Users = (0, typeorm_1.getRepository)(user_1.User); + const res = await Users.update({ + usernameLower: username.toLowerCase(), + host: null + }, { + isAdmin: false + }); + if (res.affected !== 1) { + throw 'Failed'; + } +} +const args = process.argv.slice(2); +main(args[0]).then(() => { + console.log('Success'); + process.exit(0); +}).catch(e => { + console.error(`Error: ${e.message || e}`); + process.exit(1); +}); +//# sourceMappingURL=demote-admin.js.map \ No newline at end of file diff --git a/packages/backend/tools/demote-admin.js.map b/packages/backend/tools/demote-admin.js.map new file mode 100644 index 000000000..4403e2bab --- /dev/null +++ b/packages/backend/tools/demote-admin.js.map @@ -0,0 +1 @@ +{"version":3,"file":"demote-admin.js","sourceRoot":"","sources":["demote-admin.ts"],"names":[],"mappings":";;AAAA,2CAAuC;AACvC,qCAAwC;AACxC,iDAA8C;AAE9C,KAAK,UAAU,IAAI,CAAC,QAAgB;IACnC,IAAI,CAAC,QAAQ;QAAE,MAAM,mBAAmB,CAAC;IACzC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtC,MAAM,IAAA,gBAAM,GAAE,CAAC;IACf,MAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,WAAI,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QAC9B,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE;QACrC,IAAI,EAAE,IAAI;KACV,EAAE;QACF,OAAO,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE;QACvB,MAAM,QAAQ,CAAC;KACf;AACF,CAAC;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;IACvB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACZ,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/src/tools/demote-admin.ts b/packages/backend/tools/demote-admin.ts similarity index 100% rename from src/tools/demote-admin.ts rename to packages/backend/tools/demote-admin.ts diff --git a/packages/backend/tools/mark-admin.js b/packages/backend/tools/mark-admin.js new file mode 100644 index 000000000..4563d9c33 --- /dev/null +++ b/packages/backend/tools/mark-admin.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const postgre_1 = require("../db/postgre"); +const typeorm_1 = require("typeorm"); +const user_1 = require("@/models/entities/user"); +async function main(username) { + if (!username) + throw `username required`; + username = username.replace(/^@/, ''); + await (0, postgre_1.initDb)(); + const Users = (0, typeorm_1.getRepository)(user_1.User); + const res = await Users.update({ + usernameLower: username.toLowerCase(), + host: null + }, { + isAdmin: true + }); + if (res.affected !== 1) { + throw 'Failed'; + } +} +const args = process.argv.slice(2); +main(args[0]).then(() => { + console.log('Success'); + process.exit(0); +}).catch(e => { + console.error(`Error: ${e.message || e}`); + process.exit(1); +}); +//# sourceMappingURL=mark-admin.js.map \ No newline at end of file diff --git a/packages/backend/tools/mark-admin.js.map b/packages/backend/tools/mark-admin.js.map new file mode 100644 index 000000000..5633e2f89 --- /dev/null +++ b/packages/backend/tools/mark-admin.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mark-admin.js","sourceRoot":"","sources":["mark-admin.ts"],"names":[],"mappings":";;AAAA,2CAAuC;AACvC,qCAAwC;AACxC,iDAA8C;AAE9C,KAAK,UAAU,IAAI,CAAC,QAAgB;IACnC,IAAI,CAAC,QAAQ;QAAE,MAAM,mBAAmB,CAAC;IACzC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEtC,MAAM,IAAA,gBAAM,GAAE,CAAC;IACf,MAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,WAAI,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QAC9B,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE;QACrC,IAAI,EAAE,IAAI;KACV,EAAE;QACF,OAAO,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE;QACvB,MAAM,QAAQ,CAAC;KACf;AACF,CAAC;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;IACvB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACZ,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/src/tools/mark-admin.ts b/packages/backend/tools/mark-admin.ts similarity index 100% rename from src/tools/mark-admin.ts rename to packages/backend/tools/mark-admin.ts diff --git a/packages/backend/tools/refresh-question.js b/packages/backend/tools/refresh-question.js new file mode 100644 index 000000000..0536c3820 --- /dev/null +++ b/packages/backend/tools/refresh-question.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const question_1 = require("@/remote/activitypub/models/question"); +async function main(uri) { + return await (0, question_1.updateQuestion)(uri); +} +const args = process.argv.slice(2); +const uri = args[0]; +main(uri).then(result => { + console.log(`Done: ${result}`); +}).catch(e => { + console.warn(e); +}); +//# sourceMappingURL=refresh-question.js.map \ No newline at end of file diff --git a/packages/backend/tools/refresh-question.js.map b/packages/backend/tools/refresh-question.js.map new file mode 100644 index 000000000..3db6d0b8b --- /dev/null +++ b/packages/backend/tools/refresh-question.js.map @@ -0,0 +1 @@ +{"version":3,"file":"refresh-question.js","sourceRoot":"","sources":["refresh-question.ts"],"names":[],"mappings":";;AAAA,mEAAsE;AAEtE,KAAK,UAAU,IAAI,CAAC,GAAW;IAC9B,OAAO,MAAM,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;IACvB,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/src/tools/refresh-question.ts b/packages/backend/tools/refresh-question.ts similarity index 100% rename from src/tools/refresh-question.ts rename to packages/backend/tools/refresh-question.ts diff --git a/packages/backend/tools/resync-remote-user.js b/packages/backend/tools/resync-remote-user.js new file mode 100644 index 000000000..05d76ecc9 --- /dev/null +++ b/packages/backend/tools/resync-remote-user.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const postgre_1 = require("@/db/postgre"); +const Acct = require("misskey-js/built/acct"); +async function main(acct) { + await (0, postgre_1.initDb)(); + const { resolveUser } = await Promise.resolve().then(() => require('@/remote/resolve-user')); + const { username, host } = Acct.parse(acct); + await resolveUser(username, host, {}, true); +} +// get args +const args = process.argv.slice(2); +let acct = args[0]; +// normalize args +acct = acct.replace(/^@/, ''); +// check args +if (!acct.match(/^\w+@\w/)) { + throw `Invalid acct format. Valid format are user@host`; +} +console.log(`resync ${acct}`); +main(acct).then(() => { + console.log('Done'); +}).catch(e => { + console.warn(e); +}); +//# sourceMappingURL=resync-remote-user.js.map \ No newline at end of file diff --git a/packages/backend/tools/resync-remote-user.js.map b/packages/backend/tools/resync-remote-user.js.map new file mode 100644 index 000000000..456d7da1d --- /dev/null +++ b/packages/backend/tools/resync-remote-user.js.map @@ -0,0 +1 @@ +{"version":3,"file":"resync-remote-user.js","sourceRoot":"","sources":["resync-remote-user.ts"],"names":[],"mappings":";;AAAA,0CAAsC;AACtC,8CAA8C;AAE9C,KAAK,UAAU,IAAI,CAAC,IAAY;IAC/B,MAAM,IAAA,gBAAM,GAAE,CAAC;IACf,MAAM,EAAE,WAAW,EAAE,GAAG,2CAAa,uBAAuB,EAAC,CAAC;IAE9D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,WAAW;AACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEnB,iBAAiB;AACjB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAE9B,aAAa;AACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;IAC3B,MAAM,iDAAiD,CAAC;CACxD;AAED,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AAE9B,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;IACpB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/src/tools/resync-remote-user.ts b/packages/backend/tools/resync-remote-user.ts similarity index 85% rename from src/tools/resync-remote-user.ts rename to packages/backend/tools/resync-remote-user.ts index bc43e250c..22d2f7c89 100644 --- a/src/tools/resync-remote-user.ts +++ b/packages/backend/tools/resync-remote-user.ts @@ -1,11 +1,11 @@ import { initDb } from '@/db/postgre'; -import { parseAcct } from '@/misc/acct'; +import * as Acct from 'misskey-js/built/acct'; async function main(acct: string): Promise { await initDb(); const { resolveUser } = await import('@/remote/resolve-user'); - const { username, host } = parseAcct(acct); + const { username, host } = Acct.parse(acct); await resolveUser(username, host, {}, true); } diff --git a/packages/backend/tools/show-signin-history.js b/packages/backend/tools/show-signin-history.js new file mode 100644 index 000000000..daeea8461 --- /dev/null +++ b/packages/backend/tools/show-signin-history.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const index_1 = require("@/models/index"); +// node built/tools/show-signin-history username +// => {Success} {Date} {IPAddrsss} +// node built/tools/show-signin-history username user-agent,x-forwarded-for +// with user-agent and x-forwarded-for +// node built/tools/show-signin-history username all +// with full request headers +async function main(username, headers) { + const user = await index_1.Users.findOne({ + host: null, + usernameLower: username.toLowerCase(), + }); + if (user == null) + throw new Error('User not found'); + const history = await index_1.Signins.find({ + userId: user.id + }); + for (const signin of history) { + console.log(`${signin.success ? 'OK' : 'NG'} ${signin.createdAt ? signin.createdAt.toISOString() : 'Unknown'} ${signin.ip}`); + // headers + if (headers != null) { + for (const key of Object.keys(signin.headers)) { + if (headers.includes('all') || headers.includes(key)) { + console.log(` ${key}: ${signin.headers[key]}`); + } + } + } + } +} +// get args +const args = process.argv.slice(2); +let username = args[0]; +let headers; +if (args[1] != null) { + headers = args[1].split(/,/).map(header => header.toLowerCase()); +} +// normalize args +username = username.replace(/^@/, ''); +main(username, headers).then(() => { + process.exit(0); +}).catch(e => { + console.warn(e); + process.exit(1); +}); +//# sourceMappingURL=show-signin-history.js.map \ No newline at end of file diff --git a/packages/backend/tools/show-signin-history.js.map b/packages/backend/tools/show-signin-history.js.map new file mode 100644 index 000000000..b421825bc --- /dev/null +++ b/packages/backend/tools/show-signin-history.js.map @@ -0,0 +1 @@ +{"version":3,"file":"show-signin-history.js","sourceRoot":"","sources":["show-signin-history.ts"],"names":[],"mappings":";;AAAA,0CAAgD;AAEhD,gDAAgD;AAChD,mCAAmC;AAEnC,2EAA2E;AAC3E,uCAAuC;AAEvC,oDAAoD;AACpD,6BAA6B;AAE7B,KAAK,UAAU,IAAI,CAAC,QAAgB,EAAE,OAAkB;IACvD,MAAM,IAAI,GAAG,MAAM,aAAK,CAAC,OAAO,CAAC;QAChC,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;IAEH,IAAI,IAAI,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,MAAM,eAAO,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,EAAE;KACf,CAAC,CAAC;IAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7H,UAAU;QACV,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACrD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACjD;aACD;SACD;KACD;AACF,CAAC;AAED,WAAW;AACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACvB,IAAI,OAA6B,CAAC;AAElC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;IACpB,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;CACjE;AAED,iBAAiB;AACjB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAEtC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/src/tools/show-signin-history.ts b/packages/backend/tools/show-signin-history.ts similarity index 100% rename from src/tools/show-signin-history.ts rename to packages/backend/tools/show-signin-history.ts diff --git a/src/tsconfig.json b/packages/backend/tsconfig.json similarity index 82% rename from src/tsconfig.json rename to packages/backend/tsconfig.json index 4a03a1743..3311e117d 100644 --- a/src/tsconfig.json +++ b/packages/backend/tsconfig.json @@ -8,7 +8,7 @@ "noUnusedLocals": false, "noFallthroughCasesInSwitch": true, "declaration": false, - "sourceMap": true, + "sourceMap": false, "target": "es2017", "module": "commonjs", "moduleResolution": "node", @@ -22,14 +22,14 @@ "emitDecoratorMetadata": true, "resolveJsonModule": true, "isolatedModules": true, - "rootDir": "./", + "rootDir": "./src", "baseUrl": "./", "paths": { - "@/*": ["./*"] + "@/*": ["./src/*"] }, - "outDir": "../built", + "outDir": "./built", "typeRoots": [ - "../node_modules/@types", + "./node_modules/@types", "./@types" ], "lib": [ @@ -38,9 +38,6 @@ }, "compileOnSave": false, "include": [ - "./**/*.ts" + "./src/**/*.ts" ], - "exclude": [ - "./client/**/*.ts" - ] } diff --git a/packages/backend/yarn.lock b/packages/backend/yarn.lock new file mode 100644 index 000000000..bbf69fd62 --- /dev/null +++ b/packages/backend/yarn.lock @@ -0,0 +1,8274 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/highlight@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.6.0", "@babel/parser@^7.9.6": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" + integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== + +"@babel/runtime@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.6.2": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.13.tgz#0a21452352b02542db0ffb928ac2d3ca7cb6d66d" + integrity sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/types@^7.6.1", "@babel/types@^7.9.6": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.0.tgz#74424d2816f0171b4100f0ab34e9a374efdf7f80" + integrity sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@cspotcode/source-map-consumer@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== + +"@cspotcode/source-map-support@0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" + integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== + dependencies: + "@cspotcode/source-map-consumer" "0.8.0" + +"@cto.af/textdecoder@^0.0.0": + version "0.0.0" + resolved "https://registry.yarnpkg.com/@cto.af/textdecoder/-/textdecoder-0.0.0.tgz#e1e8d84c936c30a0f4619971f19ca41941af9fdc" + integrity sha512-sJpx3F5xcVV/9jNYJQtvimo4Vfld/nD3ph+ZWtQzZ03Zo8rJC7QKQTRcIGS13Rcz80DwFNthCWMrd58vpY4ZAQ== + +"@digitalbazaar/http-client@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@digitalbazaar/http-client/-/http-client-1.1.0.tgz#cac383b24ace04b18b919deab773462b03d3d7b0" + integrity sha512-ks7hqa6hm9NyULdbm9qL6TRS8rADzBw8R0lETvUgvdNXu9H62XG2YqoKRDThtfgWzWxLwRJ3Z2o4ev81dZZbyQ== + dependencies: + esm "^3.2.22" + ky "^0.25.1" + ky-universal "^0.8.2" + +"@discordapp/twemoji@13.1.0": + version "13.1.0" + resolved "https://registry.yarnpkg.com/@discordapp/twemoji/-/twemoji-13.1.0.tgz#6b25f3958fa8fd68692248c87776bc737fd009a9" + integrity sha512-KEw/te+ylD2MHutzigafyptv0kdTU05Dbgxr9Y5J9IAQw8PbFz16nKtlPnJtA23BLp9fZQeNXzUmegkRi7fpDA== + dependencies: + fs-extra "^8.0.1" + jsonfile "^5.0.0" + twemoji-parser "13.1.0" + universalify "^0.1.2" + +"@elastic/elasticsearch@7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@elastic/elasticsearch/-/elasticsearch-7.11.0.tgz#e196243d0ed026742fc160d72cc5b4b5b6c7807d" + integrity sha512-AFVVuANIdbV1qYjuOi4hnsX/DehWYG+bbhQO4amq9K4/NnzU7mpGWOPgVlRQTiX+vBfBkx7SL6h4QEjIlM3ztA== + dependencies: + debug "^4.1.1" + hpagent "^0.1.1" + ms "^2.1.1" + pump "^3.0.0" + secure-json-parse "^2.1.0" + +"@eslint/eslintrc@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.4.tgz#dfe0ff7ba270848d10c5add0715e04964c034b31" + integrity sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.0.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.6.0.tgz#b5621fdb3b32309d2d16575456cbc277fa8f021a" + integrity sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + +"@jfonx/console-utils@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@jfonx/console-utils/-/console-utils-1.0.3.tgz#cbb7f911e4191a4a2fe1ba4807d29f100b5d099f" + integrity sha512-/XbnqjWc7yNZVLAJJO9rimfIz9DYte+cj3EF9hwhIv7vw6ok2t3cjl0huYsmD89srKH03vWjeqAcIH86CuYj3g== + dependencies: + colors "^1.3.3" + +"@jfonx/file-utils@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@jfonx/file-utils/-/file-utils-3.0.1.tgz#8d3d6e931a283420fe29802ea71c28dd397cd8d3" + integrity sha512-qwH0CuzWmghtTHGMyuPHj6SJPQgWeiXFJBfrxCWMbzxVCa3aLZPEfzSdlSnC/UABsk6feRkNdHXw59rVshNPqw== + dependencies: + "@jfonx/console-utils" "^1.0.3" + comment-json "^4.1.0" + find-up "^4.1.0" + +"@koa/cors@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-3.1.0.tgz#618bb073438cfdbd3ebd0e648a76e33b84f3a3b2" + integrity sha512-7ulRC1da/rBa6kj6P4g2aJfnET3z8Uf3SWu60cjbtxTA5g8lxRdX/Bd2P92EagGwwAhANeNw8T8if99rJliR6Q== + dependencies: + vary "^1.1.2" + +"@koa/multer@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@koa/multer/-/multer-3.0.0.tgz#439777949f28097d7b329c0b4ce3048074c862f8" + integrity sha512-y+OQBmex5D1jIl723gAEUYcAWPEicIXppaAKw/zCMfpllQ08ZNweDPwoCLxEoatqd5pCu2XG6V8dl67JRq3RJw== + +"@koa/router@9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@koa/router/-/router-9.0.1.tgz#4090a14223ea7e78aa13b632761209cba69acd95" + integrity sha512-OI+OU49CJV4px0WkIMmayBeqVXB/JS1ZMq7UoGlTZt6Y7ijK7kdeQ18+SEHHJPytmtI1y6Hf8XLrpxva3mhv5Q== + dependencies: + debug "^4.1.1" + http-errors "^1.7.3" + koa-compose "^4.1.0" + methods "^1.1.2" + path-to-regexp "^6.1.0" + +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@redocly/ajv@^8.6.2": + version "8.6.2" + resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.6.2.tgz#8c4e485e72f7864f91fae40093bed548ec2619b2" + integrity sha512-tU8fQs0D76ZKhJ2cWtnfQthWqiZgGBx0gH0+5D8JvaBEBaqA8foPPBt3Nonwr3ygyv5xrw2IzKWgIY86BlGs+w== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +"@redocly/openapi-core@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.54.tgz#42575a849c4dd54b9d0c6413fb8ca547e087cd11" + integrity sha512-uYs0N1Trjkh7u8IMIuCU2VxCXhMyGWSZUkP/WNdTR1OgBUtvNdF9C32zoQV+hyCIH4gVu42ROHkjisy333ZX+w== + dependencies: + "@redocly/ajv" "^8.6.2" + "@types/node" "^14.11.8" + colorette "^1.2.0" + js-levenshtein "^1.1.6" + js-yaml "^3.14.1" + lodash.isequal "^4.5.0" + minimatch "^3.0.4" + node-fetch "^2.6.1" + yaml-ast-parser "0.0.43" + +"@sindresorhus/is@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" + integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ== + +"@sinonjs/commons@^1.7.0": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.2.tgz#505f55c74e0272b43f6c52d81946bed7058fc0e2" + integrity sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" + integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@sqltools/formatter@^1.2.2": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@sqltools/formatter/-/formatter-1.2.3.tgz#1185726610acc37317ddab11c3c7f9066966bd20" + integrity sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg== + +"@syuilo/aiscript@0.11.1": + version "0.11.1" + resolved "https://registry.yarnpkg.com/@syuilo/aiscript/-/aiscript-0.11.1.tgz#52c14692113c58d1d62e6ae696352ba49abdf2eb" + integrity sha512-chwOIA3yLUKvOB0G611hjLArKTeOWNmTm3lHERSaDW1d+dS6do56naX6Lkwy2UpnwWC0qzeNSgg35elk6t2gZg== + dependencies: + autobind-decorator "2.4.0" + chalk "4.0.0" + seedrandom "3.0.5" + stringz "2.1.0" + uuid "7.0.3" + +"@szmarczak/http-timer@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" + integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== + dependencies: + defer-to-connect "^2.0.0" + +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@tsconfig/node10@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.7.tgz#1eb1de36c73478a2479cc661ef5af1c16d86d606" + integrity sha512-aBvUmXLQbayM4w3A8TrjwrXs4DZ8iduJnuJLLRGdkWlyakCf1q6uHZJBzXoRA/huAEknG5tcUyQxN3A+In5euQ== + +"@tsconfig/node12@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.7.tgz#677bd9117e8164dc319987dd6ff5fc1ba6fbf18b" + integrity sha512-dgasobK/Y0wVMswcipr3k0HpevxFJLijN03A8mYfEPvWvOs14v0ZlYTR4kIgMx8g4+fTyTFv8/jLCIfRqLDJ4A== + +"@tsconfig/node14@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.0.tgz#5bd046e508b1ee90bc091766758838741fdefd6e" + integrity sha512-RKkL8eTdPv6t5EHgFKIVQgsDapugbuOptNd9OOunN/HAkzmmTnZELx1kNCK0rSdUYGmiFMM3rRQMAWiyp023LQ== + +"@tsconfig/node16@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + +"@types/accepts@*": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" + integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== + dependencies: + "@types/node" "*" + +"@types/anymatch@*": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" + integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== + +"@types/bcryptjs@2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/bcryptjs/-/bcryptjs-2.4.2.tgz#e3530eac9dd136bfdfb0e43df2c4c5ce1f77dfae" + integrity sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ== + +"@types/body-parser@*": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bull@3.15.5": + version "3.15.5" + resolved "https://registry.yarnpkg.com/@types/bull/-/bull-3.15.5.tgz#a4459c127c5b10fb847531579a2cd5db35751366" + integrity sha512-XgJQWJ03jyKMfdoL8IAIoHIo7JkkL74kcxuujTONkSJswm0giIJ9kuVgDNHS0OvD+OiPNcFmbBl0H3scj2+A8A== + dependencies: + "@types/ioredis" "*" + +"@types/cacheable-request@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" + integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "*" + "@types/node" "*" + "@types/responselike" "*" + +"@types/cbor@6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@types/cbor/-/cbor-6.0.0.tgz#ddead015e14ef4463287d40cd92a6297a34dac8d" + integrity sha512-mGQ1lbYOwVti5Xlarn1bTeBZqgY0kstsdjnkoEovgohYKdBjGejHyNGXHdMBeqyQazIv32Jjp33+5pBEaSRy2w== + dependencies: + cbor "*" + +"@types/cheerio@0.22.18": + version "0.22.18" + resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.18.tgz#19018dceae691509901e339d63edf1e935978fe6" + integrity sha512-Fq7R3fINAPSdUEhOyjG4iVxgHrOnqDJbY0/BUuiN0pvD/rfmZWekVZnv+vcs8TtpA2XF50uv50LaE4EnpEL/Hw== + dependencies: + "@types/node" "*" + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + +"@types/connect@*": + version "3.4.33" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" + integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== + dependencies: + "@types/node" "*" + +"@types/content-disposition@*": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.3.tgz#0aa116701955c2faa0717fc69cd1596095e49d96" + integrity sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg== + +"@types/cookies@*": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.4.tgz#26dedf791701abc0e36b5b79a5722f40e455f87b" + integrity sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw== + dependencies: + "@types/connect" "*" + "@types/express" "*" + "@types/keygrip" "*" + "@types/node" "*" + +"@types/dateformat@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/dateformat/-/dateformat-3.0.1.tgz#98d747a2e5e9a56070c6bf14e27bff56204e34cc" + integrity sha512-KlPPdikagvL6ELjWsljbyDIPzNCeliYkqRpI+zea99vBBbCIA5JNshZAwQKTON139c87y9qvTFVgkFd14rtS4g== + +"@types/disposable-email-domains@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/disposable-email-domains/-/disposable-email-domains-1.0.2.tgz#0280f6b38fa7f14e54b056a434135ecd254483b1" + integrity sha512-SDKwyYTjk3y5aZBxxc38yRecpJPjsqn57STz1bNxYYlv4k11bBe7QB8w4llXDTmQXKT1mFvgGmJv+8Zdu3YmJw== + +"@types/escape-regexp@0.0.0": + version "0.0.0" + resolved "https://registry.yarnpkg.com/@types/escape-regexp/-/escape-regexp-0.0.0.tgz#bff0225f9ef30d0dbdbe0e2a24283ee5342990c3" + integrity sha512-HTansGo4tJ7K7W9I9LBdQqnHtPB/Y7tlS+EMrkboaAQLsRPhRpHaqAHe01K1HVXM5e1u1IplRd8EBh+pJrp7Dg== + +"@types/eslint-scope@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" + integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.0.tgz#eb5c5b575237334df24c53195e37b53d66478d7b" + integrity sha512-LpUXkr7fnmPXWGxB0ZuLEzNeTURuHPavkC5zuU4sg62/TgL5ZEjamr5Y8b6AftwHtx2bPJasI+CL0TT2JwQ7aA== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^0.0.46": + version "0.0.46" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" + integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== + +"@types/events@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@types/express-serve-static-core@*": + version "4.17.5" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.5.tgz#a00ac7dadd746ae82477443e4d480a6a93ea083c" + integrity sha512-578YH5Lt88AKoADy0b2jQGwJtrBxezXtVe/MBqWXKZpqx91SnC0pVkVCcxcytz3lWW+cHBYDi3Ysh0WXc+rAYw== + dependencies: + "@types/node" "*" + "@types/range-parser" "*" + +"@types/express@*": + version "4.17.6" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.6.tgz#6bce49e49570507b86ea1b07b806f04697fac45e" + integrity sha512-n/mr9tZI83kd4azlPG5y997C/M4DNABK9yErhFM6hKdym4kkmd9j0vtsJyjFIwfRBxtrxZtAfGZCNRIBMFLK5w== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/fluent-ffmpeg@2.1.17": + version "2.1.17" + resolved "https://registry.yarnpkg.com/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.17.tgz#6958dda400fe1b33c21f3683db76905cb210d053" + integrity sha512-/bdvjKw/mtBHlJ2370d04nt4CsWqU5MrwS/NtO96V01jxitJ4+iq8OFNcqc5CegeV3TQOK3uueK02kvRK+zjUg== + dependencies: + "@types/node" "*" + +"@types/glob@*": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" + integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== + dependencies: + "@types/events" "*" + "@types/minimatch" "*" + "@types/node" "*" + +"@types/glob@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/http-assert@*": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b" + integrity sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ== + +"@types/http-cache-semantics@*": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" + integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== + +"@types/http-errors@*": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.0.tgz#682477dbbbd07cd032731cb3b0e7eaee3d026b69" + integrity sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA== + +"@types/ioredis@*": + version "4.14.9" + resolved "https://registry.yarnpkg.com/@types/ioredis/-/ioredis-4.14.9.tgz#774387d44d3ad60e1b849044b2b28b96e5813866" + integrity sha512-yNdzppM6vY4DYqXCnt4A3PXArxsMWeJCYxFlyl4AJKrNSGMEAP9TPcXR+8Q6zh9glcCtxmwMQhi4pwdqqHH3OA== + dependencies: + "@types/node" "*" + +"@types/is-url@1.2.30": + version "1.2.30" + resolved "https://registry.yarnpkg.com/@types/is-url/-/is-url-1.2.30.tgz#85567e8bee4fee69202bc3448f9fb34b0d56c50a" + integrity sha512-AnlNFwjzC8XLda5VjRl4ItSd8qp8pSNowvsut0WwQyBWHpOxjxRJm8iO6uETWqEyLdYdb9/1j+Qd9gQ4l5I4fw== + +"@types/js-yaml@4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.4.tgz#cc38781257612581a1a0eb25f1709d2b06812fce" + integrity sha512-AuHubXUmg0AzkXH0Mx6sIxeY/1C110mm/EkE/gB1sTRz3h2dao2W/63q42SlVST+lICxz5Oki2hzYA6+KnnieQ== + +"@types/jsdom@16.2.13": + version "16.2.13" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-16.2.13.tgz#126c8b7441b159d6234610a48de77b6066f1823f" + integrity sha512-8JQCjdeAidptSsOcRWk2iTm9wCcwn9l+kRG6k5bzUacrnm1ezV4forq0kWjUih/tumAeoG+OspOvQEbbRucBTw== + dependencies: + "@types/node" "*" + "@types/parse5" "*" + "@types/tough-cookie" "*" + +"@types/json-schema@*": + version "7.0.5" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" + integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== + +"@types/json-schema@^7.0.6": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/jsonld@1.5.6": + version "1.5.6" + resolved "https://registry.yarnpkg.com/@types/jsonld/-/jsonld-1.5.6.tgz#4396c0b17128abf5773bb68b5453b88fc565b0d4" + integrity sha512-OUcfMjRie5IOrJulUQwVNvV57SOdKcTfBj3pjXNxzXqeOIrY2aGDNGW/Tlp83EQPkz4tCE6YWVrGuc/ZeaAQGg== + +"@types/keygrip@*": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.2.tgz#513abfd256d7ad0bf1ee1873606317b33b1b2a72" + integrity sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw== + +"@types/keyv@*": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" + integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== + dependencies: + "@types/node" "*" + +"@types/koa-bodyparser@4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@types/koa-bodyparser/-/koa-bodyparser-4.3.3.tgz#9c7d4295576bc863d550002f732f1c57dd88cc58" + integrity sha512-/ileIpXsy1fFEzgZhZ07eZH8rAVL7jwuk/kaoVEfauO6s80g2LIDIJKEyDbuAL9S/BWflKzEC0PHD6aXkmaSbw== + dependencies: + "@types/koa" "*" + +"@types/koa-compose@*": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.5.tgz#85eb2e80ac50be95f37ccf8c407c09bbe3468e9d" + integrity sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ== + dependencies: + "@types/koa" "*" + +"@types/koa-cors@0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@types/koa-cors/-/koa-cors-0.0.2.tgz#369c753fb383640f225579c70a4f9a286b4931b7" + integrity sha512-uNaDY26HUVO+2C6arK8ZFODs9mBjYprD8mlvkVe2bYdX9wzEeKtycVXPafXpUkePhMh4sffIMkhRDyedokG/QA== + dependencies: + "@types/koa" "*" + +"@types/koa-favicon@2.0.21": + version "2.0.21" + resolved "https://registry.yarnpkg.com/@types/koa-favicon/-/koa-favicon-2.0.21.tgz#d8a0ed062a6f5e3f838fe09c21e8b3f0490369cd" + integrity sha512-paH1nheVhijx/VduoR/RCD/qTCiX+OI/6fHLi3mZae053Ts+gUBOrKtzl3pMTDbdEBqdLolfLje3PZbb6jW0jQ== + dependencies: + "@types/koa" "*" + +"@types/koa-logger@3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/koa-logger/-/koa-logger-3.1.2.tgz#91e890f405ddb0626bc385767e4cc0cd7226d1a8" + integrity sha512-sioTA1xlKYiIgryANWPRHBkG3XGbWftw9slWADUPC+qvPIY/yRLSrhvX7zkJwMrntub5dPO0GuAoyGGf0yitfQ== + dependencies: + "@types/koa" "*" + +"@types/koa-mount@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/koa-mount/-/koa-mount-4.0.1.tgz#2994be86eaa3d9dc97365e6ebfa227cee3c5f157" + integrity sha512-HNeg80CVS9Dfq8dGYqCZZCAUm7g6jPCNJ1ydqVLEJxLrjmeburpvq+lOZkE4rxBZ6O38dr3tj9IA3IfbdoI05w== + dependencies: + "@types/koa" "*" + +"@types/koa-send@4.1.3": + version "4.1.3" + resolved "https://registry.yarnpkg.com/@types/koa-send/-/koa-send-4.1.3.tgz#17193c6472ae9e5d1b99ae8086949cc4fd69179d" + integrity sha512-daaTqPZlgjIJycSTNjKpHYuKhXYP30atFc1pBcy6HHqB9+vcymDgYTguPdx9tO4HMOqNyz6bz/zqpxt5eLR+VA== + dependencies: + "@types/koa" "*" + +"@types/koa-views@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@types/koa-views/-/koa-views-7.0.0.tgz#5613450c77ab69c980c47104378da4b7669c5f2e" + integrity sha512-AB/NB+oFHcLOZJYFv3bG5Af8YbwYCD9/zK0WcKALsbjI/FRKrcXTUTC64RebDrkyOkBm3bpCgpGndhAH/3YQ2Q== + dependencies: + koa-views "*" + +"@types/koa@*", "@types/koa@^2.13.1": + version "2.13.1" + resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.13.1.tgz#e29877a6b5ad3744ab1024f6ec75b8cbf6ec45db" + integrity sha512-Qbno7FWom9nNqu0yHZ6A0+RWt4mrYBhw3wpBAQ3+IuzGcLlfeYkzZrnMq5wsxulN2np8M4KKeUpTodsOsSad5Q== + dependencies: + "@types/accepts" "*" + "@types/content-disposition" "*" + "@types/cookies" "*" + "@types/http-assert" "*" + "@types/http-errors" "*" + "@types/keygrip" "*" + "@types/koa-compose" "*" + "@types/node" "*" + +"@types/koa@2.13.4": + version "2.13.4" + resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.13.4.tgz#10620b3f24a8027ef5cbae88b393d1b31205726b" + integrity sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw== + dependencies: + "@types/accepts" "*" + "@types/content-disposition" "*" + "@types/cookies" "*" + "@types/http-assert" "*" + "@types/http-errors" "*" + "@types/keygrip" "*" + "@types/koa-compose" "*" + "@types/node" "*" + +"@types/koa__cors@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/koa__cors/-/koa__cors-3.0.3.tgz#49d75813b443ba3d4da28ea6cf6244b7e99a3b23" + integrity sha512-74Xb4hJOPGKlrQ4PRBk1A/p0gfLpgbnpT0o67OMVbwyeMXvlBN+ZCRztAAmkKZs+8hKbgMutUlZVbA52Hr/0IA== + dependencies: + "@types/koa" "*" + +"@types/koa__multer@2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/koa__multer/-/koa__multer-2.0.4.tgz#e0f0fd1800a46b51886bebab480a57100f2488b0" + integrity sha512-WRkshXhE5rpYFUbbtAjyMhdOOSdbu1XX+2AQlRNM6AZtgxd0/WXMU4lrP7e9tk5HWVTWbx8DOOsVBmfHjSGJ4w== + dependencies: + "@types/koa" "*" + +"@types/koa__router@8.0.8": + version "8.0.8" + resolved "https://registry.yarnpkg.com/@types/koa__router/-/koa__router-8.0.8.tgz#b1e0e9a512498777d3366bbdf0e853df27ec831c" + integrity sha512-9pGCaDtzCsj4HJ8HmGuqzk8+s57sPj4njWd08GG5o92n5Xp9io2snc40CPpXFhoKcZ8OKhuu6ht4gNou9e1C2w== + dependencies: + "@types/koa" "*" + +"@types/mime@*": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" + integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw== + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/mocha@8.2.3": + version "8.2.3" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.3.tgz#bbeb55fbc73f28ea6de601fbfa4613f58d785323" + integrity sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw== + +"@types/node-fetch@2.5.12": + version "2.5.12" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.12.tgz#8a6f779b1d4e60b7a57fb6fd48d84fb545b9cc66" + integrity sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + +"@types/node@*": + version "16.6.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.6.2.tgz#331b7b9f8621c638284787c5559423822fdffc50" + integrity sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA== + +"@types/node@16.11.7": + version "16.11.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" + integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw== + +"@types/node@^14.11.8": + version "14.17.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.9.tgz#b97c057e6138adb7b720df2bd0264b03c9f504fd" + integrity sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g== + +"@types/nodemailer@6.4.4": + version "6.4.4" + resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.4.tgz#c265f7e7a51df587597b3a49a023acaf0c741f4b" + integrity sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw== + dependencies: + "@types/node" "*" + +"@types/nprogress@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@types/nprogress/-/nprogress-0.2.0.tgz#86c593682d4199212a0509cc3c4d562bbbd6e45f" + integrity sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A== + +"@types/oauth@0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@types/oauth/-/oauth-0.9.1.tgz#e17221e7f7936b0459ae7d006255dff61adca305" + integrity sha512-a1iY62/a3yhZ7qH7cNUsxoI3U/0Fe9+RnuFrpTKr+0WVOzbKlSLojShCKe20aOD1Sppv+i8Zlq0pLDuTJnwS4A== + dependencies: + "@types/node" "*" + +"@types/parse5@*": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" + integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== + +"@types/parse5@6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.2.tgz#99f6b72d82e34cea03a4d8f2ed72114d909c1c61" + integrity sha512-+hQX+WyJAOne7Fh3zF5CxPemILIbuhNcqHHodzK9caYOLnC8pD5efmPleRnw0z++LfKUC/sVNMwk0Gap+B0baA== + +"@types/parsimmon@1.10.6": + version "1.10.6" + resolved "https://registry.yarnpkg.com/@types/parsimmon/-/parsimmon-1.10.6.tgz#8fcf95990514d2a7624aa5f630c13bf2427f9cdd" + integrity sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA== + +"@types/portscanner@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@types/portscanner/-/portscanner-2.1.1.tgz#89d5094e16f3d941f20f3889dfa5d3a164b3dd3b" + integrity sha512-1NsVIbgBKvrqxwtMN0V6CLji1ERwKSI/RWz0J3y++CzSwYNGBStCfpIFgxV3ZwxsDR5PoZqoUWhwraDm+Ztn0Q== + +"@types/pug@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.5.tgz#69bc700934dd473c7ab97270bd2dbacefe562231" + integrity sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA== + +"@types/punycode@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/punycode/-/punycode-2.1.0.tgz#89e4f3d09b3f92e87a80505af19be7e0c31d4e83" + integrity sha512-PG5aLpW6PJOeV2fHRslP4IOMWn+G+Uq8CfnyJ+PDS8ndCbU+soO+fB3NKCKo0p/Jh2Y4aPaiQZsrOXFdzpcA6g== + +"@types/qrcode@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.4.1.tgz#0689f400c3a95d2db040c99c99834faa09ee9dc1" + integrity sha512-vxMyr7JM7tYPxu8vUE83NiosWX5DZieCyYeJRoOIg0pAkyofCBzknJ2ycUZkPGDFis2RS8GN/BeJLnRnAPxeCA== + dependencies: + "@types/node" "*" + +"@types/qs@*": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.1.tgz#937fab3194766256ee09fcd40b781740758617e7" + integrity sha512-lhbQXx9HKZAPgBkISrBcmAcMpZsmpe/Cd/hY7LGZS5OfkySUBItnPZHgQPssWYUET8elF+yCFBbP1Q0RZPTdaw== + +"@types/random-seed@0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@types/random-seed/-/random-seed-0.3.3.tgz#7741f7b0a4513198a9396ce4ad25832f799a6727" + integrity sha512-kHsCbIRHNXJo6EN5W8EA5b4i1hdT6jaZke5crBPLUcLqaLdZ0QBq8QVMbafHzhjFF83Cl9qlee2dChD18d/kPg== + +"@types/range-parser@*": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + +"@types/ratelimiter@3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@types/ratelimiter/-/ratelimiter-3.4.2.tgz#adf1a6d0cbe72d42207efc510a9170602e23456c" + integrity sha512-iz+yyY+ViphaM8ZwrX1mUQzelIeC59zyaaLKTJ0YVOOCkCpIYpaysiIM4z5Xv9HdXYqIb80S+DhH7J22A0rW2w== + +"@types/readable-stream@^2.3.9": + version "2.3.9" + resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.9.tgz#40a8349e6ace3afd2dd1b6d8e9b02945de4566a9" + integrity sha512-sqsgQqFT7HmQz/V5jH1O0fvQQnXAJO46Gg9LRO/JPfjmVmGUlcx831TZZO3Y3HtWhIkzf3kTsNT0Z0kzIhIvZw== + dependencies: + "@types/node" "*" + safe-buffer "*" + +"@types/redis@2.8.32": + version "2.8.32" + resolved "https://registry.yarnpkg.com/@types/redis/-/redis-2.8.32.tgz#1d3430219afbee10f8cfa389dad2571a05ecfb11" + integrity sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w== + dependencies: + "@types/node" "*" + +"@types/rename@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@types/rename/-/rename-1.0.4.tgz#30c6f0306042591a560361ea02639e89647dd173" + integrity sha512-eV81+6bVv2mdCBahkMefjEUwAjKDAP3AuyhqWCWRxcRaeVdUeHUBaoq2zSz+5HNHF2jzTajMcfLvJsy4K3cbwA== + +"@types/request-stats@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/request-stats/-/request-stats-3.0.0.tgz#d3909a9f778b8ae0b42fb8c1ed20cb936ed95f99" + integrity sha512-POsDF7nETH8up49iBNvbZuO0pEk9F+TG0rXCkvjxCClcOS99xfF+mKmJteYlwKYpuRKkixzysKlL8rwN1hU2lw== + dependencies: + "@types/node" "*" + +"@types/responselike@*", "@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + +"@types/rimraf@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.2.tgz#a63d175b331748e5220ad48c901d7bbf1f44eef8" + integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== + dependencies: + "@types/glob" "*" + "@types/node" "*" + +"@types/rsvp@^4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/rsvp/-/rsvp-4.0.4.tgz#55e93e7054027f1ad4b4ebc1e60e59eb091e2d32" + integrity sha512-J3Ol++HCC7/hwZhanDvggFYU/GtxHxE/e7cGRWxR04BF7Tt3TqJZ84BkzQgDxmX0uu8IagiyfmfoUlBACh2Ilg== + +"@types/seedrandom@2.4.28": + version "2.4.28" + resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-2.4.28.tgz#9ce8fa048c1e8c85cb71d7fe4d704e000226036f" + integrity sha512-SMA+fUwULwK7sd/ZJicUztiPs8F1yCPwF3O23Z9uQ32ME5Ha0NmDK9+QTsYE4O2tHXChzXomSWWeIhCnoN1LqA== + +"@types/serve-static@*": + version "1.13.3" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.3.tgz#eb7e1c41c4468272557e897e9171ded5e2ded9d1" + integrity sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g== + dependencies: + "@types/express-serve-static-core" "*" + "@types/mime" "*" + +"@types/sharp@0.29.3": + version "0.29.3" + resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.29.3.tgz#54ceb81b68bb99a0e62db2b52f4fb0bea84878ac" + integrity sha512-83Xp05eK2hvfNnmKLr2Fz0C2A0jrr2TnSLqKRbkLTYuAu+Erj6mKQLoEMGafE73Om8p3q3ryZxtHFM/7hy4Adg== + dependencies: + "@types/node" "*" + +"@types/sinonjs__fake-timers@6.0.4": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz#0ecc1b9259b76598ef01942f547904ce61a6a77d" + integrity sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A== + +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + +"@types/speakeasy@2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/speakeasy/-/speakeasy-2.0.6.tgz#12540f7b64d08180393ae2c5c8c280866a85da61" + integrity sha512-2wIXZp5yJUddhsSZarYCZIakCvzwQgTVdtT29DYVdFzc0cHttanaQx9THRhtjY4kDqVaF2jhyFOEofozOioFdQ== + dependencies: + "@types/node" "*" + +"@types/tapable@^1": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4" + integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ== + +"@types/throttle-debounce@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz#1c3df624bfc4b62f992d3012b84c56d41eab3776" + integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ== + +"@types/tinycolor2@1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@types/tinycolor2/-/tinycolor2-1.4.3.tgz#ed4a0901f954b126e6a914b4839c77462d56e706" + integrity sha512-Kf1w9NE5HEgGxCRyIcRXR/ZYtDv0V8FVPtYHwLxl0O+maGX0erE77pQlD0gpP+/KByMZ87mOA79SjifhSB3PjQ== + +"@types/tmp@0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.2.tgz#424537a3b91828cb26aaf697f21ae3cd1b69f7e7" + integrity sha512-MhSa0yylXtVMsyT8qFpHA1DLHj4DvQGH5ntxrhHSh8PxUVNi35Wk+P5hVgqbO2qZqOotqr9jaoPRL+iRjWYm/A== + +"@types/tough-cookie@*": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.0.tgz#fef1904e4668b6e5ecee60c52cc6a078ffa6697d" + integrity sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A== + +"@types/uglify-js@*": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.9.0.tgz#4490a140ca82aa855ad68093829e7fd6ae94ea87" + integrity sha512-3ZcoyPYHVOCcLpnfZwD47KFLr8W/mpUcgjpf1M4Q78TMJIw7KMAHSjiCLJp1z3ZrBR9pTLbe191O0TldFK5zcw== + dependencies: + source-map "^0.6.1" + +"@types/uuid@8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.1.tgz#1a32969cf8f0364b3d8c8af9cc3555b7805df14f" + integrity sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== + +"@types/web-push@3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@types/web-push/-/web-push-3.3.2.tgz#8c32434147c0396415862e86405c9edc9c50fc15" + integrity sha512-JxWGVL/m7mWTIg4mRYO+A6s0jPmBkr4iJr39DqJpRJAc+jrPiEe1/asmkwerzRon8ZZDxaZJpsxpv0Z18Wo9gw== + dependencies: + "@types/node" "*" + +"@types/webpack-sources@*": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.7.tgz#0a330a9456113410c74a5d64180af0cbca007141" + integrity sha512-XyaHrJILjK1VHVC4aVlKsdNN5KBTwufMb43cQs+flGxtPAf/1Qwl8+Q0tp5BwEGaI8D6XT1L+9bSWXckgkjTLw== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.6.1" + +"@types/webpack-stream@3.2.12": + version "3.2.12" + resolved "https://registry.yarnpkg.com/@types/webpack-stream/-/webpack-stream-3.2.12.tgz#cf13e64067a662a7acd8cd0524b3f64c86b0ecb6" + integrity sha512-znMUl4kKT0V0SwkUgRgwUNSAO7J5I/jdTCBNy3utkCsgMJ3IHp4FBTDwsQC+tfQ73TWeKIH05QNmbUYmeGThGw== + dependencies: + "@types/node" "*" + "@types/webpack" "^4" + +"@types/webpack@5.28.0": + version "5.28.0" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.0.tgz#78dde06212f038d77e54116cfe69e88ae9ed2c03" + integrity sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w== + dependencies: + "@types/node" "*" + tapable "^2.2.0" + webpack "^5" + +"@types/webpack@^4": + version "4.41.27" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.27.tgz#f47da488c8037e7f1b2dbf2714fbbacb61ec0ffc" + integrity sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + +"@types/websocket@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.4.tgz#1dc497280d8049a5450854dd698ee7e6ea9e60b8" + integrity sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA== + dependencies: + "@types/node" "*" + +"@types/ws@8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.0.tgz#75faefbe2328f3b833cb8dc640658328990d04f3" + integrity sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg== + dependencies: + "@types/node" "*" + +"@types/zen-observable@^0.8.2": + version "0.8.2" + resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71" + integrity sha512-HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg== + +"@typescript-eslint/parser@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.1.0.tgz#6c7f837d210d2bc0a811e7ea742af414f4e00908" + integrity sha512-vx1P+mhCtYw3+bRHmbalq/VKP2Y3gnzNgxGxfEWc6OFpuEL7iQdAeq11Ke3Rhy8NjgB+AHsIWEwni3e+Y7djKA== + dependencies: + "@typescript-eslint/scope-manager" "5.1.0" + "@typescript-eslint/types" "5.1.0" + "@typescript-eslint/typescript-estree" "5.1.0" + debug "^4.3.2" + +"@typescript-eslint/scope-manager@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.1.0.tgz#6f1f26ad66a8f71bbb33b635e74fec43f76b44df" + integrity sha512-yYlyVjvn5lvwCL37i4hPsa1s0ORsjkauhTqbb8MnpvUs7xykmcjGqwlNZ2Q5QpoqkJ1odlM2bqHqJwa28qV6Tw== + dependencies: + "@typescript-eslint/types" "5.1.0" + "@typescript-eslint/visitor-keys" "5.1.0" + +"@typescript-eslint/types@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.1.0.tgz#a8a75ddfc611660de6be17d3ad950302385607a9" + integrity sha512-sEwNINVxcB4ZgC6Fe6rUyMlvsB2jvVdgxjZEjQUQVlaSPMNamDOwO6/TB98kFt4sYYfNhdhTPBEQqNQZjMMswA== + +"@typescript-eslint/typescript-estree@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.1.0.tgz#132aea34372df09decda961cb42457433aa6e83d" + integrity sha512-SSz+l9YrIIsW4s0ZqaEfnjl156XQ4VRmJsbA0ZE1XkXrD3cRpzuZSVCyqeCMR3EBjF27IisWakbBDGhGNIOvfQ== + dependencies: + "@typescript-eslint/types" "5.1.0" + "@typescript-eslint/visitor-keys" "5.1.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.1.0.tgz#e01a01b27eb173092705ae983aa1451bd1842630" + integrity sha512-uqNXepKBg81JVwjuqAxYrXa1Ql/YDzM+8g/pS+TCPxba0wZttl8m5DkrasbfnmJGHs4lQ2jTbcZ5azGhI7kK+w== + dependencies: + "@typescript-eslint/types" "5.1.0" + eslint-visitor-keys "^3.0.0" + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + +"@webassemblyjs/ast@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" + integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + +"@webassemblyjs/floating-point-hex-parser@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c" + integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA== + +"@webassemblyjs/helper-api-error@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4" + integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w== + +"@webassemblyjs/helper-buffer@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642" + integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA== + +"@webassemblyjs/helper-numbers@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9" + integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.0" + "@webassemblyjs/helper-api-error" "1.11.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1" + integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA== + +"@webassemblyjs/helper-wasm-section@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b" + integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + +"@webassemblyjs/ieee754@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf" + integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b" + integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf" + integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw== + +"@webassemblyjs/wasm-edit@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78" + integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/helper-wasm-section" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/wasm-opt" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + "@webassemblyjs/wast-printer" "1.11.0" + +"@webassemblyjs/wasm-gen@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe" + integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ieee754" "1.11.0" + "@webassemblyjs/leb128" "1.11.0" + "@webassemblyjs/utf8" "1.11.0" + +"@webassemblyjs/wasm-opt@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978" + integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + +"@webassemblyjs/wasm-parser@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754" + integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-api-error" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ieee754" "1.11.0" + "@webassemblyjs/leb128" "1.11.0" + "@webassemblyjs/utf8" "1.11.0" + +"@webassemblyjs/wast-printer@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e" + integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abort-controller@3.0.0, abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +accepts@^1.3.5: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + +acorn-walk@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" + integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== + +acorn-walk@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.1.1.tgz#3ddab7f84e4a7e2313f6c414c5b7dac85f4e3ebc" + integrity sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.0.4: + version "8.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.0.tgz#52311fd7037ae119cbb134309e901aa46295b3fe" + integrity sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA== + +acorn@^8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0" + integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg== + +acorn@^8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" + integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== + +acorn@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" + integrity sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.5.5: + version "6.12.5" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" + integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-colors@4.1.1, ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +any-promise@^1.0.0, any-promise@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +app-root-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" + integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== + +append-field@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/append-field/-/append-field-1.0.0.tgz#1e3440e915f0b1203d23748e78edd7b9b5b43e56" + integrity sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY= + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-timsort@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" + integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.3.0.tgz#439099fe9174e09cff5a54a9dda70260517e8689" + integrity sha512-WHnQJFcOrIWT1RLOkFFBQkFVvyt9BPOOrH+Dp152Zk4R993rSzXUGPmkybIcUFhHE2d/iHH+nCaOWVCDbO8fgA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-never@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.2.1.tgz#11f0e363bf146205fb08193b5c7b90f4d1cf44fe" + integrity sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw== + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +async@>=0.2.9: + version "3.2.0" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" + integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== + +async@^2.6.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +async@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8" + integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +autobind-decorator@2.4.0, autobind-decorator@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/autobind-decorator/-/autobind-decorator-2.4.0.tgz#ea9e1c98708cf3b5b356f7cf9f10f265ff18239c" + integrity sha512-OGYhWUO72V6DafbF8PM8rm3EPbfuyMZcJhtm5/n26IDwO18pohE4eNazLoCGhPiXOCD0gEGmrbU3849QvM8bbw== + +autosize@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/autosize/-/autosize-4.0.4.tgz#924f13853a466b633b9309330833936d8bccce03" + integrity sha512-5yxLQ22O0fCRGoxGfeLSNt3J8LB1v+umtpMnPW6XjkTWXKoN0AmXAIhelJcDtFT/Y/wYWmfE+oqU10Q0b8FhaQ== + +autwh@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/autwh/-/autwh-0.1.0.tgz#24a5300923309d105133401a2568f9c8ab7d7e03" + integrity sha512-IkGZ4kjVlZMkEmDiVtZpGG3lDGHPqsMBIh4IpQKN7idYOJ5EGedqKPO+ychNqh8zrJEEqYsN0NcBkcmoE2uFAw== + dependencies: + oauth "0.9.15" + +aws-sdk@2.1013.0: + version "2.1013.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1013.0.tgz#85babc473b0bc90cc1160eb48baf616ddb86e346" + integrity sha512-TXxkp/meAdofpC15goFpNuur7fvh/mcMRfHJoP1jYzTtD0wcoB4FK16GLcny0uDYgkQgZuiO9QYv3Rq5bhGCqQ== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" + integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== + +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-walk@3.0.0-canary-5: + version "3.0.0-canary-5" + resolved "https://registry.yarnpkg.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11" + integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== + dependencies: + "@babel/types" "^7.9.6" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base32.js@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/base32.js/-/base32.js-0.0.1.tgz#d045736a57b1f6c139f0c7df42518a84e91bb2ba" + integrity sha1-0EVzalex9sE58MffQlGKhOkbsro= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bcryptjs@2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" + integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= + +big-integer@^1.6.16: + version "1.6.48" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" + integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + +bl@^4.0.1, bl@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" + integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +blurhash@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/blurhash/-/blurhash-1.1.4.tgz#a7010ceb3019cd2c9809b17c910ebf6175d29244" + integrity sha512-MXIPz6zwYUKayju+Uidf83KhH0vodZfeRl6Ich8Gu+KGl0JgKiFq9LsfqV7cVU5fKD/AotmduZqvOfrGKOfTaA== + +bn.js@^4.0.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +broadcast-channel@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/broadcast-channel/-/broadcast-channel-4.5.0.tgz#d4717c493e219908fcb7f2f9078fe0baf95b77c1" + integrity sha512-jp+VPlQ1HyR0CM3uIYUrdpXupBvhTMFRkjR6mEmt5W4HaGDPFEzrO2Jqvi2PZ6zCC4zwLeco7CC5EUJPrVH8Tw== + dependencies: + "@babel/runtime" "^7.16.0" + detect-node "^2.1.0" + microseconds "0.2.0" + nano-time "1.0.0" + oblivious-set "1.0.0" + rimraf "3.0.2" + unload "2.3.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.0.0, browserslist@^4.14.5: + version "4.16.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== + dependencies: + caniuse-lite "^1.0.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" + +browserslist@^4.16.0: + version "4.16.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.4.tgz#7ebf913487f40caf4637b892b268069951c35d58" + integrity sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ== + dependencies: + caniuse-lite "^1.0.30001208" + colorette "^1.2.2" + electron-to-chromium "^1.3.712" + escalade "^3.1.1" + node-releases "^1.1.71" + +browserslist@^4.16.6: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + +buffer-from@1.x: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-from@^1.0.0, buffer-from@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer-writer@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" + integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^5.4.3, buffer@^5.5.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bufferutil@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.1.tgz#3a177e8e5819a1243fe16b63a199951a7ad8d4a7" + integrity sha512-xowrxvpxojqkagPcWRQVXZl0YXhRhAtBEIq3VoER1NH5Mw1n1o0ojdspp+GS2J//2gCVyrzQDApQ4unGF+QOoA== + dependencies: + node-gyp-build "~3.7.0" + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +bull@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bull/-/bull-4.1.0.tgz#ff8f628694e7dbbdf89b6a6860a1f33e990527fd" + integrity sha512-rQcLuAmzZIv1dHJO/yKrWu497xcTxMpYeTEBfpStrJFZ1UZpBSGHSx+defbtFVeGEeY8Pn0aMGRvRtldUBVUyQ== + dependencies: + cron-parser "^2.13.0" + debuglog "^1.0.0" + get-port "^5.1.1" + ioredis "^4.27.0" + lodash "^4.17.21" + p-timeout "^3.2.0" + promise.prototype.finally "^3.1.2" + semver "^7.3.2" + util.promisify "^1.0.1" + uuid "^8.3.0" + +busboy@^0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" + integrity sha1-bCpiLvz0fFe7vh4qnDetNseSVFM= + dependencies: + dicer "0.2.5" + readable-stream "1.1.x" + +bytes@3.1.0, bytes@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cacache@^15.0.5: + version "15.1.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.1.0.tgz#164c2f857ee606e4cc793c63018fefd0ea5eba7b" + integrity sha512-mfx0C+mCfWjD1PnwQ9yaOrwG1ou9FkKnx0SvzUHWdFt7r7GaRtzT+9M8HAvLu62zIHtnpQ/1m93nWNDCckJGXQ== + dependencies: + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cache-content-type@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" + integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== + dependencies: + mime-types "^2.1.18" + ylru "^1.2.0" + +cacheable-lookup@6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.0.4.tgz#65c0e51721bb7f9f2cb513aed6da4a1b93ad7dc8" + integrity sha512-mbcDEZCkv2CZF4G01kr8eBd/5agkt9oCqz75tJMSIsquvRZ2sL6Hi5zGVKi/0OSC9oO1GHfJ2AV0ZIOY9vye0A== + +cacheable-lookup@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz#049fdc59dffdd4fc285e8f4f82936591bd59fec3" + integrity sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w== + +cacheable-request@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" + integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^2.0.0" + +cafy@15.2.1: + version "15.2.1" + resolved "https://registry.yarnpkg.com/cafy/-/cafy-15.2.1.tgz#5a55eaeb721c604c7dca652f3d555c392e5f995a" + integrity sha512-g2zOmFb63p6XcZ/zeMWKYP8YKQYNWnhJmi6K71Ql4EAFTAay31xF0PBPtdBCCfQ0fiETgWTMxKtySAVI/Od6aQ== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0: + version "1.0.30001048" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz#4bb4f1bc2eb304e5e1154da80b93dee3f1cf447e" + integrity sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg== + +caniuse-lite@^1.0.30001181: + version "1.0.30001191" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz#bacb432b6701f690c8c5f7c680166b9a9f0843d9" + integrity sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw== + +caniuse-lite@^1.0.30001208: + version "1.0.30001208" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz#a999014a35cebd4f98c405930a057a0d75352eb9" + integrity sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA== + +caniuse-lite@^1.0.30001219: + version "1.0.30001230" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz#8135c57459854b2240b57a4a6786044bdc5a9f71" + integrity sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ== + +canonicalize@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/canonicalize/-/canonicalize-1.0.1.tgz#657b4f3fa38a6ecb97a9e5b7b26d7a19cc6e0da9" + integrity sha512-N3cmB3QLhS5TJ5smKFf1w42rJXWe6C1qP01z4dxJiI5v269buii4fLHWETDyf7yEd0azGLNC63VxNMiPd2u0Cg== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +cbor@*: + version "7.0.5" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-7.0.5.tgz#ed54cdbc19fa7352bb328d00a5393aa7ce45a10f" + integrity sha512-0aaAPgW92lLmypb9iCd22k7tSD1FbF6dps8VQzmIBKY6ych2gO09b2vo/SbaLTmezJuB8Kh88Rvpl/Uq52mNZg== + dependencies: + "@cto.af/textdecoder" "^0.0.0" + nofilter "^2.0.3" + +cbor@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== + dependencies: + nofilter "^3.1.0" + +chalk@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" + integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +character-parser@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" + integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A= + dependencies: + is-regex "^1.0.3" + +chart.js@3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.6.0.tgz#a87fce8431d4e7c5523d721f487f53aada1e42fe" + integrity sha512-iOzzDKePL+bj+ccIsVAgWQehCXv8xOKGbaU2fO/myivH736zcx535PGJzQGanvcSGVOqX6yuLZsN3ygcQ35UgQ== + +chartjs-adapter-date-fns@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-2.0.0.tgz#5e53b2f660b993698f936f509c86dddf9ed44c6b" + integrity sha512-rmZINGLe+9IiiEB0kb57vH3UugAtYw33anRiw5kS2Tu87agpetDDoouquycWc9pRsKtQo5j+vLsYHyr8etAvFw== + +chartjs-plugin-zoom@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chartjs-plugin-zoom/-/chartjs-plugin-zoom-1.1.1.tgz#8a28923a17fcb5eb57a0dc94c5113bf402677647" + integrity sha512-1q54WOzK7FtAjkbemQeqvmFUV0btNYIQny2HbQ6Awq9wUtCz7Zmj6vIgp3C1DYMQwN0nqgpC3vnApqiwI7cSdQ== + dependencies: + hammerjs "^2.0.8" + +cheerio-httpcli@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/cheerio-httpcli/-/cheerio-httpcli-0.8.2.tgz#0189bda71c8bd2852de78e154291e2288184fbf2" + integrity sha512-grIzTwQg/nE7Oy6VvL19pf0UlM6wiluy/AOpXfQLVFrSi21F8wnO3dLchtaH2hfMF6jz68ot0/ngyQQVrp2VTw== + dependencies: + "@types/cheerio" "0.22.18" + "@types/rsvp" "^4.0.4" + async "^3.2.0" + cheerio "^0.22.0" + colors "^1.4.0" + foreach "^2.0.5" + he "^1.2.0" + iconv-lite "^0.6.3" + import-fresh "^3.3.0" + jschardet "^3.0.0" + object-assign "^4.1.1" + os-locale "^5.0.0" + prettyjson "^1.2.1" + request "^2.88.2" + rsvp "^4.8.5" + tough-cookie "^2.5.0" + type-of "^2.0.1" + valid-url "^1.0.9" + +cheerio@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" + integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= + dependencies: + css-select "~1.2.0" + dom-serializer "~0.1.0" + entities "~1.1.1" + htmlparser2 "^3.9.1" + lodash.assignin "^4.0.9" + lodash.bind "^4.1.4" + lodash.defaults "^4.0.1" + lodash.filter "^4.4.0" + lodash.flatten "^4.2.0" + lodash.foreach "^4.3.0" + lodash.map "^4.4.0" + lodash.merge "^4.4.0" + lodash.pick "^4.2.1" + lodash.reduce "^4.4.0" + lodash.reject "^4.4.0" + lodash.some "^4.4.0" + +chokidar@3.5.1, chokidar@^3.3.1, chokidar@^3.5.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.3.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + dependencies: + tslib "^1.9.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-highlight@2.1.11, cli-highlight@^2.1.11: + version "2.1.11" + resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf" + integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== + dependencies: + chalk "^4.0.0" + highlight.js "^10.7.1" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^6.0.0" + yargs "^16.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +cluster-key-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz#30474b2a981fb12172695833052bc0d01336d10d" + integrity sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw== + +co-body@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/co-body/-/co-body-5.2.0.tgz#5a0a658c46029131e0e3a306f67647302f71c124" + integrity sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ== + dependencies: + inflation "^2.0.0" + qs "^6.4.0" + raw-body "^2.2.0" + type-is "^1.6.14" + +co-body@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/co-body/-/co-body-6.0.0.tgz#965b9337d7f5655480787471f4237664820827e3" + integrity sha512-9ZIcixguuuKIptnY8yemEOuhb71L/lLf+Rl5JfJEUiDNJk0e02MBt7BPxR2GEh5mw8dPthQYR4jPI/BnS1MQgw== + dependencies: + inflation "^2.0.0" + qs "^6.5.2" + raw-body "^2.3.3" + type-is "^1.6.16" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" + integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/color/-/color-4.0.1.tgz#21df44cd10245a91b1ccf5ba031609b0e10e7d67" + integrity sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA== + dependencies: + color-convert "^2.0.1" + color-string "^1.6.0" + +colord@^2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e" + integrity sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw== + +colorette@^1.2.0, colorette@^1.2.1, colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + +colors@^1.1.2, colors@^1.3.3, colors@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.12.1, commander@^2.19.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +comment-json@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.1.1.tgz#49df4948704bebb1cc0ffa6910e25669b668b7c5" + integrity sha512-v8gmtPvxhBlhdRBLwdHSjGy9BgA23t9H1FctdQKyUrErPjSrJcdDMqBq9B4Irtm7w3TNYLQJNH6ARKnpyag1sA== + dependencies: + array-timsort "^1.0.3" + core-util-is "^1.0.2" + esprima "^4.0.1" + has-own-prop "^2.0.0" + repeat-string "^1.6.1" + +compare-versions@3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" + integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concurrently@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-6.3.0.tgz#63128cb4a6ed54d3c0ed8528728590a5fe54582a" + integrity sha512-k4k1jQGHHKsfbqzkUszVf29qECBrkvBKkcPJEUDTyVR7tZd1G/JOfnst4g1sYbFvJ4UjHZisj1aWQR8yLKpGPw== + dependencies: + chalk "^4.1.0" + date-fns "^2.16.1" + lodash "^4.17.21" + rxjs "^6.6.3" + spawn-command "^0.0.2-1" + supports-color "^8.1.0" + tree-kill "^1.2.2" + yargs "^16.2.0" + +condense-newlines@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" + integrity sha1-PemFVTE5R10yUCyDsC9gaE0kxV8= + dependencies: + extend-shallow "^2.0.1" + is-whitespace "^0.3.0" + kind-of "^3.0.2" + +config-chain@^1.1.12: + version "1.1.12" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +consolidate@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16" + integrity sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ== + dependencies: + bluebird "^3.7.2" + +constantinople@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151" + integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== + dependencies: + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.1" + +content-disposition@0.5.3, content-disposition@~0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookies@~0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" + integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== + dependencies: + depd "~2.0.0" + keygrip "~1.1.0" + +copy-to@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" + integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +crc-32@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cron-parser@^2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-2.13.0.tgz#6f930bb6f2931790d2a9eec83b3ec276e27a6725" + integrity sha512-UWeIpnRb0eyoWPVk+pD3TDpNx3KCFQeezO224oJIkktBrcW6RoAPOx5zIKprZGfk6vcYSmA8yQXItejSaDBhbQ== + dependencies: + is-nan "^1.2.1" + moment-timezone "^0.5.25" + +cross-env@7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-color-names@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz#6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67" + integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== + +css-declaration-sorter@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz#9dfd8ea0df4cc7846827876fafb52314890c21a9" + integrity sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw== + dependencies: + timsort "^0.3.0" + +css-loader@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" + integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== + dependencies: + icss-utils "^5.1.0" + postcss "^8.2.15" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.1.0" + semver "^7.3.5" + +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + +css-select@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@2.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + +css-what@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.6.tgz#1bdb83be6a6b1fee6dc5e9ec2e61286bcadcc7a6" + integrity sha512-X2nDeNGBXc0486oHjT2vSj+TdeyVsxRvJUxaOH50hOM6vSDLkKd0+59YXpSZRInJ4sNtBOykS4KsPfhdrU/35w== + dependencies: + css-declaration-sorter "^6.0.3" + cssnano-utils "^2.0.1" + postcss-calc "^8.0.0" + postcss-colormin "^5.2.1" + postcss-convert-values "^5.0.2" + postcss-discard-comments "^5.0.1" + postcss-discard-duplicates "^5.0.1" + postcss-discard-empty "^5.0.1" + postcss-discard-overridden "^5.0.1" + postcss-merge-longhand "^5.0.3" + postcss-merge-rules "^5.0.2" + postcss-minify-font-values "^5.0.1" + postcss-minify-gradients "^5.0.3" + postcss-minify-params "^5.0.1" + postcss-minify-selectors "^5.1.0" + postcss-normalize-charset "^5.0.1" + postcss-normalize-display-values "^5.0.1" + postcss-normalize-positions "^5.0.1" + postcss-normalize-repeat-style "^5.0.1" + postcss-normalize-string "^5.0.1" + postcss-normalize-timing-functions "^5.0.1" + postcss-normalize-unicode "^5.0.1" + postcss-normalize-url "^5.0.2" + postcss-normalize-whitespace "^5.0.1" + postcss-ordered-values "^5.0.2" + postcss-reduce-initial "^5.0.1" + postcss-reduce-transforms "^5.0.1" + postcss-svgo "^5.0.3" + postcss-unique-selectors "^5.0.1" + +cssnano-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" + integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== + +cssnano@5.0.10: + version "5.0.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.10.tgz#92207eb7c9c6dc08d318050726f9fad0adf7220b" + integrity sha512-YfNhVJJ04imffOpbPbXP2zjIoByf0m8E2c/s/HnvSvjXgzXMfgopVjAEGvxYOjkOpWuRQDg/OZFjO7WW94Ri8w== + dependencies: + cssnano-preset-default "^5.1.6" + is-resolvable "^1.1.0" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-uri-to-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +date-fns@2.25.0: + version "2.25.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.25.0.tgz#8c5c8f1d958be3809a9a03f4b742eba894fc5680" + integrity sha512-ovYRFnTrbGPD4nqaEqescPEv1mNwvt+UTqI3Ay9SzNtey9NZnYu6E2qCcBBgJ6/2VF1zGGygpyTDITqpQQ5e+w== + +date-fns@^2.16.1: + version "2.19.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.19.0.tgz#65193348635a28d5d916c43ec7ce6fbd145059e1" + integrity sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg== + +dateformat@4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.5.1.tgz#c20e7a9ca77d147906b6dc2261a8be0a5bd2173c" + integrity sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q== + +debug@2, debug@^2.2.0, debug@^2.5.2: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@4.3.2, debug@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +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.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debuglog@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decimal.js@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +decompress-response@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" + integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== + dependencies: + mimic-response "^2.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-email-validator@0.1.18: + version "0.1.18" + resolved "https://registry.yarnpkg.com/deep-email-validator/-/deep-email-validator-0.1.18.tgz#a072a93f28e11863cc6b9ca3ae964e0e45b3ece8" + integrity sha512-eo2WEUidQvppg6Qdek8iwOqmXvaxRJ2D2VJKbIOwUgLZNFveDDdJMBsFc+yq0S+lILEUcmzrJRrCWbyoe7QUzQ== + dependencies: + "@types/disposable-email-domains" "^1.0.1" + axios "^0.19.2" + disposable-email-domains "^1.0.53" + lodash "^4.17.15" + mailcheck "^1.1.1" + ts-jest "^25.2.1" + +deep-equal@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +defer-to-connect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1" + integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg== + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +denque@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf" + integrity sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ== + +denque@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.0.tgz#773de0686ff2d8ec2ff92914316a47b73b1c73de" + integrity sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ== + +depd@^1.1.2, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +depd@^2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +destroy@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +detect-node@2.1.0, detect-node@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +dicer@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" + integrity sha1-WZbAhrszIYyBLAkL3cCc0S+stw8= + dependencies: + readable-stream "1.1.x" + streamsearch "0.1.2" + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dijkstrajs@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b" + integrity sha1-082BIh4+pAdCz83lVtTpnpjdxxs= + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +disposable-email-domains@^1.0.53: + version "1.0.58" + resolved "https://registry.yarnpkg.com/disposable-email-domains/-/disposable-email-domains-1.0.58.tgz#ac9c879c02c4f0898bfb6c0c80b959c0b0b7bc51" + integrity sha512-frnNCPqTjk6t/sosPoco6EIFHbP9SazHQkeltJNfZeUyNgewaVf+kFjEfVkVDVd436Vln43YElJPb8JozhBs7Q== + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +doctypes@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" + integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.1.tgz#d845a1565d7c041a95e5dab62184ab41e3a519be" + integrity sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + entities "^2.0.0" + +dom-serializer@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" + integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + dependencies: + domelementtype "^1.3.0" + entities "^1.1.1" + +domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + +domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domhandler@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.1.0.tgz#c1d8d494d5ec6db22de99e46a149c2a4d23ddd43" + integrity sha512-/6/kmsGlMY4Tup/nGVutdrK9yQi4YjWVcVeoQmixpzjOUK1U7pQkvAPHBJeUxOgxF0J8f8lwCJSlCfD0V4CMGQ== + dependencies: + domelementtype "^2.2.0" + +domhandler@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== + dependencies: + domelementtype "^2.2.0" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.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== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +editorconfig@^0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== + dependencies: + commander "^2.19.0" + lru-cache "^4.1.5" + semver "^5.6.0" + sigmund "^1.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-to-chromium@^1.3.649: + version "1.3.672" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.672.tgz#3a6e335016dab4bc584d5292adc4f98f54541f6a" + integrity sha512-gFQe7HBb0lbOMqK2GAS5/1F+B0IMdYiAgB9OT/w1F4M7lgJK2aNOMNOM622aEax+nS1cTMytkiT0uMOkbtFmHw== + +electron-to-chromium@^1.3.712: + version "1.3.717" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.717.tgz#78d4c857070755fb58ab64bcc173db1d51cbc25f" + integrity sha512-OfzVPIqD1MkJ7fX+yTl2nKyOE4FReeVfMCzzxQS+Kp43hZYwHwThlGP+EGIZRXJsxCM7dqo8Y65NOX/HP12iXQ== + +electron-to-chromium@^1.3.723: + version "1.3.742" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.742.tgz#7223215acbbd3a5284962ebcb6df85d88b95f200" + integrity sha512-ihL14knI9FikJmH2XUIDdZFWJxvr14rPSdOhJ7PpS27xbz8qmaRwCwyg/bmFwjWKmWK9QyamiCZVCvXm5CH//Q== + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +encoding@^0.1.12: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz#d9deae58f9d3773b6a111a5a46831da5be5c9ac0" + integrity sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enhanced-resolve@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" + integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^1.1.1, entities@~1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" + integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + +env-paths@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" + integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +es-abstract@^1.17.0-next.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: + version "1.17.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" + integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== + 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-module-lexer@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.0.tgz#21f4181cc8b7eee06855f1c59e6087c7bc4f77b0" + integrity sha512-iuEGihqqhKWFgh72Q/Jtch7V2t/ft8w8IPP2aEN8ArYKO+IWyo6hsi96hCdgyeEDQIV3InhYQ9BlwUFPGXrbEQ== + +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" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-regexp@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254" + integrity sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ= + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-plugin-vue@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-8.0.3.tgz#791cc4543940319e612ea61a1d779e8c87cf749a" + integrity sha512-Rlhhy5ltzde0sRwSkqHuNePTXLMMaJ5+qsQubM4RYloYsQ8cXlnJT5MDaCzSirkGADipOHtmQXIbbPFAzUrADg== + dependencies: + eslint-utils "^3.0.0" + natural-compare "^1.4.0" + semver "^7.3.5" + vue-eslint-parser "^8.0.1" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-6.0.0.tgz#9cf45b13c5ac8f3d4c50f46a5121f61b3e318978" + integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint-visitor-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz#e32e99c6cdc2eb063f204eda5db67bfe58bb4186" + integrity sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q== + +eslint@8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.2.0.tgz#44d3fb506d0f866a506d97a0fc0e90ee6d06a815" + integrity sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw== + dependencies: + "@eslint/eslintrc" "^1.0.4" + "@humanwhocodes/config-array" "^0.6.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^6.0.0" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.2.0" + semver "^7.2.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +esm@^3.2.22: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + +espree@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.0.0.tgz#e90a2965698228502e771c7a58489b1a9d107090" + integrity sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ== + dependencies: + acorn "^8.5.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^3.0.0" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== + +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter3@4.0.7, eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + +events@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + +execa@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + +fast-deep-equal@^3.1.3: + version "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.1.1: + version "3.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fast-xml-parser@^3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" + integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== + +fastq@^1.6.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" + integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + dependencies: + reusify "^1.0.4" + +feed@4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" + integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== + dependencies: + xml-js "^1.6.11" + +fetch-blob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-2.1.2.tgz#a7805db1361bd44c1ef62bb57fb5fe8ea173ef3c" + integrity sha512-YKqtUDwqLyfyMnmbw8XD6Q8j9i/HggKtPEI+pZ1+8bvheBu78biSmNaXWusx1TauGqtUUGx/cBb1mKdq2rLYow== + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-type@16.5.3: + version "16.5.3" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.3.tgz#474b7e88c74724046abb505e9b8ed4db30c4fc06" + integrity sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A== + dependencies: + readable-web-to-node-stream "^3.0.0" + strtok3 "^6.2.4" + token-types "^4.1.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-node-modules@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-2.1.2.tgz#57565a3455baf671b835bc6b2134a9b938b9c53c" + integrity sha512-x+3P4mbtRPlSiVE1Qco0Z4YLU8WFiFcuWTf3m75OV9Uzcfs2Bg+O9N+r/K0AnmINBW06KpfqKwYJbFlFq4qNug== + dependencies: + findup-sync "^4.0.0" + merge "^2.1.0" + +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +findup-sync@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" + integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^4.0.2" + resolve-dir "^1.0.1" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== + +fluent-ffmpeg@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz#c952de2240f812ebda0aa8006d7776ee2acf7d74" + integrity sha1-yVLeIkD4EuvaCqgAbXd27irPfXQ= + dependencies: + async ">=0.2.9" + which "^1.1.1" + +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" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" + integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fresh@~0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-paths@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/get-paths/-/get-paths-0.0.7.tgz#15331086752077cf130166ccd233a1cdbeefcf38" + integrity sha512-0wdJt7C1XKQxuCgouqd+ZvLJ56FQixKoki9MrFaO4EriqzXOiH9gbukaDE1ou08S8Ns3/yDzoBAISNPqj6e6tA== + dependencies: + pify "^4.0.1" + +get-port@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= + +glob-parent@^5.1.0, glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@7.1.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globals@^13.6.0: + version "13.7.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" + integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== + dependencies: + type-fest "^0.20.2" + +globals@^13.9.0: + version "13.9.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb" + integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.2, globby@^11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +got@11.8.2: + version "11.8.2" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" + integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.1" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +graceful-fs@^4.2.0: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +graceful-fs@^4.2.6: + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +hammerjs@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" + integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +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== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-own-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" + integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== + +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@1.2.0, he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight.js@^10.7.1: + version "10.7.2" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.2.tgz#89319b861edc66c48854ed1e6da21ea89f847360" + integrity sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg== + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hpagent@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/hpagent/-/hpagent-0.1.2.tgz#cab39c66d4df2d4377dbd212295d878deb9bdaa9" + integrity sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ== + +hpagent@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/hpagent/-/hpagent-0.1.1.tgz#66f67f16e5c7a8b59a068e40c2658c2c749ad5e2" + integrity sha512-IxJWQiY0vmEjetHdoE9HZjD4Cx+mYTr25tR7JCxXaiI3QxW0YqYyM11KyZbHufoa/piWhMb2+D3FGpMgmA2cFQ== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-entities@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" + integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== + +htmlparser2@^3.9.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +http-assert@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878" + integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw== + dependencies: + deep-equal "~1.0.1" + http-errors "~1.7.2" + +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-errors@1.7.3, http-errors@^1.6.3, http-errors@^1.7.3, http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-headers@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/http-headers/-/http-headers-3.0.2.tgz#5147771292f0b39d6778d930a3a59a76fc7ef44d" + integrity sha512-87E1I+2Wg4dxxz4rcxElo3dxO/w1ZtgL1yA0Sb6vH3qU16vRKq1NjWQv9SCY3ly2OQROcoxHZOUpmelS+k6wOw== + dependencies: + next-line "^1.1.0" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-signature@1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.5.tgz#9f19496ffbf3227298d7b5f156e0e1a948678683" + integrity sha512-NwoTQYSJoFt34jSBbwzDHDofoA61NGXzu6wXh95o1Ry62EnmKjXb/nR/RknLeZ3G/uGwrlKNY2z7uPt+Cdl7Tw== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.14.1" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.0-beta.5.2" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3" + integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +http_ece@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/http_ece/-/http_ece-1.1.0.tgz#74780c6eb32d8ddfe9e36a83abcd81fe0cd4fb75" + integrity sha512-bptAfCDdPJxOs5zYSe7Y3lpr772s1G346R4Td5LgRUeCwIGpCGDUTJxRrhTNcAXbx37spge0kWEIH7QAYWNTlA== + dependencies: + urlsafe-base64 "~1.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + +humanize-number@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/humanize-number/-/humanize-number-0.0.2.tgz#11c0af6a471643633588588048f1799541489c18" + integrity sha1-EcCvakcWQ2M1iFiASPF5lUFInBg= + +iconv-lite@0.4.24, iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" + integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +idb-keyval@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-5.1.3.tgz#6ef5dff371897c23f144322dc6374eadd6a345d9" + integrity sha512-N9HbCK/FaXSRVI+k6Xq4QgWxbcZRUv+SfG1y7HJ28JdV8yEJu6k+C/YLea7npGckX2DQJeEVuMc4bKOBeU/2LQ== + dependencies: + safari-14-idb-fix "^1.0.4" + +ieee754@1.1.13, ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +immutable@^3.8.2: + version "3.8.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflation@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" + integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4, ini@~1.3.0: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + +insert-text-at-cursor@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/insert-text-at-cursor/-/insert-text-at-cursor-0.3.0.tgz#1819607680ec1570618347c4cd475e791faa25da" + integrity sha512-/nPtyeX9xPUvxZf+r0518B7uqNKlP+LqNJqSiXFEaa2T71rWIwTVXGH7hB9xO/EVdwa5/pWlFCPwShOW81XIxQ== + +install-artifact-from-github@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/install-artifact-from-github/-/install-artifact-from-github-1.2.0.tgz#adcbd123c16a4337ec44ea76d0ebf253cc16b074" + integrity sha512-3OxCPcY55XlVM3kkfIpeCgmoSKnMsz2A3Dbhsq0RXpIknKQmrX1YiznCeW9cD2ItFmDxziA3w6Eg8d80AoL3oA== + +invert-kv@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-3.0.1.tgz#a93c7a3d4386a1dc8325b97da9bb1620c0282523" + integrity sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw== + +ioredis@^4.27.0: + version "4.27.6" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.27.6.tgz#a53d427d3fe75fbd10ed7ad150ce00559df8dcf8" + integrity sha512-6W3ZHMbpCa8ByMyC1LJGOi7P2WiOKP9B3resoZOVLDhi+6dDBOW+KNsRq3yI36Hmnb2sifCxHX+YSarTeXh48A== + dependencies: + cluster-key-slot "^1.1.0" + debug "^4.3.1" + denque "^1.1.0" + lodash.defaults "^4.2.0" + lodash.flatten "^4.4.0" + p-map "^2.1.0" + redis-commands "1.7.0" + redis-errors "^1.2.0" + redis-parser "^3.0.0" + standard-as-callback "^2.1.0" + +ip-address@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-7.1.0.tgz#4a9c699e75b51cbeb18b38de8ed216efa1a490c5" + integrity sha512-V9pWC/VJf2lsXqP7IWJ+pe3P1/HCYGBMZrrnT62niLGjAfCbeiwXMUxaeHvnVlz19O27pvXP4azs+Pj/A0x+SQ== + dependencies: + jsbn "1.1.0" + sprintf-js "1.1.2" + +ip-cidr@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/ip-cidr/-/ip-cidr-3.0.4.tgz#a915c47e00f47ea8d5f8ed662ea6161471c44375" + integrity sha512-pKNiqmBlTvEkhaLAa3+FOmYSY0/jjADVxxjA3NbujZZTT8mjLI90Q+6mwg6kd0fNm0RuAOkWJ1u1a/ETmlrPNQ== + dependencies: + ip-address "^7.1.0" + jsbn "^1.1.0" + +ip-regex@^4.0.0, ip-regex@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" + integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4, 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-core-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" + integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== + dependencies: + has "^1.0.3" + +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-expression@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab" + integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== + dependencies: + acorn "^7.1.1" + object-assign "^4.1.1" + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" + integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-ip@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== + dependencies: + ip-regex "^4.0.0" + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + +is-nan@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.0.tgz#85d1f5482f7051c2019f5673ccebdb06f3b0db03" + integrity sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ== + dependencies: + define-properties "^1.1.3" + +is-number-like@^1.0.3: + version "1.0.8" + resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.8.tgz#2e129620b50891042e44e9bbbb30593e75cfbbe3" + integrity sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA== + dependencies: + lodash.isfinite "^3.3.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-promise@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-regex@^1.0.3, 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== + dependencies: + has "^1.0.3" + +is-resolvable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-svg@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-4.3.1.tgz#8c63ec8c67c8c7f0a8de0a71c8c7d58eccf4406b" + integrity sha512-h2CGs+yPUyvkgTJQS9cJzo9lYK06WgRiXUqBBHtglSzVKAuH4/oWsqk7LGfbSa1hGk9QcZ0SyQtVggvBA8LZXA== + dependencies: + fast-xml-parser "^3.19.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-whitespace@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" + integrity sha1-Fjnssb4DauxppUy7QBz77XEUq38= + +is-windows@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isarray@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jmespath@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" + integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= + +jpeg-js@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.1.tgz#937a3ae911eb6427f151760f8123f04c8bfe6ef7" + integrity sha512-jA55yJiB5tCXEddos8JBbvW+IMrqY0y1tjjx9KNVtA+QPmu7ND5j0zkKopClpUTsaETL135uOM2XfcYG4XRjmw== + +js-beautify@^1.6.12: + version "1.11.0" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.11.0.tgz#afb873dc47d58986360093dcb69951e8bcd5ded2" + integrity sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A== + dependencies: + config-chain "^1.1.12" + editorconfig "^0.15.3" + glob "^7.1.3" + mkdirp "~1.0.3" + nopt "^4.0.3" + +js-levenshtein@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + +js-stringify@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" + integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + +js-yaml@4.1.0, js-yaml@^4.0.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1, js-yaml@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@1.1.0, jsbn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha1-sBMHyym2GKHtJux56RH4A8TaAEA= + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jschardet@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882" + integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ== + +jsdom@16.7.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5-loader@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/json5-loader/-/json5-loader-4.0.1.tgz#6d17a1181e8f3c3d9204dca2a4ce4627306c8498" + integrity sha512-c9viNZlZTz0MTIcf/4qvek5Dz1/PU3DNCB4PwUhlEZIV3qb1bSD6vQQymlV17/Wm6ncra1aCvmIPsuRj+KfEEg== + dependencies: + json5 "^2.1.3" + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +json5@2.2.0, json5@2.x: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-5.0.0.tgz#e6b718f73da420d612823996fdf14a03f6ff6922" + integrity sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w== + dependencies: + universalify "^0.1.2" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonld@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-5.2.0.tgz#d1e8af38a334cb95edf0f2ae4e2b58baf8d2b5a9" + integrity sha512-JymgT6Xzk5CHEmHuEyvoTNviEPxv6ihLWSPu1gFdtjSAyM6cFqNrv02yS/SIur3BBIkCf0HjizRc24d8/FfQKw== + dependencies: + "@digitalbazaar/http-client" "^1.1.0" + canonicalize "^1.0.1" + lru-cache "^6.0.0" + rdf-canonize "^3.0.0" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jsrsasign@8.0.20: + version "8.0.20" + resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-8.0.20.tgz#37d8029c9d8f794d8ac8d8998bce319921491f11" + integrity sha512-JTXt9+nqdynIB8wFsS6e8ffHhIjilhywXwdaEVHSj9OVmwldG2H0EoCqkQ+KXkm2tVqREfH/HEmklY4k1/6Rcg== + +jstransformer@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" + integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM= + dependencies: + is-promise "^2.0.0" + promise "^7.0.1" + +jwa@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc" + integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4" + integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== + dependencies: + jwa "^2.0.0" + safe-buffer "^5.0.1" + +keygrip@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" + integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== + dependencies: + tsscmp "1.0.6" + +keyv@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" + integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== + dependencies: + json-buffer "3.0.1" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +koa-bodyparser@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/koa-bodyparser/-/koa-bodyparser-4.3.0.tgz#274c778555ff48fa221ee7f36a9fbdbace22759a" + integrity sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw== + dependencies: + co-body "^6.0.0" + copy-to "^2.0.1" + +koa-compose@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" + integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= + dependencies: + any-promise "^1.1.0" + +koa-compose@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" + integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== + +koa-convert@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" + integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= + dependencies: + co "^4.6.0" + koa-compose "^3.0.0" + +koa-convert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-2.0.0.tgz#86a0c44d81d40551bae22fee6709904573eea4f5" + integrity sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA== + dependencies: + co "^4.6.0" + koa-compose "^4.1.0" + +koa-favicon@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/koa-favicon/-/koa-favicon-2.1.0.tgz#c430cc594614fb494adcb5ee1196a2f7f53ea442" + integrity sha512-LvukcooYjxKtnZq0RXdBup+JDhaHwLgnLlDHB/xvjwQEjbc4rbp/0WkmOzpOvaHujc+fIwPear0dpKX1V+dHVg== + dependencies: + mz "^2.7.0" + +koa-json-body@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/koa-json-body/-/koa-json-body-5.3.0.tgz#64aad3f400adfb81df54b63f7a5eb38bad62d980" + integrity sha1-ZKrT9ACt+4HfVLY/el6zi61i2YA= + dependencies: + co-body "^5.0.0" + +koa-logger@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/koa-logger/-/koa-logger-3.2.1.tgz#ab9db879526db3837cc9ce4fd983c025b1689f22" + integrity sha512-MjlznhLLKy9+kG8nAXKJLM0/ClsQp/Or2vI3a5rbSQmgl8IJBQO0KI5FA70BvW+hqjtxjp49SpH2E7okS6NmHg== + dependencies: + bytes "^3.1.0" + chalk "^2.4.2" + humanize-number "0.0.2" + passthrough-counter "^1.0.0" + +koa-mount@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/koa-mount/-/koa-mount-4.0.0.tgz#e0265e58198e1a14ef889514c607254ff386329c" + integrity sha512-rm71jaA/P+6HeCpoRhmCv8KVBIi0tfGuO/dMKicbQnQW/YJntJ6MnnspkodoA4QstMVEZArsCphmd0bJEtoMjQ== + dependencies: + debug "^4.0.1" + koa-compose "^4.1.0" + +koa-send@5.0.1, koa-send@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79" + integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ== + dependencies: + debug "^4.1.1" + http-errors "^1.7.3" + resolve-path "^1.4.0" + +koa-slow@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/koa-slow/-/koa-slow-2.1.0.tgz#39007ca628c620f2b307b90dbf423d7a0c9be971" + integrity sha1-OQB8pijGIPKzB7kNv0I9egyb6XE= + dependencies: + lodash.isregexp "3.0.5" + q "1.4.1" + +koa-views@*: + version "7.0.1" + resolved "https://registry.yarnpkg.com/koa-views/-/koa-views-7.0.1.tgz#0c8f8e65d5cd2e08249430cb83dc361e49a17a5a" + integrity sha512-yS8751DXHXXDbdl/oUZd0PsgnxR0MLiguu77Eqrgu6yawE9Hi99wNKiVENb0Kfgsmvq/8px7YCI+USgxaTB1LA== + dependencies: + "@types/koa" "^2.13.1" + consolidate "^0.16.0" + debug "^4.1.0" + get-paths "0.0.7" + koa-send "^5.0.0" + mz "^2.4.0" + pretty "^2.0.0" + resolve-path "^1.4.0" + +koa-views@7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/koa-views/-/koa-views-7.0.2.tgz#c96fd9e2143ef00c29dc5160c5ed639891aa723d" + integrity sha512-dvx3mdVeSVuIPEaKAoGbxLcenudvhl821xxyuRbcoA+bOJ2dvN8wlGjkLu0ZFMlkCscXZV6lzxy28rafeazI/w== + dependencies: + consolidate "^0.16.0" + debug "^4.1.0" + get-paths "0.0.7" + koa-send "^5.0.0" + mz "^2.4.0" + pretty "^2.0.0" + resolve-path "^1.4.0" + +koa@2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051" + integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w== + dependencies: + accepts "^1.3.5" + cache-content-type "^1.0.0" + content-disposition "~0.5.2" + content-type "^1.0.4" + cookies "~0.8.0" + debug "~3.1.0" + delegates "^1.0.0" + depd "^2.0.0" + destroy "^1.0.4" + encodeurl "^1.0.2" + escape-html "^1.0.3" + fresh "~0.5.2" + http-assert "^1.3.0" + http-errors "^1.6.3" + is-generator-function "^1.0.7" + koa-compose "^4.1.0" + koa-convert "^1.2.0" + on-finished "^2.3.0" + only "~0.0.2" + parseurl "^1.3.2" + statuses "^1.5.0" + type-is "^1.6.16" + vary "^1.1.2" + +koa@2.13.4: + version "2.13.4" + resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.4.tgz#ee5b0cb39e0b8069c38d115139c774833d32462e" + integrity sha512-43zkIKubNbnrULWlHdN5h1g3SEKXOEzoAlRsHOTFpnlDu8JlAOZSMJBLULusuXRequboiwJcj5vtYXKB3k7+2g== + dependencies: + accepts "^1.3.5" + cache-content-type "^1.0.0" + content-disposition "~0.5.2" + content-type "^1.0.4" + cookies "~0.8.0" + debug "^4.3.2" + delegates "^1.0.0" + depd "^2.0.0" + destroy "^1.0.4" + encodeurl "^1.0.2" + escape-html "^1.0.3" + fresh "~0.5.2" + http-assert "^1.3.0" + http-errors "^1.6.3" + is-generator-function "^1.0.7" + koa-compose "^4.1.0" + koa-convert "^2.0.0" + on-finished "^2.3.0" + only "~0.0.2" + parseurl "^1.3.2" + statuses "^1.5.0" + type-is "^1.6.16" + vary "^1.1.2" + +ky-universal@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/ky-universal/-/ky-universal-0.8.2.tgz#edc398d54cf495d7d6830aa1ab69559a3cc7f824" + integrity sha512-xe0JaOH9QeYxdyGLnzUOVGK4Z6FGvDVzcXFTdrYA1f33MZdEa45sUDaMBy98xQMcsd2XIBrTXRrRYnegcSdgVQ== + dependencies: + abort-controller "^3.0.0" + node-fetch "3.0.0-beta.9" + +ky@^0.25.1: + version "0.25.1" + resolved "https://registry.yarnpkg.com/ky/-/ky-0.25.1.tgz#0df0bd872a9cc57e31acd5dbc1443547c881bfbc" + integrity sha512-PjpCEWlIU7VpiMVrTwssahkYXX1by6NCT0fhTUX34F3DTinARlgMpriuroolugFPcMgpPWrOW4mTb984Qm1RXA== + +langmap@0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/langmap/-/langmap-0.0.16.tgz#2fe3e98a531fec0fec546624ebe168c2855bab56" + integrity sha512-AtYvBK7BsDvWwnSfmO7CfgeUy7GUT1wK3QX8eKH/Ey/eXodqoHuAtvdQ82hmWD9QVFVKnuiNjym9fGY4qSJeLA== + +lcid@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-3.1.1.tgz#9030ec479a058fc36b5e8243ebaac8b6ac582fd0" + integrity sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg== + dependencies: + invert-kv "^3.0.0" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lilconfig@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.3.tgz#68f3005e921dafbd2a2afb48379986aa6d2579fd" + integrity sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg== + +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.assignin@^4.0.9: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" + integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= + +lodash.bind@^4.1.4: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" + integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= + +lodash.defaults@^4.0.1, lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= + +lodash.filter@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" + integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= + +lodash.flatten@^4.2.0, lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= + +lodash.foreach@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" + integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +lodash.isfinite@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" + integrity sha1-+4m2WpqAKBgz8LdHizpRBPiY67M= + +lodash.isregexp@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/lodash.isregexp/-/lodash.isregexp-3.0.5.tgz#e0f596242f2fa228a840086b6c8ad82e4b71fd2d" + integrity sha1-4PWWJC8voiioQAhrbIrYLktx/S0= + +lodash.map@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.4.0, lodash.merge@^4.6.2: + version "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.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= + +lodash.reduce@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" + integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= + +lodash.reject@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" + integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= + +lodash.some@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +mailcheck@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/mailcheck/-/mailcheck-1.1.1.tgz#d87cf6ba0b64ba512199dbf93f1489f479591e34" + integrity sha1-2Hz2ugtkulEhmdv5PxSJ9HlZHjQ= + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +make-fetch-happen@^8.0.14: + version "8.0.14" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" + integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.0.5" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + promise-retry "^2.0.1" + socks-proxy-agent "^5.0.0" + ssri "^8.0.0" + +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" + integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +merge@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" + integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w== + +methods@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +mfm-js@0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/mfm-js/-/mfm-js-0.20.0.tgz#3afdcd7959461fd825aa8af9b9e8a57cdbddc290" + integrity sha512-1+3tV3nWUKQNh/ztX3wXu5iLBtdsg6q3wUhl+XyOhc2H3sQdG+sih/w2c0nR9TIawjN+Z1/pvgGzxMJHfmKQmA== + dependencies: + twemoji-parser "13.1.x" + +micromatch@4.x: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +micromatch@^4.0.0, micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +microseconds@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/microseconds/-/microseconds-0.2.0.tgz#233b25f50c62a65d861f978a4a4f8ec18797dc39" + integrity sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA== + +mime-db@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== + +mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + dependencies: + mime-db "1.44.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" + integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.3.tgz#34c7cea038c817a8658461bf35174551dce17a0a" + integrity sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" + integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w== + dependencies: + yallist "^4.0.0" + +minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + dependencies: + yallist "^4.0.0" + +minizlib@^2.0.0, minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +misskey-js@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/misskey-js/-/misskey-js-0.0.8.tgz#b47a1ec54bff96b23cc2a6b307a3895f99a94424" + integrity sha512-Q1L6FaroVz8kpW7T4xQyJmJKSwjOYPbNY3TspOUWmbIBDf2JP0HVeKEFLI9dvdSL0kSkdQNz3MSVLjlHiyPqLQ== + dependencies: + autobind-decorator "^2.4.0" + eventemitter3 "^4.0.7" + reconnecting-websocket "^4.4.0" + +mkdirp-classic@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz#54c441ce4c96cd7790e10b41a87aa51068ecab2b" + integrity sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g== + +mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + +mkdirp@0.x, mkdirp@^0.5.3, mkdirp@^0.5.4: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mocha@8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" + integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.1" + debug "4.3.1" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "4.0.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.3" + nanoid "3.1.20" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.1.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +moment-timezone@^0.5.25: + version "0.5.28" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.28.tgz#f093d789d091ed7b055d82aa81a82467f72e4338" + integrity sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw== + dependencies: + moment ">= 2.9.0" + +"moment@>= 2.9.0", moment@^2.22.2: + version "2.24.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" + integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multer@1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.3.tgz#4db352d6992e028ac0eacf7be45c6efd0264297b" + integrity sha512-np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg== + dependencies: + append-field "^1.0.0" + busboy "^0.2.11" + concat-stream "^1.5.2" + mkdirp "^0.5.4" + object-assign "^4.1.1" + on-finished "^2.3.0" + type-is "^1.6.4" + xtend "^4.0.0" + +mz@^2.4.0, mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.14.2: + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + +nano-time@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/nano-time/-/nano-time-1.0.0.tgz#b0554f69ad89e22d0907f7a12b0993a5d96137ef" + integrity sha1-sFVPaa2J4i0JB/ehKwmTpdlhN+8= + dependencies: + big-integer "^1.6.16" + +nanoid@3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + +nanoid@^3.1.23: + version "3.1.23" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" + integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== + +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +needle@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.5.2.tgz#cf1a8fce382b5a280108bba90a14993c00e4010a" + integrity sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nested-property@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/nested-property/-/nested-property-4.0.0.tgz#a67b5a31991e701e03cdbaa6453bc5b1011bb88d" + integrity sha512-yFehXNWRs4cM0+dz7QxCd06hTbWbSkV0ISsqBfkntU6TOY4Qm3Q88fRRLOddkGh2Qq6dZvnKVAahfhjcUvLnyA== + +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + +next-line@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-line/-/next-line-1.1.0.tgz#fcae57853052b6a9bae8208e40dd7d3c2d304603" + integrity sha1-/K5XhTBStqm66CCOQN19PC0wRgM= + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +node-abi@^2.21.0: + version "2.21.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.21.0.tgz#c2dc9ebad6f4f53d6ea9b531e7b8faad81041d48" + integrity sha512-smhrivuPqEM3H5LmnY3KU6HfYv0u4QklgAxfFyRNujKUzbUcYZ+Jc2EhukB9SRcD2VpqhxM7n/MIcp1Ua1/JMg== + dependencies: + semver "^5.4.1" + +node-addon-api@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.2.0.tgz#117cbb5a959dff0992e1c586ae0393573e4d2a87" + integrity sha512-eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q== + +node-fetch@2.6.1, node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-fetch@3.0.0-beta.9: + version "3.0.0-beta.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.0.0-beta.9.tgz#0a7554cfb824380dd6812864389923c783c80d9b" + integrity sha512-RdbZCEynH2tH46+tj0ua9caUHVWrd/RHnRfvly2EVdqGmI3ndS1Vn/xjm5KuGejDt2RNDQsVRLPNd2QPwcewVg== + dependencies: + data-uri-to-buffer "^3.0.1" + fetch-blob "^2.1.1" + +node-gyp-build@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-3.7.0.tgz#daa77a4f547b9aed3e2aac779eaf151afd60ec8d" + integrity sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w== + +node-gyp@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.0.0.tgz#225af2b06b8419ae81f924bf25ae4c167f6378a5" + integrity sha512-Jod6NxyWtcwrpAQe0O/aXOpC5QfncotgtG73dg65z6VW/C6g/G4jiajXQUBIJ8pk/VfM6mBYE9BN/HvudTunUQ== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^8.0.14" + nopt "^5.0.0" + npmlog "^4.1.2" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.0" + which "^2.0.2" + +node-releases@^1.1.70, node-releases@^1.1.71: + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== + +nodemailer@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.0.tgz#86614722c4e0c33d1b5b02aecb90d6d629932b0d" + integrity sha512-AtiTVUFHLiiDnMQ43zi0YgkzHOEWUkhDgPlBXrsDzJiJvB29Alo4OKxHQ0ugF3gRqRQIneCLtZU3yiUo7pItZw== + +nofilter@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-2.0.3.tgz#f5460f3cb33147005883e3f5d4476239501fa187" + integrity sha512-FbuXC+lK+GU2+63D1kC1ETiZo+Z7SIi7B+mxKTCH1byrh6WFvfBCN/wpherFz0a0bjGd7EKTst/cz0yLeNngug== + dependencies: + "@cto.af/textdecoder" "^0.0.0" + +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== + +nopt@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^4.1.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npmlog@^4.0.1, npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + dependencies: + boolbase "^1.0.0" + +nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +oauth@0.9.15: + version "0.9.15" + resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1" + integrity sha1-vR/vr2hslrdUda7VGWQS/2DPucE= + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +oblivious-set@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.0.0.tgz#c8316f2c2fb6ff7b11b6158db3234c49f733c566" + integrity sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw== + +on-finished@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +only@~0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" + integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= + +opentype.js@^0.4.3: + version "0.4.11" + resolved "https://registry.yarnpkg.com/opentype.js/-/opentype.js-0.4.11.tgz#281a2390639cc15931c955d8d63c14a7c7772b41" + integrity sha1-KBojkGOcwVkxyVXY1jwUp8d3K0E= + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-5.0.0.tgz#6d26c1d95b6597c5d5317bf5fba37eccec3672e0" + integrity sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA== + dependencies: + execa "^4.0.0" + lcid "^3.0.0" + mem "^5.0.0" + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +os-utils@0.0.14: + version "0.0.14" + resolved "https://registry.yarnpkg.com/os-utils/-/os-utils-0.0.14.tgz#29e511697b1982b8c627722175fe39797ef64156" + integrity sha1-KeURaXsZgrjGJ3Ihdf45eX72QVY= + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-cancelable@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" + integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" + integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== + dependencies: + p-try "^2.0.0" + +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +packet-reader@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74" + integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@6.0.1, parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parseurl@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +passthrough-counter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passthrough-counter/-/passthrough-counter-1.0.0.tgz#1967d9e66da572b5c023c787db112a387ab166fa" + integrity sha1-GWfZ5m2lcrXAI8eH2xEqOHqxZvo= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@1.0.1, path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-to-regexp@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.1.0.tgz#0b18f88b7a0ce0bfae6a25990c909ab86f512427" + integrity sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +peek-readable@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.1.tgz#9a045f291db254111c3412c1ce4fec27ddd4d202" + integrity sha512-7qmhptnR0WMSpxT5rMHG9bW/mYSR1uqaPFj2MHvT+y/aOUu6msJijpKt5SkTDKySwg65OWG2JwTMBlgcbwMHrQ== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +pg-connection-string@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" + integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== + +pg-int8@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" + integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== + +pg-pool@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.4.1.tgz#0e71ce2c67b442a5e862a9c182172c37eda71e9c" + integrity sha512-TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ== + +pg-protocol@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.5.0.tgz#b5dd452257314565e2d54ab3c132adc46565a6a0" + integrity sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ== + +pg-types@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" + integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== + dependencies: + pg-int8 "1.0.1" + postgres-array "~2.0.0" + postgres-bytea "~1.0.0" + postgres-date "~1.0.4" + postgres-interval "^1.1.0" + +pg@8.7.1: + version "8.7.1" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.7.1.tgz#9ea9d1ec225980c36f94e181d009ab9f4ce4c471" + integrity sha512-7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA== + dependencies: + buffer-writer "2.0.0" + packet-reader "1.0.0" + pg-connection-string "^2.5.0" + pg-pool "^3.4.1" + pg-protocol "^1.5.0" + pg-types "^2.1.0" + pgpass "1.x" + +pgpass@1.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz#2a7bb41b6065b67907e91da1b07c1847c877b306" + integrity sha1-Knu0G2BltnkH6R2hsHwYR8h3swY= + dependencies: + split "^1.0.0" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pngjs@^3.3.0, pngjs@^3.3.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + +portscanner@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.2.0.tgz#6059189b3efa0965c9d96a56b958eb9508411cf1" + integrity sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw== + dependencies: + async "^2.6.0" + is-number-like "^1.0.3" + +postcss-calc@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" + integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== + dependencies: + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.1.tgz#6e444a806fd3c578827dbad022762df19334414d" + integrity sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.1.0" + +postcss-convert-values@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz#879b849dc3677c7d6bc94b6a2c1a3f0808798059" + integrity sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-discard-comments@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" + integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== + +postcss-discard-duplicates@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" + integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== + +postcss-discard-empty@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" + integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== + +postcss-discard-overridden@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" + integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== + +postcss-merge-longhand@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.3.tgz#42194a5ffbaa5513edbf606ef79c44958564658b" + integrity sha512-kmB+1TjMTj/bPw6MCDUiqSA5e/x4fvLffiAdthra3a0m2/IjTrWsTmD3FdSskzUjEwkj5ZHBDEbv5dOcqD7CMQ== + dependencies: + css-color-names "^1.0.1" + postcss-value-parser "^4.1.0" + stylehacks "^5.0.1" + +postcss-merge-rules@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz#d6e4d65018badbdb7dcc789c4f39b941305d410a" + integrity sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + cssnano-utils "^2.0.1" + postcss-selector-parser "^6.0.5" + vendors "^1.0.3" + +postcss-minify-font-values@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" + integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-minify-gradients@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz#f970a11cc71e08e9095e78ec3a6b34b91c19550e" + integrity sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q== + dependencies: + colord "^2.9.1" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-minify-params@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz#371153ba164b9d8562842fdcd929c98abd9e5b6c" + integrity sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw== + dependencies: + alphanum-sort "^1.0.2" + browserslist "^4.16.0" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" + integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" + integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== + +postcss-normalize-display-values@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" + integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-positions@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" + integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-normalize-repeat-style@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" + integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-string@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" + integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-normalize-timing-functions@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" + integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-unicode@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" + integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== + dependencies: + browserslist "^4.16.0" + postcss-value-parser "^4.1.0" + +postcss-normalize-url@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz#ddcdfb7cede1270740cf3e4dfc6008bd96abc763" + integrity sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ== + dependencies: + is-absolute-url "^3.0.3" + normalize-url "^6.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-whitespace@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" + integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-ordered-values@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" + integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-reduce-initial@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz#9d6369865b0f6f6f6b165a0ef5dc1a4856c7e946" + integrity sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw== + dependencies: + browserslist "^4.16.0" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" + integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + util-deprecate "^1.0.2" + +postcss-selector-parser@^6.0.5: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30" + integrity sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA== + dependencies: + postcss-value-parser "^4.1.0" + svgo "^2.7.0" + +postcss-unique-selectors@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz#3be5c1d7363352eff838bd62b0b07a0abad43bfc" + integrity sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" + uniqs "^2.0.0" + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^8.2.15: + version "8.3.0" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.0.tgz#b1a713f6172ca427e3f05ef1303de8b65683325f" + integrity sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" + +postgres-array@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" + integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== + +postgres-bytea@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" + integrity sha1-AntTPAqokOJtFy1Hz5zOzFIazTU= + +postgres-date@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.5.tgz#710b27de5f27d550f6e80b5d34f7ba189213c2ee" + integrity sha512-pdau6GRPERdAYUQwkBnGKxEfPyhVZXG/JiS44iZWiNdSOWE09N2lUgN6yshuq6fVSon4Pm0VMXd1srUUkLe9iA== + +postgres-interval@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" + integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== + dependencies: + xtend "^4.0.0" + +prebuild-install@^6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz#ae3c0142ad611d58570b89af4986088a4937e00f" + integrity sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ== + dependencies: + detect-libc "^1.0.3" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^2.21.0" + npmlog "^4.0.1" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^3.0.3" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +pretty@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pretty/-/pretty-2.0.0.tgz#adbc7960b7bbfe289a557dc5f737619a220d06a5" + integrity sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU= + dependencies: + condense-newlines "^0.2.1" + extend-shallow "^2.0.1" + js-beautify "^1.6.12" + +prettyjson@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289" + integrity sha1-/P+rQdGcq0365eV15kJGYZsS0ok= + dependencies: + colors "^1.1.2" + minimist "^1.2.0" + +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + +prismjs@1.25.0: + version "1.25.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" + integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== + +private-ip@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/private-ip/-/private-ip-2.3.3.tgz#1e80ff8443e5ac78f555631aec3ea6ff027fa6aa" + integrity sha512-5zyFfekIVUOTVbL92hc8LJOtE/gyGHeREHkJ2yTyByP8Q2YZVoBqLg3EfYLeF0oVvGqtaEX2t2Qovja0/gStXw== + dependencies: + ip-regex "^4.3.0" + ipaddr.js "^2.0.1" + is-ip "^3.1.0" + netmask "^2.0.2" + +probe-image-size@7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/probe-image-size/-/probe-image-size-7.2.1.tgz#df0c924e67e247bc94f8fcb0fad7f0081061fc44" + integrity sha512-d+6L3NvQBCNt4peRDoEfA7r9bPm6/qy18FnLKwg4NWBC5JrJm0pMLRg1kF4XNsPe1bUdt3WIMonPJzQWN2HXjQ== + dependencies: + lodash.merge "^4.6.2" + needle "^2.5.2" + stream-parser "~0.3.1" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise-limit@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/promise-limit/-/promise-limit-2.7.0.tgz#eb5737c33342a030eaeaecea9b3d3a93cb592b26" + integrity sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +promise.prototype.finally@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz#b8af89160c9c673cefe3b4c4435b53cfd0287067" + integrity sha512-A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.0" + function-bind "^1.1.1" + +promise@^7.0.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28, psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +pug-attrs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41" + integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== + dependencies: + constantinople "^4.0.1" + js-stringify "^1.0.2" + pug-runtime "^3.0.0" + +pug-code-gen@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-3.0.2.tgz#ad190f4943133bf186b60b80de483100e132e2ce" + integrity sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg== + dependencies: + constantinople "^4.0.1" + doctypes "^1.1.0" + js-stringify "^1.0.2" + pug-attrs "^3.0.0" + pug-error "^2.0.0" + pug-runtime "^3.0.0" + void-elements "^3.1.0" + with "^7.0.0" + +pug-error@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-2.0.0.tgz#5c62173cb09c34de2a2ce04f17b8adfec74d8ca5" + integrity sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ== + +pug-filters@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e" + integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== + dependencies: + constantinople "^4.0.1" + jstransformer "1.0.0" + pug-error "^2.0.0" + pug-walk "^2.0.0" + resolve "^1.15.1" + +pug-lexer@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-5.0.1.tgz#ae44628c5bef9b190b665683b288ca9024b8b0d5" + integrity sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== + dependencies: + character-parser "^2.2.0" + is-expression "^4.0.0" + pug-error "^2.0.0" + +pug-linker@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708" + integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== + dependencies: + pug-error "^2.0.0" + pug-walk "^2.0.0" + +pug-load@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662" + integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== + dependencies: + object-assign "^4.1.1" + pug-walk "^2.0.0" + +pug-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260" + integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== + dependencies: + pug-error "^2.0.0" + token-stream "1.0.0" + +pug-runtime@^3.0.0, pug-runtime@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-3.0.1.tgz#f636976204723f35a8c5f6fad6acda2a191b83d7" + integrity sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== + +pug-strip-comments@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e" + integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== + dependencies: + pug-error "^2.0.0" + +pug-walk@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe" + integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== + +pug@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pug/-/pug-3.0.2.tgz#f35c7107343454e43bc27ae0ff76c731b78ea535" + integrity sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw== + dependencies: + pug-code-gen "^3.0.2" + pug-filters "^4.0.0" + pug-lexer "^5.0.1" + pug-linker "^4.0.0" + pug-load "^3.0.0" + pug-parser "^6.0.0" + pug-runtime "^3.0.1" + pug-strip-comments "^2.0.0" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@2.1.1, 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== + +pureimage@0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/pureimage/-/pureimage-0.3.5.tgz#cd5e91f7b6409fcf4880297aaa3e7fc0afc24d5e" + integrity sha512-+CFUEpoX6GemlKlHihI7Ii4IqKqF5KZjd682sAxwzbc4t4zU4Gwhxd4W3UMZW94nJzf0n4nA9zJrwTR4jZB4TA== + dependencies: + jpeg-js "^0.4.1" + opentype.js "^0.4.3" + pngjs "^3.3.1" + +q@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4= + +qrcode@1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83" + integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q== + dependencies: + buffer "^5.4.3" + buffer-alloc "^1.2.0" + buffer-from "^1.1.1" + dijkstrajs "^1.0.1" + isarray "^2.0.1" + pngjs "^3.3.0" + yargs "^13.2.4" + +qs@^6.4.0, qs@^6.5.2: + version "6.9.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.3.tgz#bfadcd296c2d549f1dffa560619132c977f5008e" + integrity sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +random-seed@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/random-seed/-/random-seed-0.3.0.tgz#d945f2e1f38f49e8d58913431b8bf6bb937556cd" + integrity sha1-2UXy4fOPSejViRNDG4v2u5N1Vs0= + dependencies: + json-stringify-safe "^5.0.1" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +rangestr@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/rangestr/-/rangestr-0.0.1.tgz#f72ff9246f10f2a7d7c16e14616f617be2c2635a" + integrity sha1-9y/5JG8Q8qfXwW4UYW9he+LCY1o= + +ratelimiter@3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/ratelimiter/-/ratelimiter-3.4.1.tgz#fa69e94937413382a926aaa17aaeaa6263af4659" + integrity sha512-5FJbRW/Jkkdk29ksedAfWFkQkhbUrMx3QJGwMKAypeIiQf4yrLW+gtPKZiaWt4zPrtw1uGufOjGO7UGM6VllsQ== + +raw-body@^2.2.0, raw-body@^2.3.3: + version "2.4.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" + integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + dependencies: + bytes "3.1.0" + http-errors "1.7.3" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +rdf-canonize@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rdf-canonize/-/rdf-canonize-3.0.0.tgz#f5bade563e5e58f5cc5881afcba3c43839e8c747" + integrity sha512-LXRkhab1QaPJnhUIt1gtXXKswQCZ9zpflsSZFczG7mCLAkMvVjdqCGk9VXCUss0aOUeEyV2jtFxGcdX8DSkj9w== + dependencies: + setimmediate "^1.0.5" + +re2@1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/re2/-/re2-1.16.0.tgz#f311eb4865b1296123800ea8e013cec8dab25590" + integrity sha512-eizTZL2ZO0ZseLqfD4t3Qd0M3b3Nr0MBWpX81EbPMIud/1d/CSfUIx2GQK8fWiAeHoSekO5EOeFib2udTZLwYw== + dependencies: + install-artifact-from-github "^1.2.0" + nan "^2.14.2" + node-gyp "^8.0.0" + +readable-stream@1.1.x: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.6, readable-stream@^2.2.2: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-web-to-node-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.0.tgz#4ca5408e70471069119d691934141a52de413955" + integrity sha512-HNmLb3n0SteGAs8HQlErYPGeO+y7cvL/mVUKtXeUkl0iCZ/2GIgKGrCFHyS7UXFnO8uc9U+0y3pYIzAPsjFfvA== + dependencies: + "@types/readable-stream" "^2.3.9" + readable-stream "^3.6.0" + +readdirp@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" + integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== + dependencies: + picomatch "^2.0.7" + +reconnecting-websocket@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz#3b0e5b96ef119e78a03135865b8bb0af1b948783" + integrity sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng== + +redis-commands@1.7.0, redis-commands@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.7.0.tgz#15a6fea2d58281e27b1cd1acfb4b293e278c3a89" + integrity sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ== + +redis-errors@^1.0.0, redis-errors@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" + integrity sha1-62LSrbFeTq9GEMBK/hUpOEJQq60= + +redis-lock@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/redis-lock/-/redis-lock-0.1.4.tgz#e83590bee22b5f01cdb65bfbd88d988045356272" + integrity sha512-7/+zu86XVQfJVx1nHTzux5reglDiyUCDwmW7TSlvVezfhH2YLc/Rc8NE0ejQG+8/0lwKzm29/u/4+ogKeLosiA== + +redis-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" + integrity sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ= + dependencies: + redis-errors "^1.0.0" + +redis@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/redis/-/redis-3.1.2.tgz#766851117e80653d23e0ed536254677ab647638c" + integrity sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw== + dependencies: + denque "^1.5.0" + redis-commands "^1.7.0" + redis-errors "^1.2.0" + redis-parser "^3.0.0" + +reflect-metadata@0.1.13, reflect-metadata@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" + integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +rename@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/rename/-/rename-1.0.4.tgz#a0f25078fa4195e650f73050c7c12ccf689f430b" + integrity sha1-oPJQePpBleZQ9zBQx8Esz2ifQws= + dependencies: + debug "^2.5.2" + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request-stats@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-stats/-/request-stats-3.0.0.tgz#769155dc8974d78d4a1cb87bbf14eaab985afe25" + integrity sha1-dpFV3Il0141KHLh7vxTqq5ha/iU= + dependencies: + http-headers "^3.0.1" + once "^1.4.0" + +request@2.88.2, request@^2.88.2: + 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" + +require-all@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/require-all/-/require-all-3.0.0.tgz#473d49704be310115ce124f77383b1ebd8671312" + integrity sha1-Rz1JcEvjEBFc4ST3c4Ox69hnExI= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-alpn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" + integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA== + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-path@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" + integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= + dependencies: + http-errors "~1.6.2" + path-is-absolute "1.0.1" + +resolve@^1.15.1: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resolve@^1.3.2: + version "1.18.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" + integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== + dependencies: + is-core-module "^2.0.0" + path-parse "^1.0.6" + +responselike@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + dependencies: + lowercase-keys "^2.0.0" + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rndstr@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rndstr/-/rndstr-1.0.0.tgz#77e66fa8f9b4836853fdd91e50719591bb67d349" + integrity sha1-d+ZvqPm0g2hT/dkeUHGVkbtn00k= + dependencies: + rangestr "0.0.1" + seedrandom "2.4.2" + +rsvp@^4.8.5: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +run-parallel@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + +rxjs@^6.6.3: + version "6.6.6" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" + integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== + dependencies: + tslib "^1.9.0" + +s-age@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/s-age/-/s-age-1.1.2.tgz#c0cf15233ccc93f41de92ea42c36d957977d1ea2" + integrity sha512-aSN2TlF39WLoZA/6cgYSJZhKt63kJ4EaadejPWjWY9/h4rksIqvfWY3gfd+3uAegSM1IXsA9aWeEhJtkxkFQtA== + +safari-14-idb-fix@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/safari-14-idb-fix/-/safari-14-idb-fix-1.0.4.tgz#5c68ba63e2a8ae0d89a0aa1e13fe89e3aef7da19" + integrity sha512-4+Y2baQdgJpzu84d0QjySl70Kyygzf0pepVg8NVg4NnQEPpfC91fAn0baNvtStlCjUUxxiu0BOMiafa98fRRuA== + +safe-buffer@*: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= + +sax@>=0.6.0, sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +schema-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" + integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== + dependencies: + "@types/json-schema" "^7.0.6" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +secure-json-parse@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.1.0.tgz#ae76f5624256b5c497af887090a5d9e156c9fb20" + integrity sha512-GckO+MS/wT4UogDyoI/H/S1L0MCcKS1XX/vp48wfmU7Nw4woBmb8mIpu4zPBQjKlRT88/bt9xdoV4111jPpNJA== + +seedrandom@2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.2.tgz#18d78c41287d13aff8eadb29e235938b248aa9ff" + integrity sha1-GNeMQSh9E6/46tsp4jWTiySKqf8= + +seedrandom@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" + integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== + +semver@6.x: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^5.3.0, semver@^5.4.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +serialize-javascript@5.0.1, serialize-javascript@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sharp@0.29.2: + version "0.29.2" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.29.2.tgz#e8c003cd9cb321585b32dbda6eed3baa7d6f2308" + integrity sha512-XWRdiYLIJ3tDUejRyG24KERnJzMfIoyiJBntd2S6/uj3NEeNgRFRLgiBlvPxMa8aml14dKKD98yHinSNKp1xzQ== + dependencies: + color "^4.0.1" + detect-libc "^1.0.3" + node-addon-api "^4.2.0" + prebuild-install "^6.1.4" + semver "^7.3.5" + simple-get "^3.1.0" + tar-fs "^2.1.1" + tunnel-agent "^0.6.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +simple-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= + +simple-get@^3.0.3, simple-get@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" + integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +smart-buffer@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" + integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== + +socks-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" + integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA== + dependencies: + agent-base "6" + debug "4" + socks "^2.3.3" + +socks@^2.3.3: + version "2.6.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" + integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + +source-list-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + +source-map-support@~0.5.19: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + +speakeasy@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/speakeasy/-/speakeasy-2.0.0.tgz#85c91a071b09a5cb8642590d983566165f57613a" + integrity sha1-hckaBxsJpcuGQlkNmDVmFl9XYTo= + dependencies: + base32.js "0.0.1" + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + +sprintf-js@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.14.1, sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +standard-as-callback@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" + integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-parser@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" + integrity sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M= + dependencies: + debug "2" + +streamsearch@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" + integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo= + +strict-event-emitter-types@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz#05e15549cb4da1694478a53543e4e2f4abcf277f" + integrity sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA== + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimleft@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" + integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimstart "^1.0.0" + +string.prototype.trimright@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" + integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimend "^1.0.0" + +string.prototype.trimstart@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringz@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/stringz/-/stringz-2.1.0.tgz#5896b4713eac31157556040fb90258fb02c1630c" + integrity sha512-KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A== + dependencies: + char-regex "^1.0.2" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +strtok3@^6.2.4: + version "6.2.4" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.2.4.tgz#302aea64c0fa25d12a0385069ba66253fdc38a81" + integrity sha512-GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^4.0.1" + +style-loader@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" + integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== + +stylehacks@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" + integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== + dependencies: + browserslist "^4.16.0" + postcss-selector-parser "^6.0.4" + +summaly@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/summaly/-/summaly-2.4.1.tgz#d2a8fa6bad10c1651eb0b849aab3009e87216a3d" + integrity sha512-1gETEQXqK5RD7yIGgdGeTwGL1uh+uj14u99atzNLNmvsxwdtZbPvDHZBPXkAW0cqsd8teoBJln5Dh1QeAhvGIg== + dependencies: + cheerio-httpcli "0.8.2" + debug "4.3.2" + escape-regexp "0.0.1" + html-entities "2.3.2" + koa "2.13.1" + request "2.88.2" + request-promise-native "1.0.9" + require-all "3.0.0" + trace-redirect "1.0.6" + +supports-color@8.1.1, supports-color@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +syslog-pro@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/syslog-pro/-/syslog-pro-1.0.0.tgz#e46bfd39f58937352645091e84a3b903f39e12ea" + integrity sha512-7SNMJKtQBJlwBUp1jxFT7bXya71cnINXPCYJ2AVhlQE4MKL7o2QiPdAXbMdWRiLeykQ2rx+7TNrnoGzvzhO+eA== + dependencies: + moment "^2.22.2" + +systeminformation@5.9.9: + version "5.9.9" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.9.9.tgz#aa8234a138363bd988f438fed3273370f79d7e30" + integrity sha512-xciy6NKCLfs4dqMD1Tdlo7v1/g0NfdA1EKsIptUQjlcVvpwHyjifAbNOF7ppFezGSMXxYE8me+l2+RlFF4lyTg== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" + integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== + +tar-fs@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.1.tgz#e44086c1c60d31a4f0cf893b1c4e155dabfae9e2" + integrity sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.0.0" + +tar-fs@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.2.tgz#6d5ef1a7e5783a95ff70b69b97455a5968dc1325" + integrity sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q== + dependencies: + bl "^4.0.1" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@^6.0.2: + version "6.0.5" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" + integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +tar@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" + integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terser-webpack-plugin@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" + integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== + dependencies: + jest-worker "^26.6.2" + p-limit "^3.1.0" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + source-map "^0.6.1" + terser "^5.5.1" + +terser@^5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" + integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +throttle-debounce@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== + +through@2: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tinycolor2@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" + integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== + +tmp@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +token-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" + integrity sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ= + +token-types@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.1.1.tgz#ef9e8c8e2e0ded9f1b3f8dbaa46a3228b113ba1a" + integrity sha512-hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + +tough-cookie@^2.3.3, tough-cookie@^2.5.0, 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" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.0.0, tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +trace-redirect@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/trace-redirect/-/trace-redirect-1.0.6.tgz#ac629b5bf8247d30dde5a35fe9811b811075b504" + integrity sha512-UUfa1DjjU5flcjMdaFIiIEGDTyu2y/IiMjOX4uGXa7meKBS4vD4f2Uy/tken9Qkd4Jsm4sRsfZcIIPqrRVF3Mg== + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-jest@^25.2.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" + integrity sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + micromatch "4.x" + mkdirp "0.x" + semver "6.x" + yargs-parser "18.x" + +ts-loader@9.2.6: + version "9.2.6" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.6.tgz#9937c4dd0a1e3dbbb5e433f8102a6601c6615d74" + integrity sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + +ts-node@10.4.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" + integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== + dependencies: + "@cspotcode/source-map-support" "0.7.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + yn "3.1.1" + +tsc-alias@1.3.10: + version "1.3.10" + resolved "https://registry.yarnpkg.com/tsc-alias/-/tsc-alias-1.3.10.tgz#6ccf81c644092387ab9be3a3a75549a95eeffd80" + integrity sha512-7SF56qiV7Oh/bON+XjF/uAzEFqbmwCuEIHQyoTyVJAK80WnxaIyhO9TBwD/x8InIMU8lnvExQBOrgKkRPsHH+w== + dependencies: + "@jfonx/console-utils" "^1.0.3" + "@jfonx/file-utils" "^3.0.1" + chokidar "^3.5.0" + commander "^6.2.1" + find-node-modules "^2.1.0" + globby "^11.0.2" + normalize-path "^3.0.0" + +tsconfig-paths@3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== + +tslib@^1.8.1, tslib@^1.9.0: + version "1.11.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== + +tslib@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" + integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== + +tslint-sonarts@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/tslint-sonarts/-/tslint-sonarts-1.9.0.tgz#feb593e92db328c0328b430b838adbe65d504de9" + integrity sha512-CJWt+IiYI8qggb2O/JPkS6CkC5DY1IcqRsm9EHJ+AxoWK70lvtP7jguochyNDMP2vIz/giGdWCfEM39x/I/Vnw== + dependencies: + immutable "^3.8.2" + +tslint@6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" + integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== + dependencies: + "@babel/code-frame" "^7.0.0" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^4.0.1" + glob "^7.1.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + mkdirp "^0.5.3" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.13.0" + tsutils "^2.29.0" + +tsscmp@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" + integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== + +tsutils@^2.29.0: + version "2.29.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" + integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== + dependencies: + tslib "^1.8.1" + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +twemoji-parser@13.1.0, twemoji-parser@13.1.x: + version "13.1.0" + resolved "https://registry.yarnpkg.com/twemoji-parser/-/twemoji-parser-13.1.0.tgz#65e7e449c59258791b22ac0b37077349127e3ea4" + integrity sha512-AQOzLJpYlpWMy8n+0ATyKKZzWlZBJN+G0C+5lhX7Ftc2PeEVdUU/7ns2Pn2vVje26AIZ/OHwFoUbdv6YYD/wGg== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-is@^1.6.14, type-is@^1.6.16, type-is@^1.6.4: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972" + integrity sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI= + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" + integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typeorm@0.2.39: + version "0.2.39" + resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.2.39.tgz#4d22fc68d114b2ca88a8d7b064f31af15e836ade" + integrity sha512-yQdvDpmmmn8wp1We25V76KIBPYR/lDbymNbGC++Uq8mSRhpHIPnlg26VAT4CF6Ypqx72zn8eqr+/72uSo7HdJQ== + dependencies: + "@sqltools/formatter" "^1.2.2" + app-root-path "^3.0.0" + buffer "^6.0.3" + chalk "^4.1.0" + cli-highlight "^2.1.11" + debug "^4.3.1" + dotenv "^8.2.0" + glob "^7.1.6" + js-yaml "^4.0.0" + mkdirp "^1.0.4" + reflect-metadata "^0.1.13" + sha.js "^2.4.11" + tslib "^2.1.0" + xml2js "^0.4.23" + yargs "^17.0.1" + zen-observable-ts "^1.0.0" + +typescript@4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + +ulid@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/ulid/-/ulid-2.3.0.tgz#93063522771a9774121a84d126ecd3eb9804071f" + integrity sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw== + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0, universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unload@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unload/-/unload-2.3.1.tgz#9d16862d372a5ce5cb630ad1309c2fd6e35dacfe" + integrity sha512-MUZEiDqvAN9AIDRbbBnVYVvfcR6DrjCqeU2YQMmliFZl9uaBUjTkhuDQkBiyAy8ad5bx1TXVbqZ3gg7namsWjA== + dependencies: + "@babel/runtime" "^7.6.2" + detect-node "2.1.0" + +unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +url@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +urlsafe-base64@^1.0.0, urlsafe-base64@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" + integrity sha1-I/iQaabGL0bPOh07ABac77kL4MY= + +utf-8-validate@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.2.tgz#63cfbccd85dc1f2b66cf7a1d0eebc08ed056bfb3" + integrity sha512-SwV++i2gTD5qh2XqaPzBnNX88N6HdyhQrNNRykvcS0QKvItV9u3vPEJr+X5Hhfb1JC0r0e1alL0iB09rY8+nmw== + dependencies: + node-gyp-build "~3.7.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +uuid@7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" + integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== + +uuid@8.3.2, uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3: + version "2.2.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== + +valid-url@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" + integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= + +vary@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +void-elements@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= + +vue-eslint-parser@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-8.0.1.tgz#25e08b20a414551531f3e19f999902e1ecf45f13" + integrity sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A== + dependencies: + debug "^4.3.2" + eslint-scope "^6.0.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.5" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +watchpack@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.0.0.tgz#b12248f32f0fd4799b7be0802ad1f6573a45955c" + integrity sha512-xSdCxxYZWNk3VK13bZRYhsQpfa8Vg63zXG+3pyU8ouqSLRCv4IGXIp9Kr226q6GBkGRlZrST2wwKtjfKz2m7Cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +web-push@3.4.5: + version "3.4.5" + resolved "https://registry.yarnpkg.com/web-push/-/web-push-3.4.5.tgz#f94074ff150538872c7183e4d8881c8305920cf1" + integrity sha512-2njbTqZ6Q7ZqqK14YpK1GGmaZs3NmuGYF5b7abCXulUIWFSlSYcZ3NBJQRFcMiQDceD7vQknb8FUuvI1F7Qe/g== + dependencies: + asn1.js "^5.3.0" + http_ece "1.1.0" + https-proxy-agent "^5.0.0" + jws "^4.0.0" + minimist "^1.2.5" + urlsafe-base64 "^1.0.0" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +webpack-sources@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" + integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== + dependencies: + source-list-map "^2.0.1" + source-map "^0.6.1" + +webpack@^5: + version "5.33.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.33.2.tgz#c049717c9b038febf5a72fd2f53319ad59a8c1fc" + integrity sha512-X4b7F1sYBmJx8mlh2B7mV5szEkE0jYNJ2y3akgAP0ERi0vLCG1VvdsIxt8lFd4st6SUy0lf7W0CCQS566MBpJg== + dependencies: + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.46" + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/wasm-edit" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + acorn "^8.0.4" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.7.0" + es-module-lexer "^0.4.0" + eslint-scope "^5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.4" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.0.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.1" + watchpack "^2.0.0" + webpack-sources "^2.1.1" + +websocket@1.0.34: + version "1.0.34" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.0.0.tgz#37f256cb746398e19b107bd6ef820b4ae2d15871" + integrity sha512-41ou2Dugpij8/LPO5Pq64K5q++MnRCBpEHvQr26/mArEKTkCV5aoXIqyhuYtE0pkqScXwhf2JP57rkRTYM29lQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.0" + webidl-conversions "^5.0.0" + +whatwg-url@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" + integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== + dependencies: + lodash "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@2.0.2, which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +which@^1.1.1, which@^1.2.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3, wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +with@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" + integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== + dependencies: + "@babel/parser" "^7.9.6" + "@babel/types" "^7.9.6" + assert-never "^1.2.1" + babel-walk "3.0.0-canary-5" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +workerpool@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" + integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== + +ws@^7.4.6: + version "7.5.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" + integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== + +xev@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/xev/-/xev-2.0.1.tgz#24484173a22115bc8a990ef5d4d5129695b827a7" + integrity sha512-icDf9M67bDge0F2qf02WKZq+s7mMO/SbPv67ZQPym6JThLEOdlWWLdB7VTVgRJp3ekgaiVItCAyH6aoKCPvfIA== + +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xml2js@^0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + +y18n@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" + integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml-ast-parser@0.0.43: + version "0.0.43" + resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" + integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== + +yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@18.x: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@20.2.4, yargs-parser@^20.2.2: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0, yargs@^16.0.0, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^13.2.4: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^17.0.1: + version "17.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" + integrity sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +ylru@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" + integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zen-observable-ts@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.0.0.tgz#30d1202b81d8ba4c489e3781e8ca09abf0075e70" + integrity sha512-KmWcbz+9kKUeAQ8btY8m1SsEFgBcp7h/Uf3V5quhan7ZWdjGsf0JcGLULQiwOZibbFWnHkYq8Nn2AZbJabovQg== + dependencies: + "@types/zen-observable" "^0.8.2" + zen-observable "^0.8.15" + +zen-observable@^0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== diff --git a/src/client/.eslintrc b/packages/client/.eslintrc similarity index 97% rename from src/client/.eslintrc rename to packages/client/.eslintrc index fffa28d9e..b3b631e1d 100644 --- a/src/client/.eslintrc +++ b/packages/client/.eslintrc @@ -1,6 +1,6 @@ { "env": { - "node": false, + "node": false }, "extends": [ "eslint:recommended", diff --git a/packages/client/.npmrc b/packages/client/.npmrc new file mode 100644 index 000000000..6b5f38e89 --- /dev/null +++ b/packages/client/.npmrc @@ -0,0 +1,2 @@ +save-exact = true +package-lock = false diff --git a/src/client/@types/global.d.ts b/packages/client/@types/global.d.ts similarity index 94% rename from src/client/@types/global.d.ts rename to packages/client/@types/global.d.ts index 84dde63b2..c75748290 100644 --- a/src/client/@types/global.d.ts +++ b/packages/client/@types/global.d.ts @@ -1,3 +1,5 @@ +type FIXME = any; + declare const _LANGS_: string[][]; declare const _VERSION_: string; declare const _ENV_: string; diff --git a/src/client/@types/vue.d.ts b/packages/client/@types/vue.d.ts similarity index 100% rename from src/client/@types/vue.d.ts rename to packages/client/@types/vue.d.ts diff --git a/assets/client/about-icon.png b/packages/client/assets/about-icon.png similarity index 100% rename from assets/client/about-icon.png rename to packages/client/assets/about-icon.png diff --git a/assets/client/fedi.jpg b/packages/client/assets/fedi.jpg similarity index 100% rename from assets/client/fedi.jpg rename to packages/client/assets/fedi.jpg diff --git a/assets/client/label-red.svg b/packages/client/assets/label-red.svg similarity index 100% rename from assets/client/label-red.svg rename to packages/client/assets/label-red.svg diff --git a/assets/client/label.svg b/packages/client/assets/label.svg similarity index 100% rename from assets/client/label.svg rename to packages/client/assets/label.svg diff --git a/assets/client/misskey.svg b/packages/client/assets/misskey.svg similarity index 100% rename from assets/client/misskey.svg rename to packages/client/assets/misskey.svg diff --git a/assets/client/remove.png b/packages/client/assets/remove.png similarity index 100% rename from assets/client/remove.png rename to packages/client/assets/remove.png diff --git a/assets/client/room/furnitures/banknote/banknote.blend b/packages/client/assets/room/furnitures/banknote/banknote.blend similarity index 100% rename from assets/client/room/furnitures/banknote/banknote.blend rename to packages/client/assets/room/furnitures/banknote/banknote.blend diff --git a/assets/client/room/furnitures/banknote/banknote.glb b/packages/client/assets/room/furnitures/banknote/banknote.glb similarity index 100% rename from assets/client/room/furnitures/banknote/banknote.glb rename to packages/client/assets/room/furnitures/banknote/banknote.glb diff --git a/assets/client/room/furnitures/banknote/tex.png b/packages/client/assets/room/furnitures/banknote/tex.png similarity index 100% rename from assets/client/room/furnitures/banknote/tex.png rename to packages/client/assets/room/furnitures/banknote/tex.png diff --git a/assets/client/room/furnitures/bed/bed.blend b/packages/client/assets/room/furnitures/bed/bed.blend similarity index 100% rename from assets/client/room/furnitures/bed/bed.blend rename to packages/client/assets/room/furnitures/bed/bed.blend diff --git a/assets/client/room/furnitures/bed/bed.glb b/packages/client/assets/room/furnitures/bed/bed.glb similarity index 100% rename from assets/client/room/furnitures/bed/bed.glb rename to packages/client/assets/room/furnitures/bed/bed.glb diff --git a/assets/client/room/furnitures/bin/bin.blend b/packages/client/assets/room/furnitures/bin/bin.blend similarity index 100% rename from assets/client/room/furnitures/bin/bin.blend rename to packages/client/assets/room/furnitures/bin/bin.blend diff --git a/assets/client/room/furnitures/bin/bin.glb b/packages/client/assets/room/furnitures/bin/bin.glb similarity index 100% rename from assets/client/room/furnitures/bin/bin.glb rename to packages/client/assets/room/furnitures/bin/bin.glb diff --git a/assets/client/room/furnitures/book/book.blend b/packages/client/assets/room/furnitures/book/book.blend similarity index 100% rename from assets/client/room/furnitures/book/book.blend rename to packages/client/assets/room/furnitures/book/book.blend diff --git a/assets/client/room/furnitures/book/book.glb b/packages/client/assets/room/furnitures/book/book.glb similarity index 100% rename from assets/client/room/furnitures/book/book.glb rename to packages/client/assets/room/furnitures/book/book.glb diff --git a/assets/client/room/furnitures/book2/barcode.png b/packages/client/assets/room/furnitures/book2/barcode.png similarity index 100% rename from assets/client/room/furnitures/book2/barcode.png rename to packages/client/assets/room/furnitures/book2/barcode.png diff --git a/assets/client/room/furnitures/book2/book2.blend b/packages/client/assets/room/furnitures/book2/book2.blend similarity index 100% rename from assets/client/room/furnitures/book2/book2.blend rename to packages/client/assets/room/furnitures/book2/book2.blend diff --git a/assets/client/room/furnitures/book2/book2.glb b/packages/client/assets/room/furnitures/book2/book2.glb similarity index 100% rename from assets/client/room/furnitures/book2/book2.glb rename to packages/client/assets/room/furnitures/book2/book2.glb diff --git a/assets/client/room/furnitures/book2/texture.afdesign b/packages/client/assets/room/furnitures/book2/texture.afdesign similarity index 100% rename from assets/client/room/furnitures/book2/texture.afdesign rename to packages/client/assets/room/furnitures/book2/texture.afdesign diff --git a/assets/client/room/furnitures/book2/texture.png b/packages/client/assets/room/furnitures/book2/texture.png similarity index 100% rename from assets/client/room/furnitures/book2/texture.png rename to packages/client/assets/room/furnitures/book2/texture.png diff --git a/assets/client/room/furnitures/book2/uv.png b/packages/client/assets/room/furnitures/book2/uv.png similarity index 100% rename from assets/client/room/furnitures/book2/uv.png rename to packages/client/assets/room/furnitures/book2/uv.png diff --git a/assets/client/room/furnitures/cardboard-box/cardboard-box.blend b/packages/client/assets/room/furnitures/cardboard-box/cardboard-box.blend similarity index 100% rename from assets/client/room/furnitures/cardboard-box/cardboard-box.blend rename to packages/client/assets/room/furnitures/cardboard-box/cardboard-box.blend diff --git a/assets/client/room/furnitures/cardboard-box/cardboard-box.glb b/packages/client/assets/room/furnitures/cardboard-box/cardboard-box.glb similarity index 100% rename from assets/client/room/furnitures/cardboard-box/cardboard-box.glb rename to packages/client/assets/room/furnitures/cardboard-box/cardboard-box.glb diff --git a/assets/client/room/furnitures/cardboard-box2/cardboard-box2.blend b/packages/client/assets/room/furnitures/cardboard-box2/cardboard-box2.blend similarity index 100% rename from assets/client/room/furnitures/cardboard-box2/cardboard-box2.blend rename to packages/client/assets/room/furnitures/cardboard-box2/cardboard-box2.blend diff --git a/assets/client/room/furnitures/cardboard-box2/cardboard-box2.glb b/packages/client/assets/room/furnitures/cardboard-box2/cardboard-box2.glb similarity index 100% rename from assets/client/room/furnitures/cardboard-box2/cardboard-box2.glb rename to packages/client/assets/room/furnitures/cardboard-box2/cardboard-box2.glb diff --git a/assets/client/room/furnitures/cardboard-box2/texture.png b/packages/client/assets/room/furnitures/cardboard-box2/texture.png similarity index 100% rename from assets/client/room/furnitures/cardboard-box2/texture.png rename to packages/client/assets/room/furnitures/cardboard-box2/texture.png diff --git a/assets/client/room/furnitures/cardboard-box2/uv.png b/packages/client/assets/room/furnitures/cardboard-box2/uv.png similarity index 100% rename from assets/client/room/furnitures/cardboard-box2/uv.png rename to packages/client/assets/room/furnitures/cardboard-box2/uv.png diff --git a/assets/client/room/furnitures/cardboard-box3/cardboard-box3.blend b/packages/client/assets/room/furnitures/cardboard-box3/cardboard-box3.blend similarity index 100% rename from assets/client/room/furnitures/cardboard-box3/cardboard-box3.blend rename to packages/client/assets/room/furnitures/cardboard-box3/cardboard-box3.blend diff --git a/assets/client/room/furnitures/cardboard-box3/cardboard-box3.glb b/packages/client/assets/room/furnitures/cardboard-box3/cardboard-box3.glb similarity index 100% rename from assets/client/room/furnitures/cardboard-box3/cardboard-box3.glb rename to packages/client/assets/room/furnitures/cardboard-box3/cardboard-box3.glb diff --git a/assets/client/room/furnitures/cardboard-box3/texture.png b/packages/client/assets/room/furnitures/cardboard-box3/texture.png similarity index 100% rename from assets/client/room/furnitures/cardboard-box3/texture.png rename to packages/client/assets/room/furnitures/cardboard-box3/texture.png diff --git a/assets/client/room/furnitures/cardboard-box3/texture.xcf b/packages/client/assets/room/furnitures/cardboard-box3/texture.xcf similarity index 100% rename from assets/client/room/furnitures/cardboard-box3/texture.xcf rename to packages/client/assets/room/furnitures/cardboard-box3/texture.xcf diff --git a/assets/client/room/furnitures/cardboard-box3/uv.png b/packages/client/assets/room/furnitures/cardboard-box3/uv.png similarity index 100% rename from assets/client/room/furnitures/cardboard-box3/uv.png rename to packages/client/assets/room/furnitures/cardboard-box3/uv.png diff --git a/assets/client/room/furnitures/carpet-stripe/carpet-stripe.blend b/packages/client/assets/room/furnitures/carpet-stripe/carpet-stripe.blend similarity index 100% rename from assets/client/room/furnitures/carpet-stripe/carpet-stripe.blend rename to packages/client/assets/room/furnitures/carpet-stripe/carpet-stripe.blend diff --git a/assets/client/room/furnitures/carpet-stripe/carpet-stripe.glb b/packages/client/assets/room/furnitures/carpet-stripe/carpet-stripe.glb similarity index 100% rename from assets/client/room/furnitures/carpet-stripe/carpet-stripe.glb rename to packages/client/assets/room/furnitures/carpet-stripe/carpet-stripe.glb diff --git a/assets/client/room/furnitures/chair/chair.blend b/packages/client/assets/room/furnitures/chair/chair.blend similarity index 100% rename from assets/client/room/furnitures/chair/chair.blend rename to packages/client/assets/room/furnitures/chair/chair.blend diff --git a/assets/client/room/furnitures/chair/chair.glb b/packages/client/assets/room/furnitures/chair/chair.glb similarity index 100% rename from assets/client/room/furnitures/chair/chair.glb rename to packages/client/assets/room/furnitures/chair/chair.glb diff --git a/assets/client/room/furnitures/chair2/chair2.blend b/packages/client/assets/room/furnitures/chair2/chair2.blend similarity index 100% rename from assets/client/room/furnitures/chair2/chair2.blend rename to packages/client/assets/room/furnitures/chair2/chair2.blend diff --git a/assets/client/room/furnitures/chair2/chair2.glb b/packages/client/assets/room/furnitures/chair2/chair2.glb similarity index 100% rename from assets/client/room/furnitures/chair2/chair2.glb rename to packages/client/assets/room/furnitures/chair2/chair2.glb diff --git a/assets/client/room/furnitures/color-box/color-box.blend b/packages/client/assets/room/furnitures/color-box/color-box.blend similarity index 100% rename from assets/client/room/furnitures/color-box/color-box.blend rename to packages/client/assets/room/furnitures/color-box/color-box.blend diff --git a/assets/client/room/furnitures/color-box/color-box.glb b/packages/client/assets/room/furnitures/color-box/color-box.glb similarity index 100% rename from assets/client/room/furnitures/color-box/color-box.glb rename to packages/client/assets/room/furnitures/color-box/color-box.glb diff --git a/assets/client/room/furnitures/corkboard/corkboard.blend b/packages/client/assets/room/furnitures/corkboard/corkboard.blend similarity index 100% rename from assets/client/room/furnitures/corkboard/corkboard.blend rename to packages/client/assets/room/furnitures/corkboard/corkboard.blend diff --git a/assets/client/room/furnitures/corkboard/corkboard.glb b/packages/client/assets/room/furnitures/corkboard/corkboard.glb similarity index 100% rename from assets/client/room/furnitures/corkboard/corkboard.glb rename to packages/client/assets/room/furnitures/corkboard/corkboard.glb diff --git a/assets/client/room/furnitures/cube/cube.blend b/packages/client/assets/room/furnitures/cube/cube.blend similarity index 100% rename from assets/client/room/furnitures/cube/cube.blend rename to packages/client/assets/room/furnitures/cube/cube.blend diff --git a/assets/client/room/furnitures/cube/cube.glb b/packages/client/assets/room/furnitures/cube/cube.glb similarity index 100% rename from assets/client/room/furnitures/cube/cube.glb rename to packages/client/assets/room/furnitures/cube/cube.glb diff --git a/assets/client/room/furnitures/cup-noodle/cup-noodle.blend b/packages/client/assets/room/furnitures/cup-noodle/cup-noodle.blend similarity index 100% rename from assets/client/room/furnitures/cup-noodle/cup-noodle.blend rename to packages/client/assets/room/furnitures/cup-noodle/cup-noodle.blend diff --git a/assets/client/room/furnitures/cup-noodle/cup-noodle.glb b/packages/client/assets/room/furnitures/cup-noodle/cup-noodle.glb similarity index 100% rename from assets/client/room/furnitures/cup-noodle/cup-noodle.glb rename to packages/client/assets/room/furnitures/cup-noodle/cup-noodle.glb diff --git a/assets/client/room/furnitures/cup-noodle/noodle.png b/packages/client/assets/room/furnitures/cup-noodle/noodle.png similarity index 100% rename from assets/client/room/furnitures/cup-noodle/noodle.png rename to packages/client/assets/room/furnitures/cup-noodle/noodle.png diff --git a/assets/client/room/furnitures/desk/desk.blend b/packages/client/assets/room/furnitures/desk/desk.blend similarity index 100% rename from assets/client/room/furnitures/desk/desk.blend rename to packages/client/assets/room/furnitures/desk/desk.blend diff --git a/assets/client/room/furnitures/desk/desk.glb b/packages/client/assets/room/furnitures/desk/desk.glb similarity index 100% rename from assets/client/room/furnitures/desk/desk.glb rename to packages/client/assets/room/furnitures/desk/desk.glb diff --git a/assets/client/room/furnitures/doll-ai/doll-ai.blend b/packages/client/assets/room/furnitures/doll-ai/doll-ai.blend similarity index 100% rename from assets/client/room/furnitures/doll-ai/doll-ai.blend rename to packages/client/assets/room/furnitures/doll-ai/doll-ai.blend diff --git a/assets/client/room/furnitures/doll-ai/doll-ai.glb b/packages/client/assets/room/furnitures/doll-ai/doll-ai.glb similarity index 100% rename from assets/client/room/furnitures/doll-ai/doll-ai.glb rename to packages/client/assets/room/furnitures/doll-ai/doll-ai.glb diff --git a/assets/client/room/furnitures/doll-ai/doll_ai_tex.png b/packages/client/assets/room/furnitures/doll-ai/doll_ai_tex.png similarity index 100% rename from assets/client/room/furnitures/doll-ai/doll_ai_tex.png rename to packages/client/assets/room/furnitures/doll-ai/doll_ai_tex.png diff --git a/assets/client/room/furnitures/energy-drink/energy-drink.blend b/packages/client/assets/room/furnitures/energy-drink/energy-drink.blend similarity index 100% rename from assets/client/room/furnitures/energy-drink/energy-drink.blend rename to packages/client/assets/room/furnitures/energy-drink/energy-drink.blend diff --git a/assets/client/room/furnitures/energy-drink/energy-drink.glb b/packages/client/assets/room/furnitures/energy-drink/energy-drink.glb similarity index 100% rename from assets/client/room/furnitures/energy-drink/energy-drink.glb rename to packages/client/assets/room/furnitures/energy-drink/energy-drink.glb diff --git a/assets/client/room/furnitures/energy-drink/texture.afdesign b/packages/client/assets/room/furnitures/energy-drink/texture.afdesign similarity index 100% rename from assets/client/room/furnitures/energy-drink/texture.afdesign rename to packages/client/assets/room/furnitures/energy-drink/texture.afdesign diff --git a/assets/client/room/furnitures/energy-drink/texture.png b/packages/client/assets/room/furnitures/energy-drink/texture.png similarity index 100% rename from assets/client/room/furnitures/energy-drink/texture.png rename to packages/client/assets/room/furnitures/energy-drink/texture.png diff --git a/assets/client/room/furnitures/energy-drink/uv.png b/packages/client/assets/room/furnitures/energy-drink/uv.png similarity index 100% rename from assets/client/room/furnitures/energy-drink/uv.png rename to packages/client/assets/room/furnitures/energy-drink/uv.png diff --git a/assets/client/room/furnitures/eraser/cover.png b/packages/client/assets/room/furnitures/eraser/cover.png similarity index 100% rename from assets/client/room/furnitures/eraser/cover.png rename to packages/client/assets/room/furnitures/eraser/cover.png diff --git a/assets/client/room/furnitures/eraser/cover.psd b/packages/client/assets/room/furnitures/eraser/cover.psd similarity index 100% rename from assets/client/room/furnitures/eraser/cover.psd rename to packages/client/assets/room/furnitures/eraser/cover.psd diff --git a/assets/client/room/furnitures/eraser/eraser-uv.png b/packages/client/assets/room/furnitures/eraser/eraser-uv.png similarity index 100% rename from assets/client/room/furnitures/eraser/eraser-uv.png rename to packages/client/assets/room/furnitures/eraser/eraser-uv.png diff --git a/assets/client/room/furnitures/eraser/eraser.blend b/packages/client/assets/room/furnitures/eraser/eraser.blend similarity index 100% rename from assets/client/room/furnitures/eraser/eraser.blend rename to packages/client/assets/room/furnitures/eraser/eraser.blend diff --git a/assets/client/room/furnitures/eraser/eraser.glb b/packages/client/assets/room/furnitures/eraser/eraser.glb similarity index 100% rename from assets/client/room/furnitures/eraser/eraser.glb rename to packages/client/assets/room/furnitures/eraser/eraser.glb diff --git a/assets/client/room/furnitures/facial-tissue/facial-tissue-uv.png b/packages/client/assets/room/furnitures/facial-tissue/facial-tissue-uv.png similarity index 100% rename from assets/client/room/furnitures/facial-tissue/facial-tissue-uv.png rename to packages/client/assets/room/furnitures/facial-tissue/facial-tissue-uv.png diff --git a/assets/client/room/furnitures/facial-tissue/facial-tissue.blend b/packages/client/assets/room/furnitures/facial-tissue/facial-tissue.blend similarity index 100% rename from assets/client/room/furnitures/facial-tissue/facial-tissue.blend rename to packages/client/assets/room/furnitures/facial-tissue/facial-tissue.blend diff --git a/assets/client/room/furnitures/facial-tissue/facial-tissue.glb b/packages/client/assets/room/furnitures/facial-tissue/facial-tissue.glb similarity index 100% rename from assets/client/room/furnitures/facial-tissue/facial-tissue.glb rename to packages/client/assets/room/furnitures/facial-tissue/facial-tissue.glb diff --git a/assets/client/room/furnitures/facial-tissue/facial-tissue.png b/packages/client/assets/room/furnitures/facial-tissue/facial-tissue.png similarity index 100% rename from assets/client/room/furnitures/facial-tissue/facial-tissue.png rename to packages/client/assets/room/furnitures/facial-tissue/facial-tissue.png diff --git a/assets/client/room/furnitures/facial-tissue/facial-tissue.psd b/packages/client/assets/room/furnitures/facial-tissue/facial-tissue.psd similarity index 100% rename from assets/client/room/furnitures/facial-tissue/facial-tissue.psd rename to packages/client/assets/room/furnitures/facial-tissue/facial-tissue.psd diff --git a/assets/client/room/furnitures/fan/fan.blend b/packages/client/assets/room/furnitures/fan/fan.blend similarity index 100% rename from assets/client/room/furnitures/fan/fan.blend rename to packages/client/assets/room/furnitures/fan/fan.blend diff --git a/assets/client/room/furnitures/fan/fan.glb b/packages/client/assets/room/furnitures/fan/fan.glb similarity index 100% rename from assets/client/room/furnitures/fan/fan.glb rename to packages/client/assets/room/furnitures/fan/fan.glb diff --git a/assets/client/room/furnitures/holo-display/holo-display.blend b/packages/client/assets/room/furnitures/holo-display/holo-display.blend similarity index 100% rename from assets/client/room/furnitures/holo-display/holo-display.blend rename to packages/client/assets/room/furnitures/holo-display/holo-display.blend diff --git a/assets/client/room/furnitures/holo-display/holo-display.glb b/packages/client/assets/room/furnitures/holo-display/holo-display.glb similarity index 100% rename from assets/client/room/furnitures/holo-display/holo-display.glb rename to packages/client/assets/room/furnitures/holo-display/holo-display.glb diff --git a/assets/client/room/furnitures/holo-display/ray-uv.png b/packages/client/assets/room/furnitures/holo-display/ray-uv.png similarity index 100% rename from assets/client/room/furnitures/holo-display/ray-uv.png rename to packages/client/assets/room/furnitures/holo-display/ray-uv.png diff --git a/assets/client/room/furnitures/holo-display/ray.png b/packages/client/assets/room/furnitures/holo-display/ray.png similarity index 100% rename from assets/client/room/furnitures/holo-display/ray.png rename to packages/client/assets/room/furnitures/holo-display/ray.png diff --git a/assets/client/room/furnitures/keyboard/keyboard.blend b/packages/client/assets/room/furnitures/keyboard/keyboard.blend similarity index 100% rename from assets/client/room/furnitures/keyboard/keyboard.blend rename to packages/client/assets/room/furnitures/keyboard/keyboard.blend diff --git a/assets/client/room/furnitures/keyboard/keyboard.glb b/packages/client/assets/room/furnitures/keyboard/keyboard.glb similarity index 100% rename from assets/client/room/furnitures/keyboard/keyboard.glb rename to packages/client/assets/room/furnitures/keyboard/keyboard.glb diff --git a/assets/client/room/furnitures/low-table/low-table.blend b/packages/client/assets/room/furnitures/low-table/low-table.blend similarity index 100% rename from assets/client/room/furnitures/low-table/low-table.blend rename to packages/client/assets/room/furnitures/low-table/low-table.blend diff --git a/assets/client/room/furnitures/low-table/low-table.glb b/packages/client/assets/room/furnitures/low-table/low-table.glb similarity index 100% rename from assets/client/room/furnitures/low-table/low-table.glb rename to packages/client/assets/room/furnitures/low-table/low-table.glb diff --git a/assets/client/room/furnitures/mat/mat.blend b/packages/client/assets/room/furnitures/mat/mat.blend similarity index 100% rename from assets/client/room/furnitures/mat/mat.blend rename to packages/client/assets/room/furnitures/mat/mat.blend diff --git a/assets/client/room/furnitures/mat/mat.glb b/packages/client/assets/room/furnitures/mat/mat.glb similarity index 100% rename from assets/client/room/furnitures/mat/mat.glb rename to packages/client/assets/room/furnitures/mat/mat.glb diff --git a/assets/client/room/furnitures/milk/milk-uv.png b/packages/client/assets/room/furnitures/milk/milk-uv.png similarity index 100% rename from assets/client/room/furnitures/milk/milk-uv.png rename to packages/client/assets/room/furnitures/milk/milk-uv.png diff --git a/assets/client/room/furnitures/milk/milk.blend b/packages/client/assets/room/furnitures/milk/milk.blend similarity index 100% rename from assets/client/room/furnitures/milk/milk.blend rename to packages/client/assets/room/furnitures/milk/milk.blend diff --git a/assets/client/room/furnitures/milk/milk.glb b/packages/client/assets/room/furnitures/milk/milk.glb similarity index 100% rename from assets/client/room/furnitures/milk/milk.glb rename to packages/client/assets/room/furnitures/milk/milk.glb diff --git a/assets/client/room/furnitures/milk/milk.png b/packages/client/assets/room/furnitures/milk/milk.png similarity index 100% rename from assets/client/room/furnitures/milk/milk.png rename to packages/client/assets/room/furnitures/milk/milk.png diff --git a/assets/client/room/furnitures/milk/milk.psd b/packages/client/assets/room/furnitures/milk/milk.psd similarity index 100% rename from assets/client/room/furnitures/milk/milk.psd rename to packages/client/assets/room/furnitures/milk/milk.psd diff --git a/assets/client/room/furnitures/monitor/monitor.blend b/packages/client/assets/room/furnitures/monitor/monitor.blend similarity index 100% rename from assets/client/room/furnitures/monitor/monitor.blend rename to packages/client/assets/room/furnitures/monitor/monitor.blend diff --git a/assets/client/room/furnitures/monitor/monitor.glb b/packages/client/assets/room/furnitures/monitor/monitor.glb similarity index 100% rename from assets/client/room/furnitures/monitor/monitor.glb rename to packages/client/assets/room/furnitures/monitor/monitor.glb diff --git a/assets/client/room/furnitures/monitor/monitor.psd b/packages/client/assets/room/furnitures/monitor/monitor.psd similarity index 100% rename from assets/client/room/furnitures/monitor/monitor.psd rename to packages/client/assets/room/furnitures/monitor/monitor.psd diff --git a/assets/client/room/furnitures/monitor/screen-uv.png b/packages/client/assets/room/furnitures/monitor/screen-uv.png similarity index 100% rename from assets/client/room/furnitures/monitor/screen-uv.png rename to packages/client/assets/room/furnitures/monitor/screen-uv.png diff --git a/assets/client/room/furnitures/monitor/screen.jpg b/packages/client/assets/room/furnitures/monitor/screen.jpg similarity index 100% rename from assets/client/room/furnitures/monitor/screen.jpg rename to packages/client/assets/room/furnitures/monitor/screen.jpg diff --git a/assets/client/room/furnitures/moon/moon.blend b/packages/client/assets/room/furnitures/moon/moon.blend similarity index 100% rename from assets/client/room/furnitures/moon/moon.blend rename to packages/client/assets/room/furnitures/moon/moon.blend diff --git a/assets/client/room/furnitures/moon/moon.glb b/packages/client/assets/room/furnitures/moon/moon.glb similarity index 100% rename from assets/client/room/furnitures/moon/moon.glb rename to packages/client/assets/room/furnitures/moon/moon.glb diff --git a/assets/client/room/furnitures/moon/moon.jpg b/packages/client/assets/room/furnitures/moon/moon.jpg similarity index 100% rename from assets/client/room/furnitures/moon/moon.jpg rename to packages/client/assets/room/furnitures/moon/moon.jpg diff --git a/assets/client/room/furnitures/mousepad/mousepad.blend b/packages/client/assets/room/furnitures/mousepad/mousepad.blend similarity index 100% rename from assets/client/room/furnitures/mousepad/mousepad.blend rename to packages/client/assets/room/furnitures/mousepad/mousepad.blend diff --git a/assets/client/room/furnitures/mousepad/mousepad.glb b/packages/client/assets/room/furnitures/mousepad/mousepad.glb similarity index 100% rename from assets/client/room/furnitures/mousepad/mousepad.glb rename to packages/client/assets/room/furnitures/mousepad/mousepad.glb diff --git a/assets/client/room/furnitures/pc/motherboard-uv.png b/packages/client/assets/room/furnitures/pc/motherboard-uv.png similarity index 100% rename from assets/client/room/furnitures/pc/motherboard-uv.png rename to packages/client/assets/room/furnitures/pc/motherboard-uv.png diff --git a/assets/client/room/furnitures/pc/motherboard-uv.psd b/packages/client/assets/room/furnitures/pc/motherboard-uv.psd similarity index 100% rename from assets/client/room/furnitures/pc/motherboard-uv.psd rename to packages/client/assets/room/furnitures/pc/motherboard-uv.psd diff --git a/assets/client/room/furnitures/pc/motherboard.jpg b/packages/client/assets/room/furnitures/pc/motherboard.jpg similarity index 100% rename from assets/client/room/furnitures/pc/motherboard.jpg rename to packages/client/assets/room/furnitures/pc/motherboard.jpg diff --git a/assets/client/room/furnitures/pc/pc.blend b/packages/client/assets/room/furnitures/pc/pc.blend similarity index 100% rename from assets/client/room/furnitures/pc/pc.blend rename to packages/client/assets/room/furnitures/pc/pc.blend diff --git a/assets/client/room/furnitures/pc/pc.glb b/packages/client/assets/room/furnitures/pc/pc.glb similarity index 100% rename from assets/client/room/furnitures/pc/pc.glb rename to packages/client/assets/room/furnitures/pc/pc.glb diff --git a/assets/client/room/furnitures/pencil/pencil.blend b/packages/client/assets/room/furnitures/pencil/pencil.blend similarity index 100% rename from assets/client/room/furnitures/pencil/pencil.blend rename to packages/client/assets/room/furnitures/pencil/pencil.blend diff --git a/assets/client/room/furnitures/pencil/pencil.glb b/packages/client/assets/room/furnitures/pencil/pencil.glb similarity index 100% rename from assets/client/room/furnitures/pencil/pencil.glb rename to packages/client/assets/room/furnitures/pencil/pencil.glb diff --git a/assets/client/room/furnitures/photoframe/photo-uv.png b/packages/client/assets/room/furnitures/photoframe/photo-uv.png similarity index 100% rename from assets/client/room/furnitures/photoframe/photo-uv.png rename to packages/client/assets/room/furnitures/photoframe/photo-uv.png diff --git a/assets/client/room/furnitures/photoframe/photo.jpg b/packages/client/assets/room/furnitures/photoframe/photo.jpg similarity index 100% rename from assets/client/room/furnitures/photoframe/photo.jpg rename to packages/client/assets/room/furnitures/photoframe/photo.jpg diff --git a/assets/client/room/furnitures/photoframe/photoframe.blend b/packages/client/assets/room/furnitures/photoframe/photoframe.blend similarity index 100% rename from assets/client/room/furnitures/photoframe/photoframe.blend rename to packages/client/assets/room/furnitures/photoframe/photoframe.blend diff --git a/assets/client/room/furnitures/photoframe/photoframe.glb b/packages/client/assets/room/furnitures/photoframe/photoframe.glb similarity index 100% rename from assets/client/room/furnitures/photoframe/photoframe.glb rename to packages/client/assets/room/furnitures/photoframe/photoframe.glb diff --git a/assets/client/room/furnitures/piano/piano.blend b/packages/client/assets/room/furnitures/piano/piano.blend similarity index 100% rename from assets/client/room/furnitures/piano/piano.blend rename to packages/client/assets/room/furnitures/piano/piano.blend diff --git a/assets/client/room/furnitures/piano/piano.glb b/packages/client/assets/room/furnitures/piano/piano.glb similarity index 100% rename from assets/client/room/furnitures/piano/piano.glb rename to packages/client/assets/room/furnitures/piano/piano.glb diff --git a/assets/client/room/furnitures/pinguin/pinguin.blend b/packages/client/assets/room/furnitures/pinguin/pinguin.blend similarity index 100% rename from assets/client/room/furnitures/pinguin/pinguin.blend rename to packages/client/assets/room/furnitures/pinguin/pinguin.blend diff --git a/assets/client/room/furnitures/pinguin/pinguin.glb b/packages/client/assets/room/furnitures/pinguin/pinguin.glb similarity index 100% rename from assets/client/room/furnitures/pinguin/pinguin.glb rename to packages/client/assets/room/furnitures/pinguin/pinguin.glb diff --git a/assets/client/room/furnitures/plant/plant-soil-uv.png b/packages/client/assets/room/furnitures/plant/plant-soil-uv.png similarity index 100% rename from assets/client/room/furnitures/plant/plant-soil-uv.png rename to packages/client/assets/room/furnitures/plant/plant-soil-uv.png diff --git a/assets/client/room/furnitures/plant/plant-soil.png b/packages/client/assets/room/furnitures/plant/plant-soil.png similarity index 100% rename from assets/client/room/furnitures/plant/plant-soil.png rename to packages/client/assets/room/furnitures/plant/plant-soil.png diff --git a/assets/client/room/furnitures/plant/plant-soil.psd b/packages/client/assets/room/furnitures/plant/plant-soil.psd similarity index 100% rename from assets/client/room/furnitures/plant/plant-soil.psd rename to packages/client/assets/room/furnitures/plant/plant-soil.psd diff --git a/assets/client/room/furnitures/plant/plant.blend b/packages/client/assets/room/furnitures/plant/plant.blend similarity index 100% rename from assets/client/room/furnitures/plant/plant.blend rename to packages/client/assets/room/furnitures/plant/plant.blend diff --git a/assets/client/room/furnitures/plant/plant.glb b/packages/client/assets/room/furnitures/plant/plant.glb similarity index 100% rename from assets/client/room/furnitures/plant/plant.glb rename to packages/client/assets/room/furnitures/plant/plant.glb diff --git a/assets/client/room/furnitures/plant2/plant2.blend b/packages/client/assets/room/furnitures/plant2/plant2.blend similarity index 100% rename from assets/client/room/furnitures/plant2/plant2.blend rename to packages/client/assets/room/furnitures/plant2/plant2.blend diff --git a/assets/client/room/furnitures/plant2/plant2.glb b/packages/client/assets/room/furnitures/plant2/plant2.glb similarity index 100% rename from assets/client/room/furnitures/plant2/plant2.glb rename to packages/client/assets/room/furnitures/plant2/plant2.glb diff --git a/assets/client/room/furnitures/plant2/soil.png b/packages/client/assets/room/furnitures/plant2/soil.png similarity index 100% rename from assets/client/room/furnitures/plant2/soil.png rename to packages/client/assets/room/furnitures/plant2/soil.png diff --git a/assets/client/room/furnitures/poster-h/poster-h.blend b/packages/client/assets/room/furnitures/poster-h/poster-h.blend similarity index 100% rename from assets/client/room/furnitures/poster-h/poster-h.blend rename to packages/client/assets/room/furnitures/poster-h/poster-h.blend diff --git a/assets/client/room/furnitures/poster-h/poster-h.glb b/packages/client/assets/room/furnitures/poster-h/poster-h.glb similarity index 100% rename from assets/client/room/furnitures/poster-h/poster-h.glb rename to packages/client/assets/room/furnitures/poster-h/poster-h.glb diff --git a/assets/client/room/furnitures/poster-h/uv.png b/packages/client/assets/room/furnitures/poster-h/uv.png similarity index 100% rename from assets/client/room/furnitures/poster-h/uv.png rename to packages/client/assets/room/furnitures/poster-h/uv.png diff --git a/assets/client/room/furnitures/poster-v/poster-v.blend b/packages/client/assets/room/furnitures/poster-v/poster-v.blend similarity index 100% rename from assets/client/room/furnitures/poster-v/poster-v.blend rename to packages/client/assets/room/furnitures/poster-v/poster-v.blend diff --git a/assets/client/room/furnitures/poster-v/poster-v.glb b/packages/client/assets/room/furnitures/poster-v/poster-v.glb similarity index 100% rename from assets/client/room/furnitures/poster-v/poster-v.glb rename to packages/client/assets/room/furnitures/poster-v/poster-v.glb diff --git a/assets/client/room/furnitures/poster-v/uv.png b/packages/client/assets/room/furnitures/poster-v/uv.png similarity index 100% rename from assets/client/room/furnitures/poster-v/uv.png rename to packages/client/assets/room/furnitures/poster-v/uv.png diff --git a/assets/client/room/furnitures/pudding/pudding.blend b/packages/client/assets/room/furnitures/pudding/pudding.blend similarity index 100% rename from assets/client/room/furnitures/pudding/pudding.blend rename to packages/client/assets/room/furnitures/pudding/pudding.blend diff --git a/assets/client/room/furnitures/pudding/pudding.glb b/packages/client/assets/room/furnitures/pudding/pudding.glb similarity index 100% rename from assets/client/room/furnitures/pudding/pudding.glb rename to packages/client/assets/room/furnitures/pudding/pudding.glb diff --git a/assets/client/room/furnitures/rubik-cube/rubik-cube.blend b/packages/client/assets/room/furnitures/rubik-cube/rubik-cube.blend similarity index 100% rename from assets/client/room/furnitures/rubik-cube/rubik-cube.blend rename to packages/client/assets/room/furnitures/rubik-cube/rubik-cube.blend diff --git a/assets/client/room/furnitures/rubik-cube/rubik-cube.glb b/packages/client/assets/room/furnitures/rubik-cube/rubik-cube.glb similarity index 100% rename from assets/client/room/furnitures/rubik-cube/rubik-cube.glb rename to packages/client/assets/room/furnitures/rubik-cube/rubik-cube.glb diff --git a/assets/client/room/furnitures/server/rack-uv.png b/packages/client/assets/room/furnitures/server/rack-uv.png similarity index 100% rename from assets/client/room/furnitures/server/rack-uv.png rename to packages/client/assets/room/furnitures/server/rack-uv.png diff --git a/assets/client/room/furnitures/server/rack.png b/packages/client/assets/room/furnitures/server/rack.png similarity index 100% rename from assets/client/room/furnitures/server/rack.png rename to packages/client/assets/room/furnitures/server/rack.png diff --git a/assets/client/room/furnitures/server/server.blend b/packages/client/assets/room/furnitures/server/server.blend similarity index 100% rename from assets/client/room/furnitures/server/server.blend rename to packages/client/assets/room/furnitures/server/server.blend diff --git a/assets/client/room/furnitures/server/server.glb b/packages/client/assets/room/furnitures/server/server.glb similarity index 100% rename from assets/client/room/furnitures/server/server.glb rename to packages/client/assets/room/furnitures/server/server.glb diff --git a/assets/client/room/furnitures/server/server.png b/packages/client/assets/room/furnitures/server/server.png similarity index 100% rename from assets/client/room/furnitures/server/server.png rename to packages/client/assets/room/furnitures/server/server.png diff --git a/assets/client/room/furnitures/server/uv.png b/packages/client/assets/room/furnitures/server/uv.png similarity index 100% rename from assets/client/room/furnitures/server/uv.png rename to packages/client/assets/room/furnitures/server/uv.png diff --git a/assets/client/room/furnitures/sofa/sofa.blend b/packages/client/assets/room/furnitures/sofa/sofa.blend similarity index 100% rename from assets/client/room/furnitures/sofa/sofa.blend rename to packages/client/assets/room/furnitures/sofa/sofa.blend diff --git a/assets/client/room/furnitures/sofa/sofa.glb b/packages/client/assets/room/furnitures/sofa/sofa.glb similarity index 100% rename from assets/client/room/furnitures/sofa/sofa.glb rename to packages/client/assets/room/furnitures/sofa/sofa.glb diff --git a/assets/client/room/furnitures/spiral/spiral.blend b/packages/client/assets/room/furnitures/spiral/spiral.blend similarity index 100% rename from assets/client/room/furnitures/spiral/spiral.blend rename to packages/client/assets/room/furnitures/spiral/spiral.blend diff --git a/assets/client/room/furnitures/spiral/spiral.glb b/packages/client/assets/room/furnitures/spiral/spiral.glb similarity index 100% rename from assets/client/room/furnitures/spiral/spiral.glb rename to packages/client/assets/room/furnitures/spiral/spiral.glb diff --git a/assets/client/room/furnitures/tv/screen-uv.png b/packages/client/assets/room/furnitures/tv/screen-uv.png similarity index 100% rename from assets/client/room/furnitures/tv/screen-uv.png rename to packages/client/assets/room/furnitures/tv/screen-uv.png diff --git a/assets/client/room/furnitures/tv/tv.blend b/packages/client/assets/room/furnitures/tv/tv.blend similarity index 100% rename from assets/client/room/furnitures/tv/tv.blend rename to packages/client/assets/room/furnitures/tv/tv.blend diff --git a/assets/client/room/furnitures/tv/tv.glb b/packages/client/assets/room/furnitures/tv/tv.glb similarity index 100% rename from assets/client/room/furnitures/tv/tv.glb rename to packages/client/assets/room/furnitures/tv/tv.glb diff --git a/assets/client/room/furnitures/wall-clock/wall-clock.blend b/packages/client/assets/room/furnitures/wall-clock/wall-clock.blend similarity index 100% rename from assets/client/room/furnitures/wall-clock/wall-clock.blend rename to packages/client/assets/room/furnitures/wall-clock/wall-clock.blend diff --git a/assets/client/room/furnitures/wall-clock/wall-clock.glb b/packages/client/assets/room/furnitures/wall-clock/wall-clock.glb similarity index 100% rename from assets/client/room/furnitures/wall-clock/wall-clock.glb rename to packages/client/assets/room/furnitures/wall-clock/wall-clock.glb diff --git a/assets/client/room/rooms/default/default.blend b/packages/client/assets/room/rooms/default/default.blend similarity index 100% rename from assets/client/room/rooms/default/default.blend rename to packages/client/assets/room/rooms/default/default.blend diff --git a/assets/client/room/rooms/default/default.glb b/packages/client/assets/room/rooms/default/default.glb similarity index 100% rename from assets/client/room/rooms/default/default.glb rename to packages/client/assets/room/rooms/default/default.glb diff --git a/assets/client/room/rooms/washitsu/husuma-uv.png b/packages/client/assets/room/rooms/washitsu/husuma-uv.png similarity index 100% rename from assets/client/room/rooms/washitsu/husuma-uv.png rename to packages/client/assets/room/rooms/washitsu/husuma-uv.png diff --git a/assets/client/room/rooms/washitsu/husuma.png b/packages/client/assets/room/rooms/washitsu/husuma.png similarity index 100% rename from assets/client/room/rooms/washitsu/husuma.png rename to packages/client/assets/room/rooms/washitsu/husuma.png diff --git a/assets/client/room/rooms/washitsu/tatami-single1600.png b/packages/client/assets/room/rooms/washitsu/tatami-single1600.png similarity index 100% rename from assets/client/room/rooms/washitsu/tatami-single1600.png rename to packages/client/assets/room/rooms/washitsu/tatami-single1600.png diff --git a/assets/client/room/rooms/washitsu/tatami-uv.png b/packages/client/assets/room/rooms/washitsu/tatami-uv.png similarity index 100% rename from assets/client/room/rooms/washitsu/tatami-uv.png rename to packages/client/assets/room/rooms/washitsu/tatami-uv.png diff --git a/assets/client/room/rooms/washitsu/tatami.afdesign b/packages/client/assets/room/rooms/washitsu/tatami.afdesign similarity index 100% rename from assets/client/room/rooms/washitsu/tatami.afdesign rename to packages/client/assets/room/rooms/washitsu/tatami.afdesign diff --git a/assets/client/room/rooms/washitsu/tatami.png b/packages/client/assets/room/rooms/washitsu/tatami.png similarity index 100% rename from assets/client/room/rooms/washitsu/tatami.png rename to packages/client/assets/room/rooms/washitsu/tatami.png diff --git a/assets/client/room/rooms/washitsu/washitsu.blend b/packages/client/assets/room/rooms/washitsu/washitsu.blend similarity index 100% rename from assets/client/room/rooms/washitsu/washitsu.blend rename to packages/client/assets/room/rooms/washitsu/washitsu.blend diff --git a/assets/client/room/rooms/washitsu/washitsu.glb b/packages/client/assets/room/rooms/washitsu/washitsu.glb similarity index 100% rename from assets/client/room/rooms/washitsu/washitsu.glb rename to packages/client/assets/room/rooms/washitsu/washitsu.glb diff --git a/assets/client/sounds/aisha/1.mp3 b/packages/client/assets/sounds/aisha/1.mp3 similarity index 100% rename from assets/client/sounds/aisha/1.mp3 rename to packages/client/assets/sounds/aisha/1.mp3 diff --git a/assets/client/sounds/aisha/2.mp3 b/packages/client/assets/sounds/aisha/2.mp3 similarity index 100% rename from assets/client/sounds/aisha/2.mp3 rename to packages/client/assets/sounds/aisha/2.mp3 diff --git a/assets/client/sounds/aisha/3.mp3 b/packages/client/assets/sounds/aisha/3.mp3 similarity index 100% rename from assets/client/sounds/aisha/3.mp3 rename to packages/client/assets/sounds/aisha/3.mp3 diff --git a/assets/client/sounds/noizenecio/kick_gaba.mp3 b/packages/client/assets/sounds/noizenecio/kick_gaba.mp3 similarity index 100% rename from assets/client/sounds/noizenecio/kick_gaba.mp3 rename to packages/client/assets/sounds/noizenecio/kick_gaba.mp3 diff --git a/assets/client/sounds/noizenecio/kick_gaba2.mp3 b/packages/client/assets/sounds/noizenecio/kick_gaba2.mp3 similarity index 100% rename from assets/client/sounds/noizenecio/kick_gaba2.mp3 rename to packages/client/assets/sounds/noizenecio/kick_gaba2.mp3 diff --git a/assets/client/sounds/syuilo/down.mp3 b/packages/client/assets/sounds/syuilo/down.mp3 similarity index 100% rename from assets/client/sounds/syuilo/down.mp3 rename to packages/client/assets/sounds/syuilo/down.mp3 diff --git a/assets/client/sounds/syuilo/kick.mp3 b/packages/client/assets/sounds/syuilo/kick.mp3 similarity index 100% rename from assets/client/sounds/syuilo/kick.mp3 rename to packages/client/assets/sounds/syuilo/kick.mp3 diff --git a/assets/client/sounds/syuilo/pirori-square-wet.mp3 b/packages/client/assets/sounds/syuilo/pirori-square-wet.mp3 similarity index 100% rename from assets/client/sounds/syuilo/pirori-square-wet.mp3 rename to packages/client/assets/sounds/syuilo/pirori-square-wet.mp3 diff --git a/assets/client/sounds/syuilo/pirori-wet.mp3 b/packages/client/assets/sounds/syuilo/pirori-wet.mp3 similarity index 100% rename from assets/client/sounds/syuilo/pirori-wet.mp3 rename to packages/client/assets/sounds/syuilo/pirori-wet.mp3 diff --git a/assets/client/sounds/syuilo/pirori.mp3 b/packages/client/assets/sounds/syuilo/pirori.mp3 similarity index 100% rename from assets/client/sounds/syuilo/pirori.mp3 rename to packages/client/assets/sounds/syuilo/pirori.mp3 diff --git a/assets/client/sounds/syuilo/poi1.mp3 b/packages/client/assets/sounds/syuilo/poi1.mp3 similarity index 100% rename from assets/client/sounds/syuilo/poi1.mp3 rename to packages/client/assets/sounds/syuilo/poi1.mp3 diff --git a/assets/client/sounds/syuilo/poi2.mp3 b/packages/client/assets/sounds/syuilo/poi2.mp3 similarity index 100% rename from assets/client/sounds/syuilo/poi2.mp3 rename to packages/client/assets/sounds/syuilo/poi2.mp3 diff --git a/assets/client/sounds/syuilo/pope1.mp3 b/packages/client/assets/sounds/syuilo/pope1.mp3 similarity index 100% rename from assets/client/sounds/syuilo/pope1.mp3 rename to packages/client/assets/sounds/syuilo/pope1.mp3 diff --git a/assets/client/sounds/syuilo/pope2.mp3 b/packages/client/assets/sounds/syuilo/pope2.mp3 similarity index 100% rename from assets/client/sounds/syuilo/pope2.mp3 rename to packages/client/assets/sounds/syuilo/pope2.mp3 diff --git a/assets/client/sounds/syuilo/popo.mp3 b/packages/client/assets/sounds/syuilo/popo.mp3 similarity index 100% rename from assets/client/sounds/syuilo/popo.mp3 rename to packages/client/assets/sounds/syuilo/popo.mp3 diff --git a/assets/client/sounds/syuilo/queue-jammed.mp3 b/packages/client/assets/sounds/syuilo/queue-jammed.mp3 similarity index 100% rename from assets/client/sounds/syuilo/queue-jammed.mp3 rename to packages/client/assets/sounds/syuilo/queue-jammed.mp3 diff --git a/assets/client/sounds/syuilo/reverved.mp3 b/packages/client/assets/sounds/syuilo/reverved.mp3 similarity index 100% rename from assets/client/sounds/syuilo/reverved.mp3 rename to packages/client/assets/sounds/syuilo/reverved.mp3 diff --git a/assets/client/sounds/syuilo/ryukyu.mp3 b/packages/client/assets/sounds/syuilo/ryukyu.mp3 similarity index 100% rename from assets/client/sounds/syuilo/ryukyu.mp3 rename to packages/client/assets/sounds/syuilo/ryukyu.mp3 diff --git a/assets/client/sounds/syuilo/snare.mp3 b/packages/client/assets/sounds/syuilo/snare.mp3 similarity index 100% rename from assets/client/sounds/syuilo/snare.mp3 rename to packages/client/assets/sounds/syuilo/snare.mp3 diff --git a/assets/client/sounds/syuilo/square-pico.mp3 b/packages/client/assets/sounds/syuilo/square-pico.mp3 similarity index 100% rename from assets/client/sounds/syuilo/square-pico.mp3 rename to packages/client/assets/sounds/syuilo/square-pico.mp3 diff --git a/assets/client/sounds/syuilo/triple.mp3 b/packages/client/assets/sounds/syuilo/triple.mp3 similarity index 100% rename from assets/client/sounds/syuilo/triple.mp3 rename to packages/client/assets/sounds/syuilo/triple.mp3 diff --git a/assets/client/sounds/syuilo/up.mp3 b/packages/client/assets/sounds/syuilo/up.mp3 similarity index 100% rename from assets/client/sounds/syuilo/up.mp3 rename to packages/client/assets/sounds/syuilo/up.mp3 diff --git a/assets/client/sounds/syuilo/waon.mp3 b/packages/client/assets/sounds/syuilo/waon.mp3 similarity index 100% rename from assets/client/sounds/syuilo/waon.mp3 rename to packages/client/assets/sounds/syuilo/waon.mp3 diff --git a/assets/client/sparkle-spritesheet.png b/packages/client/assets/sparkle-spritesheet.png similarity index 100% rename from assets/client/sparkle-spritesheet.png rename to packages/client/assets/sparkle-spritesheet.png diff --git a/assets/client/unread.svg b/packages/client/assets/unread.svg similarity index 100% rename from assets/client/unread.svg rename to packages/client/assets/unread.svg diff --git a/packages/client/package.json b/packages/client/package.json new file mode 100644 index 000000000..24345b969 --- /dev/null +++ b/packages/client/package.json @@ -0,0 +1,163 @@ +{ + "private": true, + "scripts": { + "watch": "webpack --watch", + "build": "webpack" + }, + "resolutions": { + "chokidar": "^3.3.1", + "lodash": "^4.17.21" + }, + "dependencies": { + "@discordapp/twemoji": "13.1.0", + "@elastic/elasticsearch": "7.11.0", + "@sentry/browser": "5.29.2", + "@sentry/tracing": "5.29.2", + "@sinonjs/fake-timers": "7.1.2", + "@syuilo/aiscript": "0.11.1", + "@types/dateformat": "3.0.1", + "@types/escape-regexp": "0.0.0", + "@types/glob": "7.2.0", + "@types/gulp": "4.0.9", + "@types/gulp-rename": "2.0.1", + "@types/is-url": "1.2.30", + "@types/js-yaml": "4.0.4", + "@types/katex": "0.11.1", + "@types/matter-js": "0.17.6", + "@types/mocha": "8.2.3", + "@types/node": "16.11.7", + "@types/node-fetch": "2.5.12", + "@types/nodemailer": "6.4.4", + "@types/nprogress": "0.2.0", + "@types/oauth": "0.9.1", + "@types/parse5": "6.0.2", + "@types/parsimmon": "1.10.6", + "@types/portscanner": "2.1.1", + "@types/pug": "2.0.5", + "@types/punycode": "2.1.0", + "@types/qrcode": "1.4.1", + "@types/random-seed": "0.3.3", + "@types/rename": "1.0.4", + "@types/request-stats": "3.0.0", + "@types/rimraf": "3.0.2", + "@types/seedrandom": "2.4.28", + "@types/sinonjs__fake-timers": "6.0.4", + "@types/speakeasy": "2.0.6", + "@types/throttle-debounce": "2.1.0", + "@types/tinycolor2": "1.4.3", + "@types/tmp": "0.2.2", + "@types/uuid": "8.3.1", + "@types/web-push": "3.3.2", + "@types/webpack": "5.28.0", + "@types/webpack-stream": "3.2.12", + "@types/websocket": "1.0.4", + "@types/ws": "8.2.0", + "@typescript-eslint/parser": "5.1.0", + "@vue/compiler-sfc": "3.2.21", + "abort-controller": "3.0.0", + "autobind-decorator": "2.4.0", + "autosize": "4.0.4", + "autwh": "0.1.0", + "blurhash": "1.1.4", + "broadcast-channel": "4.5.0", + "chart.js": "3.6.0", + "chartjs-adapter-date-fns": "2.0.0", + "chartjs-plugin-zoom": "1.1.1", + "compare-versions": "3.6.0", + "concurrently": "6.3.0", + "content-disposition": "0.5.3", + "crc-32": "1.2.0", + "css-loader": "6.5.1", + "cssnano": "5.0.10", + "date-fns": "2.25.0", + "dateformat": "4.5.1", + "deep-email-validator": "0.1.18", + "escape-regexp": "0.0.1", + "eslint": "8.2.0", + "eslint-plugin-vue": "8.0.3", + "eventemitter3": "4.0.7", + "feed": "4.2.2", + "glob": "7.2.0", + "got": "11.8.2", + "idb-keyval": "5.1.3", + "insert-text-at-cursor": "0.3.0", + "ip-cidr": "3.0.4", + "is-svg": "4.3.1", + "js-yaml": "4.1.0", + "json5": "2.2.0", + "json5-loader": "4.0.1", + "katex": "0.13.18", + "langmap": "0.0.16", + "matter-js": "0.17.1", + "mfm-js": "0.20.0", + "misskey-js": "0.0.10", + "mocha": "8.4.0", + "ms": "2.1.3", + "nested-property": "4.0.0", + "node-fetch": "2.6.1", + "parse5": "6.0.1", + "photoswipe": "git://github.com/dimsemenov/photoswipe#v5-beta", + "portscanner": "2.2.0", + "postcss": "8.3.11", + "postcss-loader": "6.2.0", + "prismjs": "1.25.0", + "private-ip": "2.3.3", + "probe-image-size": "7.2.1", + "promise-limit": "2.7.0", + "pug": "3.0.2", + "punycode": "2.1.1", + "pureimage": "0.3.5", + "qrcode": "1.4.4", + "random-seed": "0.3.0", + "ratelimiter": "3.4.1", + "reflect-metadata": "0.1.13", + "rename": "1.0.4", + "request-stats": "3.0.0", + "rimraf": "3.0.2", + "rndstr": "1.0.0", + "s-age": "1.1.2", + "sass": "1.43.4", + "sass-loader": "12.3.0", + "seedrandom": "3.0.5", + "speakeasy": "2.0.0", + "strict-event-emitter-types": "2.0.0", + "stringz": "2.1.0", + "style-loader": "3.3.1", + "syuilo-password-strength": "0.0.1", + "textarea-caret": "3.1.0", + "three": "0.117.1", + "throttle-debounce": "3.0.1", + "tinycolor2": "1.4.2", + "tmp": "0.2.1", + "ts-loader": "9.2.6", + "ts-node": "10.4.0", + "tsc-alias": "1.3.10", + "tsconfig-paths": "3.11.0", + "tslint": "6.1.3", + "tslint-sonarts": "1.9.0", + "twemoji-parser": "13.1.0", + "typescript": "4.4.4", + "uuid": "8.3.2", + "v-debounce": "0.1.2", + "vanilla-tilt": "1.7.2", + "vue": "3.2.21", + "vue-loader": "16.7.0", + "vue-prism-editor": "2.0.0-alpha.2", + "vue-router": "4.0.5", + "vue-style-loader": "4.1.3", + "vue-svg-loader": "0.17.0-beta.2", + "vuedraggable": "4.0.1", + "web-push": "3.4.5", + "webpack": "5.63.0", + "webpack-cli": "4.9.1", + "websocket": "1.0.34", + "ws": "8.2.3" + }, + "devDependencies": { + "@redocly/openapi-core": "1.0.0-beta.54", + "@types/fluent-ffmpeg": "2.1.17", + "cross-env": "7.0.3", + "cypress": "8.5.0", + "start-server-and-test": "1.14.0" + } +} diff --git a/src/client/account.ts b/packages/client/src/account.ts similarity index 93% rename from src/client/account.ts rename to packages/client/src/account.ts index a2165ebed..ef7eb8f60 100644 --- a/src/client/account.ts +++ b/packages/client/src/account.ts @@ -1,8 +1,8 @@ -import { del, get, set } from '@client/scripts/idb-proxy'; +import { del, get, set } from '@/scripts/idb-proxy'; import { reactive } from 'vue'; -import { apiUrl } from '@client/config'; -import { waiting, api, popup, popupMenu, success } from '@client/os'; -import { unisonReload, reloadChannel } from '@client/scripts/unison-reload'; +import { apiUrl } from '@/config'; +import { waiting, api, popup, popupMenu, success } from '@/os'; +import { unisonReload, reloadChannel } from '@/scripts/unison-reload'; import { showSuspendedDialog } from './scripts/show-suspended-dialog'; import { i18n } from './i18n'; @@ -134,7 +134,7 @@ export async function login(token: Account['token'], redirect?: string) { export async function openAccountMenu(ev: MouseEvent) { function showSigninDialog() { - popup(import('@client/components/signin-dialog.vue'), {}, { + popup(import('@/components/signin-dialog.vue'), {}, { done: res => { addAccount(res.id, res.i); success(); @@ -143,7 +143,7 @@ export async function openAccountMenu(ev: MouseEvent) { } function createAccount() { - popup(import('@client/components/signup-dialog.vue'), {}, { + popup(import('@/components/signup-dialog.vue'), {}, { done: res => { addAccount(res.id, res.i); switchAccountWithToken(res.i); diff --git a/src/client/components/abuse-report-window.vue b/packages/client/src/components/abuse-report-window.vue similarity index 87% rename from src/client/components/abuse-report-window.vue rename to packages/client/src/components/abuse-report-window.vue index 21a19385a..700ce30bb 100644 --- a/src/client/components/abuse-report-window.vue +++ b/packages/client/src/components/abuse-report-window.vue @@ -24,10 +24,10 @@ diff --git a/src/client/components/formula.vue b/packages/client/src/components/formula.vue similarity index 93% rename from src/client/components/formula.vue rename to packages/client/src/components/formula.vue index 6722ce38a..fbb40bace 100644 --- a/src/client/components/formula.vue +++ b/packages/client/src/components/formula.vue @@ -3,7 +3,7 @@ diff --git a/src/client/components/ui/info.vue b/packages/client/src/components/ui/info.vue similarity index 95% rename from src/client/components/ui/info.vue rename to packages/client/src/components/ui/info.vue index f6b2edf26..8f5986baf 100644 --- a/src/client/components/ui/info.vue +++ b/packages/client/src/components/ui/info.vue @@ -8,7 +8,7 @@ diff --git a/src/client/components/user-list.vue b/packages/client/src/components/user-list.vue similarity index 94% rename from src/client/components/user-list.vue rename to packages/client/src/components/user-list.vue index 9c9118397..733dbe0ad 100644 --- a/src/client/components/user-list.vue +++ b/packages/client/src/components/user-list.vue @@ -16,9 +16,9 @@ diff --git a/src/client/pages/about-misskey.vue b/packages/client/src/pages/about-misskey.vue similarity index 90% rename from src/client/pages/about-misskey.vue rename to packages/client/src/pages/about-misskey.vue index decee3a0f..c428c1ad8 100644 --- a/src/client/pages/about-misskey.vue +++ b/packages/client/src/pages/about-misskey.vue @@ -4,7 +4,7 @@
- +
Misskey
v{{ version }}
@@ -54,14 +54,14 @@ - - diff --git a/packages/client/src/pages/admin/instance.vue b/packages/client/src/pages/admin/instance.vue index 614eaa304..26eefe243 100644 --- a/packages/client/src/pages/admin/instance.vue +++ b/packages/client/src/pages/admin/instance.vue @@ -125,7 +125,6 @@ + + diff --git a/packages/client/src/components/renote.details.vue b/packages/client/src/components/renote.details.vue new file mode 100644 index 000000000..128d97d8d --- /dev/null +++ b/packages/client/src/components/renote.details.vue @@ -0,0 +1,46 @@ + + + + + From 5c63700d45a522f93116802893f2d0f9c9de33a1 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 12 Nov 2021 23:53:10 +0900 Subject: [PATCH 53/59] refactor(client): use composition api for tooltip logic --- .../client/src/components/note-detailed.vue | 26 ++-- packages/client/src/components/note.vue | 26 ++-- .../client/src/components/notification.vue | 38 +---- .../components/reactions-viewer.reaction.vue | 146 ++++++++---------- .../client/src/components/renote-button.vue | 126 ++++++--------- packages/client/src/scripts/use-tooltip.ts | 44 ++++++ 6 files changed, 187 insertions(+), 219 deletions(-) create mode 100644 packages/client/src/scripts/use-tooltip.ts diff --git a/packages/client/src/components/note-detailed.vue b/packages/client/src/components/note-detailed.vue index 09c05d776..3b5b12a60 100644 --- a/packages/client/src/components/note-detailed.vue +++ b/packages/client/src/components/note-detailed.vue @@ -94,7 +94,7 @@

{{ appearNote.repliesCount }}

- + @@ -132,16 +132,16 @@ import XMediaList from './media-list.vue'; import XCwButton from './cw-button.vue'; import XPoll from './poll.vue'; import XRenoteButton from './renote-button.vue'; -import { pleaseLogin } from '@client/scripts/please-login'; -import { focusPrev, focusNext } from '@client/scripts/focus'; -import { url } from '@client/config'; -import copyToClipboard from '@client/scripts/copy-to-clipboard'; -import { checkWordMute } from '@client/scripts/check-word-mute'; -import { userPage } from '@client/filters/user'; -import * as os from '@client/os'; -import { noteActions, noteViewInterruptors } from '@client/store'; -import { reactionPicker } from '@client/scripts/reaction-picker'; -import { extractUrlFromMfm } from '@/misc/extract-url-from-mfm'; +import { pleaseLogin } from '@/scripts/please-login'; +import { focusPrev, focusNext } from '@/scripts/focus'; +import { url } from '@/config'; +import copyToClipboard from '@/scripts/copy-to-clipboard'; +import { checkWordMute } from '@/scripts/check-word-mute'; +import { userPage } from '@/filters/user'; +import * as os from '@/os'; +import { noteActions, noteViewInterruptors } from '@/store'; +import { reactionPicker } from '@/scripts/reaction-picker'; +import { extractUrlFromMfm } from '@/scripts/extract-url-from-mfm'; // TODO: note.vueとほぼ同じなので共通化したい export default defineComponent({ @@ -154,8 +154,8 @@ export default defineComponent({ XCwButton, XPoll, XRenoteButton, - MkUrlPreview: defineAsyncComponent(() => import('@client/components/url-preview.vue')), - MkInstanceTicker: defineAsyncComponent(() => import('@client/components/instance-ticker.vue')), + MkUrlPreview: defineAsyncComponent(() => import('@/components/url-preview.vue')), + MkInstanceTicker: defineAsyncComponent(() => import('@/components/instance-ticker.vue')), }, inject: { diff --git a/packages/client/src/components/note.vue b/packages/client/src/components/note.vue index 19486c4df..2ab769db4 100644 --- a/packages/client/src/components/note.vue +++ b/packages/client/src/components/note.vue @@ -78,7 +78,7 @@

{{ appearNote.repliesCount }}

- + @@ -115,16 +115,16 @@ import XMediaList from './media-list.vue'; import XCwButton from './cw-button.vue'; import XPoll from './poll.vue'; import XRenoteButton from './renote-button.vue'; -import { pleaseLogin } from '@client/scripts/please-login'; -import { focusPrev, focusNext } from '@client/scripts/focus'; -import { url } from '@client/config'; -import copyToClipboard from '@client/scripts/copy-to-clipboard'; -import { checkWordMute } from '@client/scripts/check-word-mute'; -import { userPage } from '@client/filters/user'; -import * as os from '@client/os'; -import { noteActions, noteViewInterruptors } from '@client/store'; -import { reactionPicker } from '@client/scripts/reaction-picker'; -import { extractUrlFromMfm } from '@/misc/extract-url-from-mfm'; +import { pleaseLogin } from '@/scripts/please-login'; +import { focusPrev, focusNext } from '@/scripts/focus'; +import { url } from '@/config'; +import copyToClipboard from '@/scripts/copy-to-clipboard'; +import { checkWordMute } from '@/scripts/check-word-mute'; +import { userPage } from '@/filters/user'; +import * as os from '@/os'; +import { noteActions, noteViewInterruptors } from '@/store'; +import { reactionPicker } from '@/scripts/reaction-picker'; +import { extractUrlFromMfm } from '@/scripts/extract-url-from-mfm'; export default defineComponent({ components: { @@ -136,8 +136,8 @@ export default defineComponent({ XCwButton, XPoll, XRenoteButton, - MkUrlPreview: defineAsyncComponent(() => import('@client/components/url-preview.vue')), - MkInstanceTicker: defineAsyncComponent(() => import('@client/components/instance-ticker.vue')), + MkUrlPreview: defineAsyncComponent(() => import('@/components/url-preview.vue')), + MkInstanceTicker: defineAsyncComponent(() => import('@/components/instance-ticker.vue')), }, inject: { diff --git a/packages/client/src/components/notification.vue b/packages/client/src/components/notification.vue index 1f61bee6f..40670daa9 100644 --- a/packages/client/src/components/notification.vue +++ b/packages/client/src/components/notification.vue @@ -78,6 +78,7 @@ import notePage from '@/filters/note'; import { userPage } from '@/filters/user'; import { i18n } from '@/i18n'; import * as os from '@/os'; +import { useTooltip } from '@/scripts/use-tooltip'; export default defineComponent({ components: { @@ -153,47 +154,14 @@ export default defineComponent({ os.api('users/groups/invitations/reject', { invitationId: props.notification.invitation.id }); }; - let isReactionHovering = false; - let reactionTooltipTimeoutId; - - const onReactionMouseover = () => { - if (isReactionHovering) return; - isReactionHovering = true; - reactionTooltipTimeoutId = setTimeout(openReactionTooltip, 300); - }; - - const onReactionMouseleave = () => { - if (!isReactionHovering) return; - isReactionHovering = false; - clearTimeout(reactionTooltipTimeoutId); - closeReactionTooltip(); - }; - - let changeReactionTooltipShowingState: (() => void) | null; - - const openReactionTooltip = () => { - closeReactionTooltip(); - if (!isReactionHovering) return; - - const showing = ref(true); + const { onMouseover: onReactionMouseover, onMouseleave: onReactionMouseleave } = useTooltip((showing) => { os.popup(XReactionTooltip, { showing, reaction: props.notification.reaction ? props.notification.reaction.replace(/^:(\w+):$/, ':$1@.:') : props.notification.reaction, emojis: props.notification.note.emojis, source: reactionRef.value.$el, }, {}, 'closed'); - - changeReactionTooltipShowingState = () => { - showing.value = false; - }; - }; - - const closeReactionTooltip = () => { - if (changeReactionTooltipShowingState != null) { - changeReactionTooltipShowingState(); - changeReactionTooltipShowingState = null; - } - }; + }); return { getNoteSummary: (note: misskey.entities.Note) => getNoteSummary(note), diff --git a/packages/client/src/components/reactions-viewer.reaction.vue b/packages/client/src/components/reactions-viewer.reaction.vue index 47a3bb972..a7769868b 100644 --- a/packages/client/src/components/reactions-viewer.reaction.vue +++ b/packages/client/src/components/reactions-viewer.reaction.vue @@ -2,13 +2,13 @@