summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-04-25 15:20:39 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-04-25 15:20:39 +0900
commit92977f303ddc3d004418b3166606f16b1d8dec52 (patch)
tree2e122d83bf8a10c60b7cf71671900344da779a54
parentMerge branch 'develop' (diff)
parent12.79.1 (diff)
downloadmisskey-92977f303ddc3d004418b3166606f16b1d8dec52.tar.gz
misskey-92977f303ddc3d004418b3166606f16b1d8dec52.tar.bz2
misskey-92977f303ddc3d004418b3166606f16b1d8dec52.zip
Merge branch 'develop'
Diffstat (limited to '')
-rw-r--r--gulpfile.ts2
-rw-r--r--locales/de-DE.yml9
-rw-r--r--locales/en-US.yml9
-rw-r--r--locales/fr-FR.yml16
-rw-r--r--locales/it-IT.yml18
-rw-r--r--locales/ko-KR.yml1
-rw-r--r--locales/zh-CN.yml9
-rw-r--r--package.json45
-rw-r--r--src/client/components/launch-pad.vue10
-rw-r--r--src/client/pages/about.vue96
-rw-r--r--src/client/pages/gallery/post.vue14
-rw-r--r--src/client/pages/instance-info.vue3
-rw-r--r--src/client/pages/page.vue199
-rw-r--r--src/client/store.ts3
-rw-r--r--src/client/ui/chat/index.vue2
-rw-r--r--src/client/ui/deck/main-column.vue2
-rw-r--r--src/client/ui/default.sidebar.vue25
-rw-r--r--src/client/ui/default.vue2
-rw-r--r--src/client/ui/universal.vue2
-rw-r--r--src/misc/api-permissions.ts4
-rw-r--r--yarn.lock306
21 files changed, 499 insertions, 278 deletions
diff --git a/gulpfile.ts b/gulpfile.ts
index bcd50890e2..660dfb013e 100644
--- a/gulpfile.ts
+++ b/gulpfile.ts
@@ -5,7 +5,7 @@
import * as fs from 'fs';
import * as gulp from 'gulp';
import * as rimraf from 'rimraf';
-import * as replace from 'gulp-replace';
+const replace = require('gulp-replace');
const terser = require('gulp-terser');
const cssnano = require('gulp-cssnano');
diff --git a/locales/de-DE.yml b/locales/de-DE.yml
index f3e01e1ead..4ed3343378 100644
--- a/locales/de-DE.yml
+++ b/locales/de-DE.yml
@@ -704,6 +704,7 @@ editCode: "Code bearbeiten"
apply: "Anwenden"
receiveAnnouncementFromInstance: "E-Mail-Benachrichtigungen von dieser Instanz empfangen"
emailNotification: "E-Mail-Benachrichtigungen"
+publish: "Veröffentlichen"
inChannelSearch: "In Kanal suchen"
useReactionPickerForContextMenu: "Reaktionsauswahl durch Rechtsklick öffnen"
typingUsers: "{users} ist/sind am schreiben..."
@@ -739,7 +740,15 @@ switch: "Wechseln"
noMaintainerInformationWarning: "Betreiberinformationen sind nicht konfiguriert."
noBotProtectionWarning: "Bot-Schutz ist nicht konfiguriert."
configure: "Konfigurieren"
+postToGallery: "Beitrag zu Galerie hinzufügen"
+gallery: "Galerie"
+recentPosts: "Neue Beiträge"
+popularPosts: "Beliebte Beiträge"
+shareWithNote: "Mit Notiz teilen"
_gallery:
+ my: "Meine Galerie"
+ liked: "Beiträge, die mir gefallen"
+ like: "Gefällt mir"
unlike: "\"Gefällt mir\" entfernen"
_email:
_follow:
diff --git a/locales/en-US.yml b/locales/en-US.yml
index 4fd1b89dc3..f023409d5f 100644
--- a/locales/en-US.yml
+++ b/locales/en-US.yml
@@ -704,6 +704,7 @@ editCode: "Edit code"
apply: "Apply"
receiveAnnouncementFromInstance: "Receive Email notifications from this instance"
emailNotification: "Email notifications"
+publish: "Publish"
inChannelSearch: "Search in channel"
useReactionPickerForContextMenu: "Open reaction picker on right-click"
typingUsers: "{users} is/are typing..."
@@ -740,7 +741,15 @@ switch: "Switch"
noMaintainerInformationWarning: "Maintainer information is not configured."
noBotProtectionWarning: "Bot protection is not configured."
configure: "Configure"
+postToGallery: "Post to Gallery"
+gallery: "Gallery"
+recentPosts: "Recent posts"
+popularPosts: "Popular posts"
+shareWithNote: "Share with note"
_gallery:
+ my: "My Gallery"
+ liked: "Liked Posts"
+ like: "Like"
unlike: "Undo like"
_email:
_follow:
diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml
index f8c6c07625..dcac32e3ef 100644
--- a/locales/fr-FR.yml
+++ b/locales/fr-FR.yml
@@ -138,6 +138,7 @@ flagAsBotDescription: "Si ce compte est géré de manière automatisée , défin
flagAsCat: "Ce compte est un chat"
flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte."
autoAcceptFollowed: "Accepter automatiquement les demandes d’abonnement venant d’utilisateur·rice·s que vous suivez"
+addAccount: "Ajouter un compte"
loginFailed: "Échec de la connexion"
showOnRemote: "Voir sur l’instance distante"
general: "Général"
@@ -451,6 +452,7 @@ category: "Catégorie"
tags: "Étiquettes"
docSource: "Source de ce document"
createAccount: "Créer un compte"
+existingAccount: "Compte existant"
regenerate: "Générer à nouveau"
fontSize: "Taille de la police"
noFollowRequests: "Vous n’avez aucune demande d’abonnement en attente"
@@ -701,6 +703,7 @@ editCode: "Modifier le code"
apply: "Appliquer"
receiveAnnouncementFromInstance: "Recevoir les messages d'information de l'instance"
emailNotification: "Notifications par mail"
+publish: "Public"
inChannelSearch: "Chercher dans le canal"
useReactionPickerForContextMenu: "Clic-droit pour ouvrir le panneau de réactions"
typingUsers: "{users} est en train d'écrire"
@@ -731,7 +734,20 @@ disabled: "Désactivé"
quickAction: "Actions rapides"
user: "Utilisateur·rice·s"
administration: "Gestion"
+accounts: "Comptes"
+switch: "Remplacer"
+noMaintainerInformationWarning: "Informations administrateur non configurées."
+noBotProtectionWarning: "La protection contre les bots n'est pas configurée."
+configure: "Configurer"
+postToGallery: "Publier dans la galerie"
+gallery: "Galerie"
+recentPosts: "Les plus récentes"
+popularPosts: "Les plus consultées"
+shareWithNote: "Partager dans une note"
_gallery:
+ my: "Mes publications"
+ liked: " Publications que j'ai aimées"
+ like: "J'aime"
unlike: "Je n’aime pas"
_email:
_follow:
diff --git a/locales/it-IT.yml b/locales/it-IT.yml
index 61e204ccee..b96f3c99a5 100644
--- a/locales/it-IT.yml
+++ b/locales/it-IT.yml
@@ -136,6 +136,7 @@ flagAsBotDescription: "Se l'account esegue principalmente operazioni automatiche
flagAsCat: "Io sono un gatto"
flagAsCatDescription: "Abilita l'opzione \"Io sono un gatto\" per l'account."
autoAcceptFollowed: "Accetta automaticamente le richieste di follow da utenti che già segui"
+addAccount: "Aggiungi account"
loginFailed: "Accesso non riuscito"
showOnRemote: "Sfoglia sull'istanza remota"
general: "Generali"
@@ -439,6 +440,7 @@ category: "Categoria"
tags: "Tag"
docSource: "Sorgente della scheda"
createAccount: "Crea il tuo account"
+existingAccount: "Account esistente"
regenerate: "Generare di nuovo"
fontSize: "Dimensione carattere"
noFollowRequests: "Non hai alcuna richiesta di follow"
@@ -653,6 +655,7 @@ capacity: "Capacità"
editCode: "Modifica codice"
apply: "Applica"
emailNotification: "Eventi per notifiche via mail"
+publish: "Pubblico"
inChannelSearch: "Cerca in canale"
useReactionPickerForContextMenu: "Cliccare sul tasto destro per aprire il pannello di reazioni"
typingUsers: "{users} sta(nno) scrivendo"
@@ -683,8 +686,21 @@ disabled: "Inattivo"
quickAction: "Azioni rapide"
user: "Utente"
administration: "Gestione"
+accounts: "Account"
+switch: "Sostituisci"
+noMaintainerInformationWarning: "Le informazioni amministratore non sono impostate."
+noBotProtectionWarning: "Nessuna protezione impostata contro i bot."
+configure: "Imposta"
+postToGallery: "Pubblicare nella galleria"
+gallery: "Galleria"
+recentPosts: "Le più recenti"
+popularPosts: "Le più visualizzate"
+shareWithNote: "Condividere in nota"
_gallery:
- unlike: "Togli Mi piace"
+ my: "Le mie pubblicazioni"
+ liked: "Pubblicazioni che mi piacciono"
+ like: "Mi piace!"
+ unlike: "Non mi piace più"
_email:
_follow:
title: "Ha iniziato a seguirti"
diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml
index 44e8a13cbd..7b61c2f0a7 100644
--- a/locales/ko-KR.yml
+++ b/locales/ko-KR.yml
@@ -726,6 +726,7 @@ active: "최근에 활동함"
offline: "오프라인"
user: "유저"
administration: "관리"
+gallery: "갤러리"
_gallery:
unlike: "좋아요 해제"
_email:
diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml
index bf84fb6f1c..b53be8d113 100644
--- a/locales/zh-CN.yml
+++ b/locales/zh-CN.yml
@@ -704,6 +704,7 @@ editCode: "编辑代码"
apply: "应用"
receiveAnnouncementFromInstance: "从实例接收通知"
emailNotification: "邮件通知"
+publish: "发布"
inChannelSearch: "频道内搜索"
useReactionPickerForContextMenu: "单击右键打开回应工具栏"
typingUsers: "{users}正在输入"
@@ -741,7 +742,15 @@ switch: "切换"
noMaintainerInformationWarning: "管理人员信息未设置。"
noBotProtectionWarning: "Bot保护未设置。"
configure: "设置"
+postToGallery: "发送到图库"
+gallery: "图库"
+recentPosts: "最新发布"
+popularPosts: "热门投稿"
+shareWithNote: "在帖子中分享"
_gallery:
+ my: "我的图库"
+ liked: "喜欢的图片"
+ like: "喜欢❤"
unlike: "取消赞"
_email:
_follow:
diff --git a/package.json b/package.json
index 9504049012..561c4d08be 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "misskey",
"author": "syuilo <syuilotan@yahoo.co.jp>",
- "version": "12.79.0",
+ "version": "12.79.1",
"codename": "indigo",
"repository": {
"type": "git",
@@ -47,16 +47,15 @@
"@sinonjs/fake-timers": "7.0.5",
"@syuilo/aiscript": "0.11.1",
"@types/bcryptjs": "2.4.2",
- "@types/bull": "3.15.0",
+ "@types/bull": "3.15.1",
"@types/cbor": "5.0.1",
"@types/dateformat": "3.0.1",
"@types/escape-regexp": "0.0.0",
"@types/glob": "7.1.3",
"@types/gulp": "4.0.8",
"@types/gulp-rename": "2.0.0",
- "@types/gulp-replace": "0.0.31",
"@types/is-url": "1.2.28",
- "@types/js-yaml": "4.0.0",
+ "@types/js-yaml": "4.0.1",
"@types/jsdom": "16.2.10",
"@types/jsonld": "1.5.5",
"@types/katex": "0.11.0",
@@ -107,31 +106,31 @@
"@typescript-eslint/parser": "4.22.0",
"@vue/compiler-sfc": "3.0.11",
"abort-controller": "3.0.0",
- "apexcharts": "3.26.0",
+ "apexcharts": "3.26.1",
"autobind-decorator": "2.4.0",
"autosize": "4.0.2",
"autwh": "0.1.0",
- "aws-sdk": "2.887.0",
+ "aws-sdk": "2.892.0",
"bcryptjs": "2.4.3",
"blurhash": "1.1.3",
"broadcast-channel": "3.5.3",
- "bull": "3.22.0",
+ "bull": "3.22.3",
"cafy": "15.2.1",
"cbor": "7.0.5",
- "chalk": "4.1.0",
+ "chalk": "4.1.1",
"chart.js": "2.9.4",
"cli-highlight": "2.1.11",
"commander": "7.2.0",
"concurrently": "6.0.2",
"content-disposition": "0.5.3",
- "core-js": "3.10.1",
+ "core-js": "3.11.0",
"crc-32": "1.2.0",
- "css-loader": "5.2.1",
+ "css-loader": "5.2.4",
"cssnano": "5.0.1",
"dateformat": "4.5.1",
"diskusage": "1.1.3",
"escape-regexp": "0.0.1",
- "eslint": "7.24.0",
+ "eslint": "7.25.0",
"eslint-plugin-vue": "7.9.0",
"eventemitter3": "4.0.7",
"feed": "4.2.2",
@@ -142,7 +141,7 @@
"gulp": "4.0.2",
"gulp-cssnano": "2.1.3",
"gulp-rename": "2.0.0",
- "gulp-replace": "1.0.0",
+ "gulp-replace": "1.1.1",
"gulp-terser": "2.0.1",
"gulp-tslint": "8.1.4",
"hard-source-webpack-plugin": "0.13.1",
@@ -160,7 +159,7 @@
"json5-loader": "4.0.1",
"jsonld": "4.0.1",
"jsrsasign": "8.0.20",
- "katex": "0.13.2",
+ "katex": "0.13.3",
"koa": "2.13.1",
"koa-bodyparser": "4.3.0",
"koa-favicon": "2.1.0",
@@ -172,7 +171,7 @@
"koa-views": "7.0.1",
"langmap": "0.0.16",
"lookup-dns-cache": "2.1.0",
- "markdown-it": "12.0.5",
+ "markdown-it": "12.0.6",
"markdown-it-anchor": "7.1.0",
"matter-js": "0.17.1",
"mfm-js": "0.16.3",
@@ -188,7 +187,7 @@
"parse5": "6.0.1",
"pg": "8.6.0",
"portscanner": "2.2.0",
- "postcss": "8.2.10",
+ "postcss": "8.2.12",
"postcss-loader": "5.2.0",
"prismjs": "1.23.0",
"probe-image-size": "7.1.0",
@@ -202,7 +201,7 @@
"ratelimiter": "3.4.1",
"re2": "1.15.9",
"reconnecting-websocket": "4.4.0",
- "redis": "3.1.1",
+ "redis": "3.1.2",
"redis-lock": "0.1.4",
"reflect-metadata": "0.1.13",
"regenerator-runtime": "0.13.7",
@@ -212,7 +211,7 @@
"rimraf": "3.0.2",
"rndstr": "1.0.0",
"s-age": "1.1.2",
- "sass": "1.32.8",
+ "sass": "1.32.11",
"sass-loader": "11.0.1",
"seedrandom": "3.0.5",
"sharp": "0.28.1",
@@ -228,9 +227,9 @@
"throttle-debounce": "3.0.1",
"tinycolor2": "1.4.2",
"tmp": "0.2.1",
- "ts-loader": "8.1.0",
+ "ts-loader": "9.1.1",
"ts-node": "9.1.1",
- "tsc-alias": "1.2.9",
+ "tsc-alias": "1.2.10",
"tsconfig-paths": "3.9.0",
"tslint": "6.1.3",
"tslint-sonarts": "1.9.0",
@@ -250,15 +249,15 @@
"vue-svg-loader": "0.17.0-beta.2",
"vuedraggable": "4.0.1",
"web-push": "3.4.4",
- "webpack": "5.33.2",
+ "webpack": "5.35.1",
"webpack-cli": "4.6.0",
"websocket": "1.0.34",
- "ws": "7.4.4",
+ "ws": "7.4.5",
"xev": "2.0.1"
},
"devDependencies": {
- "@types/chai": "4.2.15",
- "@types/fluent-ffmpeg": "2.1.16",
+ "@types/chai": "4.2.16",
+ "@types/fluent-ffmpeg": "2.1.17",
"chai": "4.3.4",
"cross-env": "7.0.3"
}
diff --git a/src/client/components/launch-pad.vue b/src/client/components/launch-pad.vue
index e66bbd73e4..58b74bdaee 100644
--- a/src/client/components/launch-pad.vue
+++ b/src/client/components/launch-pad.vue
@@ -16,16 +16,16 @@
</template>
</div>
<div class="sub">
- <MkA to="/docs" @click.passive="close()">
+ <MkA to="/docs" @click.passive="close()" v-click-anime>
<i class="fas fa-question-circle icon"></i>
<div class="text">{{ $ts.help }}</div>
</MkA>
- <MkA to="/about" @click.passive="close()">
+ <MkA to="/about" @click.passive="close()" v-click-anime>
<i class="fas fa-info-circle icon"></i>
<div class="text">{{ $t('aboutX', { x: instanceName }) }}</div>
</MkA>
- <MkA to="/about-misskey" @click.passive="close()">
- <i class="fas fa-info-circle icon"></i>
+ <MkA to="/about-misskey" @click.passive="close()" v-click-anime>
+ <img src="/static-assets/favicon.png" class="icon"/>
<div class="text">{{ $ts.aboutMisskey }}</div>
</MkA>
</div>
@@ -101,6 +101,7 @@ export default defineComponent({
flex-direction: column;
align-items: center;
justify-content: center;
+ vertical-align: bottom;
width: 128px;
height: 128px;
border-radius: var(--radius);
@@ -117,6 +118,7 @@ export default defineComponent({
> .icon {
font-size: 26px;
+ height: 32px;
}
> .text {
diff --git a/src/client/pages/about.vue b/src/client/pages/about.vue
index 4f70998eee..bdd4c78827 100644
--- a/src/client/pages/about.vue
+++ b/src/client/pages/about.vue
@@ -1,39 +1,57 @@
<template>
-<FormBase class="mmnnbwxb" v-if="meta">
- <div class="_formItem logo">
- <img v-if="meta.logoImageUrl" :src="meta.logoImageUrl">
- <span v-else class="text">{{ instanceName }}</span>
+<FormBase>
+ <div class="_formItem">
+ <div class="_formPanel fwhjspax">
+ <img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/>
+ <span class="name">{{ $instance.name || host }}</span>
+ </div>
</div>
+
+ <FormTextarea readonly :value="$instance.description">
+ </FormTextarea>
+
<FormGroup>
<FormKeyValueView>
<template #key>Misskey</template>
<template #value>v{{ version }}</template>
</FormKeyValueView>
+ <FormLink to="/about-misskey">{{ $ts.aboutMisskey }}</FormLink>
</FormGroup>
<FormGroup>
<FormKeyValueView>
<template #key>{{ $ts.administrator }}</template>
- <template #value>{{ meta.maintainerName }}</template>
+ <template #value>{{ $instance.maintainerName }}</template>
</FormKeyValueView>
<FormKeyValueView>
<template #key>{{ $ts.contact }}</template>
- <template #value>{{ meta.maintainerEmail }}</template>
+ <template #value>{{ $instance.maintainerEmail }}</template>
</FormKeyValueView>
</FormGroup>
- <FormLink v-if="meta.tosUrl" :to="meta.tosUrl" external>{{ $ts.tos }}</FormLink>
+ <FormLink v-if="$instance.tosUrl" :to="$instance.tosUrl" external>{{ $ts.tos }}</FormLink>
- <FormGroup v-if="stats">
- <template #label>{{ $ts.statistics }}</template>
- <FormKeyValueView>
- <template #key>{{ $ts.users }}</template>
- <template #value>{{ number(stats.originalUsersCount) }}</template>
- </FormKeyValueView>
- <FormKeyValueView>
- <template #key>{{ $ts.notes }}</template>
- <template #value>{{ number(stats.originalNotesCount) }}</template>
- </FormKeyValueView>
+ <FormSuspense :p="initStats">
+ <FormGroup>
+ <template #label>{{ $ts.statistics }}</template>
+ <FormKeyValueView>
+ <template #key>{{ $ts.users }}</template>
+ <template #value>{{ number(stats.originalUsersCount) }}</template>
+ </FormKeyValueView>
+ <FormKeyValueView>
+ <template #key>{{ $ts.notes }}</template>
+ <template #value>{{ number(stats.originalNotesCount) }}</template>
+ </FormKeyValueView>
+ </FormGroup>
+ </FormSuspense>
+
+ <FormGroup>
+ <template #label>Well-known resources</template>
+ <FormLink :to="`/.well-known/host-meta`" external>host-meta</FormLink>
+ <FormLink :to="`/.well-known/host-meta.json`" external>host-meta.json</FormLink>
+ <FormLink :to="`/.well-known/nodeinfo`" external>nodeinfo</FormLink>
+ <FormLink :to="`/robots.txt`" external>robots.txt</FormLink>
+ <FormLink :to="`/manifest.json`" external>manifest.json</FormLink>
</FormGroup>
</FormBase>
</template>
@@ -45,9 +63,12 @@ import FormLink from '@client/components/form/link.vue';
import FormBase from '@client/components/form/base.vue';
import FormGroup from '@client/components/form/group.vue';
import FormKeyValueView from '@client/components/form/key-value-view.vue';
+import FormTextarea from '@client/components/form/textarea.vue';
+import FormSuspense from '@client/components/form/suspense.vue';
import * as os from '@client/os';
import number from '@client/filters/number';
import * as symbols from '@client/symbols';
+import { host } from '@client/config';
export default defineComponent({
components: {
@@ -55,6 +76,8 @@ export default defineComponent({
FormGroup,
FormLink,
FormKeyValueView,
+ FormTextarea,
+ FormSuspense,
},
data() {
@@ -63,24 +86,17 @@ export default defineComponent({
title: this.$ts.instanceInfo,
icon: 'fas fa-info-circle'
},
+ host,
version,
instanceName,
stats: null,
+ initStats: () => os.api('stats', {
+ }).then((stats) => {
+ this.stats = stats;
+ })
}
},
- computed: {
- meta() {
- return this.$instance;
- },
- },
-
- created() {
- os.api('stats').then(stats => {
- this.stats = stats;
- });
- },
-
methods: {
number
}
@@ -88,18 +104,20 @@ export default defineComponent({
</script>
<style lang="scss" scoped>
-.mmnnbwxb {
- max-width: 800px;
- box-sizing: border-box;
- margin: 0 auto;
+.fwhjspax {
+ padding: 16px;
+ text-align: center;
- > .logo {
- text-align: center;
+ > .icon {
+ display: block;
+ margin: auto;
+ height: 64px;
+ border-radius: 8px;
+ }
- > img {
- vertical-align: bottom;
- max-height: 100px;
- }
+ > .name {
+ display: block;
+ margin-top: 12px;
}
}
</style>
diff --git a/src/client/pages/gallery/post.vue b/src/client/pages/gallery/post.vue
index 86fae99888..9bd102cee2 100644
--- a/src/client/pages/gallery/post.vue
+++ b/src/client/pages/gallery/post.vue
@@ -19,7 +19,7 @@
<MkButton class="button" @click="like()" v-else v-tooltip="$ts._gallery.like"><i class="far fa-heart"></i><span class="count" v-if="post.likedCount > 0">{{ post.likedCount }}</span></MkButton>
</div>
<div class="other">
- <button class="_button" @click="createNote" v-tooltip="$ts.shareWithNote" v-click-anime><i class="fas fa-retweet fa-fw"></i></button>
+ <button class="_button" @click="shareWithNote" v-tooltip="$ts.shareWithNote" v-click-anime><i class="fas fa-retweet fa-fw"></i></button>
<button class="_button" @click="share" v-tooltip="$ts.share" v-click-anime><i class="fas fa-share-alt fa-fw"></i></button>
</div>
</div>
@@ -125,6 +125,12 @@ export default defineComponent({
});
},
+ shareWithNote() {
+ os.post({
+ initialText: `${this.post.title} ${url}/gallery/${this.post.id}`
+ });
+ },
+
like() {
os.apiWithDialog('gallery/posts/like', {
postId: this.postId,
@@ -148,12 +154,6 @@ export default defineComponent({
this.post.likedCount--;
});
},
-
- createNote() {
- os.post({
- initialText: `${this.post.title} ${url}/gallery/${this.post.id}`
- });
- }
}
});
</script>
diff --git a/src/client/pages/instance-info.vue b/src/client/pages/instance-info.vue
index 662b82ddb1..c66ad50f6d 100644
--- a/src/client/pages/instance-info.vue
+++ b/src/client/pages/instance-info.vue
@@ -147,7 +147,6 @@ import * as os from '@client/os';
import number from '@client/filters/number';
import bytes from '@client/filters/bytes';
import * as symbols from '@client/symbols';
-import { url } from '@client/config';
const chartLimit = 90;
const sum = (...arr) => arr.reduce((r, a) => r.map((b, i) => a[i] + b));
@@ -449,7 +448,7 @@ export default defineComponent({
.fnfelxur {
padding: 16px;
- > img {
+ > .icon {
display: block;
margin: auto;
height: 64px;
diff --git a/src/client/pages/page.vue b/src/client/pages/page.vue
index e43add7b0b..6ee3ee8d26 100644
--- a/src/client/pages/page.vue
+++ b/src/client/pages/page.vue
@@ -1,35 +1,60 @@
<template>
-<div class="xcukqgmh _root" v-if="page" :key="page.id" v-size="{ max: [450] }">
- <div class="_block main">
- <!--
- <div class="header">
- <h1>{{ page.title }}</h1>
+<div class="_root">
+ <transition name="fade" mode="out-in">
+ <div v-if="page" class="xcukqgmh" :key="page.id" v-size="{ max: [450] }">
+ <div class="_block main">
+ <!--
+ <div class="header">
+ <h1>{{ page.title }}</h1>
+ </div>
+ -->
+ <div class="banner">
+ <img :src="page.eyeCatchingImage.url" v-if="page.eyeCatchingImageId"/>
+ </div>
+ <div class="content">
+ <XPage :page="page"/>
+ </div>
+ <div class="actions">
+ <div class="like">
+ <MkButton class="button" @click="unlike()" v-if="page.isLiked" v-tooltip="$ts._pages.unlike" primary><i class="fas fa-heart"></i><span class="count" v-if="page.likedCount > 0">{{ page.likedCount }}</span></MkButton>
+ <MkButton class="button" @click="like()" v-else v-tooltip="$ts._pages.like"><i class="far fa-heart"></i><span class="count" v-if="page.likedCount > 0">{{ page.likedCount }}</span></MkButton>
+ </div>
+ <div class="other">
+ <button class="_button" @click="shareWithNote" v-tooltip="$ts.shareWithNote" v-click-anime><i class="fas fa-retweet fa-fw"></i></button>
+ <button class="_button" @click="share" v-tooltip="$ts.share" v-click-anime><i class="fas fa-share-alt fa-fw"></i></button>
+ </div>
+ </div>
+ <div class="user">
+ <MkAvatar :user="page.user" class="avatar"/>
+ <div class="name">
+ <MkUserName :user="page.user" style="display: block;"/>
+ <MkAcct :user="page.user"/>
+ </div>
+ <MkFollowButton v-if="!$i || $i.id != page.user.id" :user="page.user" :inline="true" :transparent="false" :full="true" large class="koudoku"/>
+ </div>
+ <div class="links">
+ <MkA :to="`/@${username}/pages/${pageName}/view-source`" class="link">{{ $ts._pages.viewSource }}</MkA>
+ <template v-if="$i && $i.id === page.userId">
+ <MkA :to="`/pages/edit/${page.id}`" class="link">{{ $ts._pages.editThisPage }}</MkA>
+ <button v-if="$i.pinnedPageId === page.id" @click="pin(false)" class="link _textButton">{{ $ts.unpin }}</button>
+ <button v-else @click="pin(true)" class="link _textButton">{{ $ts.pin }}</button>
+ </template>
+ </div>
+ </div>
+ <div class="footer">
+ <div><i class="far fa-clock"></i> {{ $ts.createdAt }}: <MkTime :time="page.createdAt" mode="detail"/></div>
+ <div v-if="page.createdAt != page.updatedAt"><i class="far fa-clock"></i> {{ $ts.updatedAt }}: <MkTime :time="page.updatedAt" mode="detail"/></div>
+ </div>
+ <MkContainer :max-height="300" :foldable="true" class="other">
+ <template #header><i class="fas fa-clock"></i> {{ $ts.recentPosts }}</template>
+ <MkPagination :pagination="otherPostsPagination" #default="{items}">
+ <MkPagePreview v-for="page in items" :page="page" :key="page.id" class="_gap"/>
+ </MkPagination>
+ </MkContainer>
</div>
- -->
- <div class="banner">
- <img :src="page.eyeCatchingImage.url" v-if="page.eyeCatchingImageId"/>
- </div>
- <div class="content">
- <XPage :page="page"/>
- <small style="display: block; opacity: 0.7; margin-top: 1em;">@{{ page.user.username }}</small>
- </div>
- <div class="like">
- <MkButton class="button" @click="unlike()" v-if="page.isLiked" v-tooltip="$ts._pages.unlike" primary><i class="fas fa-heart"></i><span class="count" v-if="page.likedCount > 0">{{ page.likedCount }}</span></MkButton>
- <MkButton class="button" @click="like()" v-else v-tooltip="$ts._pages.like"><i class="far fa-heart"></i><span class="count" v-if="page.likedCount > 0">{{ page.likedCount }}</span></MkButton>
- </div>
- <div class="links">
- <MkA :to="`/@${username}/pages/${pageName}/view-source`" class="link">{{ $ts._pages.viewSource }}</MkA>
- <template v-if="$i && $i.id === page.userId">
- <MkA :to="`/pages/edit/${page.id}`" class="link">{{ $ts._pages.editThisPage }}</MkA>
- <button v-if="$i.pinnedPageId === page.id" @click="pin(false)" class="link _textButton">{{ $ts.unpin }}</button>
- <button v-else @click="pin(true)" class="link _textButton">{{ $ts.pin }}</button>
- </template>
- </div>
- </div>
- <div class="footer">
- <div><i class="far fa-clock"></i> {{ $ts.createdAt }}: <MkTime :time="page.createdAt" mode="detail"/></div>
- <div v-if="page.createdAt != page.updatedAt"><i class="far fa-clock"></i> {{ $ts.updatedAt }}: <MkTime :time="page.updatedAt" mode="detail"/></div>
- </div>
+ <MkError v-else-if="error" @retry="fetch()"/>
+ <MkLoading v-else/>
+ </transition>
</div>
</template>
@@ -39,11 +64,20 @@ import XPage from '@client/components/page/page.vue';
import MkButton from '@client/components/ui/button.vue';
import * as os from '@client/os';
import * as symbols from '@client/symbols';
+import { url } from '@client/config';
+import MkFollowButton from '@client/components/follow-button.vue';
+import MkContainer from '@client/components/ui/container.vue';
+import MkPagination from '@client/components/ui/pagination.vue';
+import MkPagePreview from '@client/components/page-preview.vue';
export default defineComponent({
components: {
XPage,
MkButton,
+ MkFollowButton,
+ MkContainer,
+ MkPagination,
+ MkPagePreview,
},
props: {
@@ -69,6 +103,14 @@ export default defineComponent({
},
} : null),
page: null,
+ error: null,
+ otherPostsPagination: {
+ endpoint: 'users/pages',
+ limit: 6,
+ params: () => ({
+ userId: this.page.user.id
+ })
+ },
};
},
@@ -90,11 +132,28 @@ export default defineComponent({
methods: {
fetch() {
+ this.page = null;
os.api('pages/show', {
name: this.pageName,
username: this.username,
}).then(page => {
this.page = page;
+ }).catch(e => {
+ this.error = e;
+ });
+ },
+
+ share() {
+ navigator.share({
+ title: this.page.title || this.page.name,
+ text: this.page.summary,
+ url: `${url}/@${this.page.user.username}/pages/${this.page.name}`
+ });
+ },
+
+ shareWithNote() {
+ os.post({
+ initialText: `${this.page.title || this.page.name} ${url}/@${this.page.user.username}/pages/${this.page.name}`
});
},
@@ -132,6 +191,15 @@ export default defineComponent({
</script>
<style lang="scss" scoped>
+.fade-enter-active,
+.fade-leave-active {
+ transition: opacity 0.125s ease;
+}
+.fade-enter-from,
+.fade-leave-to {
+ opacity: 0;
+}
+
.xcukqgmh {
--padding: 32px;
@@ -140,6 +208,8 @@ export default defineComponent({
}
> .main {
+ padding: var(--padding);
+
> .header {
padding: 16px;
@@ -150,36 +220,79 @@ export default defineComponent({
> .banner {
> img {
+ // TODO: 良い感じのアスペクト比で表示
display: block;
width: 100%;
- height: 120px;
+ height: 150px;
object-fit: cover;
}
}
> .content {
- padding: var(--padding);
+ margin-top: 16px;
+ padding: 16px 0 0 0;
}
- > .like {
- padding: var(--padding);
+ > .actions {
+ display: flex;
+ align-items: center;
+ margin-top: 16px;
+ padding: 16px 0 0 0;
border-top: solid 0.5px var(--divider);
- > .button {
- --accent: rgb(241 97 132);
- --X8: rgb(241 92 128);
- --buttonBg: rgb(216 71 106 / 5%);
- --buttonHoverBg: rgb(216 71 106 / 10%);
- color: #ff002f;
+ > .like {
+ > .button {
+ --accent: rgb(241 97 132);
+ --X8: rgb(241 92 128);
+ --buttonBg: rgb(216 71 106 / 5%);
+ --buttonHoverBg: rgb(216 71 106 / 10%);
+ color: #ff002f;
- ::v-deep(.count) {
- margin-left: 0.5em;
+ ::v-deep(.count) {
+ margin-left: 0.5em;
+ }
}
}
+
+ > .other {
+ margin-left: auto;
+
+ > button {
+ padding: 8px;
+ margin: 0 8px;
+
+ &:hover {
+ color: var(--fgHighlighted);
+ }
+ }
+ }
+ }
+
+ > .user {
+ margin-top: 16px;
+ padding: 16px 0 0 0;
+ border-top: solid 0.5px var(--divider);
+ display: flex;
+ align-items: center;
+
+ > .avatar {
+ width: 52px;
+ height: 52px;
+ }
+
+ > .name {
+ margin: 0 0 0 12px;
+ font-size: 90%;
+ }
+
+ > .koudoku {
+ margin-left: auto;
+ }
}
> .links {
- padding: var(--padding);
+ margin-top: 16px;
+ padding: 24px 0 0 0;
border-top: solid 0.5px var(--divider);
> .link {
diff --git a/src/client/store.ts b/src/client/store.ts
index 0d34a02364..376135a99d 100644
--- a/src/client/store.ts
+++ b/src/client/store.ts
@@ -62,8 +62,9 @@ export const defaultStore = markRaw(new Storage('base', {
'notifications',
'messaging',
'drive',
- '-',
'followRequests',
+ '-',
+ 'gallery',
'featured',
'explore',
'announcements',
diff --git a/src/client/ui/chat/index.vue b/src/client/ui/chat/index.vue
index be1bd7758a..bf55cc2b3f 100644
--- a/src/client/ui/chat/index.vue
+++ b/src/client/ui/chat/index.vue
@@ -313,7 +313,7 @@ export default defineComponent({
}
};
if (isLink(e.target)) return;
- if (['INPUT', 'TEXTAREA', 'IMG'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
+ if (['INPUT', 'TEXTAREA', 'IMG', 'VIDEO'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
if (window.getSelection().toString() !== '') return;
const path = this.$route.path;
os.contextMenu([{
diff --git a/src/client/ui/deck/main-column.vue b/src/client/ui/deck/main-column.vue
index de36fd5966..7b5b50fedc 100644
--- a/src/client/ui/deck/main-column.vue
+++ b/src/client/ui/deck/main-column.vue
@@ -64,7 +64,7 @@ export default defineComponent({
}
};
if (isLink(e.target)) return;
- if (['INPUT', 'TEXTAREA', 'IMG'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
+ if (['INPUT', 'TEXTAREA', 'IMG', 'VIDEO'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
if (window.getSelection().toString() !== '') return;
const path = this.$route.path;
os.contextMenu([{
diff --git a/src/client/ui/default.sidebar.vue b/src/client/ui/default.sidebar.vue
index a55a1770ff..725fd844d9 100644
--- a/src/client/ui/default.sidebar.vue
+++ b/src/client/ui/default.sidebar.vue
@@ -31,8 +31,10 @@
<i class="fas fa-cog fa-fw"></i><span class="text">{{ $ts.settings }}</span>
</MkA>
<div class="divider"></div>
- <div class="foo">
- <MkEmoji :normal="true" :no-style="true" emoji="🍮"/>
+ <div class="about">
+ <MkA class="link" to="/about" v-click-anime>
+ <img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" class="_ghost"/>
+ </MkA>
</div>
<!--<MisskeyLogo class="misskey"/>-->
</div>
@@ -260,14 +262,21 @@ export default defineComponent({
}
}
- > .misskey {
+ > .about {
fill: currentColor;
- }
-
- > .foo {
- text-align: center;
padding: 8px 0 16px 0;
- opacity: 0.5;
+ text-align: center;
+
+ > .link {
+ display: block;
+ width: 32px;
+ margin: 0 auto;
+
+ img {
+ display: block;
+ width: 100%;
+ }
+ }
}
> .item {
diff --git a/src/client/ui/default.vue b/src/client/ui/default.vue
index 6cfb680719..64fdef2947 100644
--- a/src/client/ui/default.vue
+++ b/src/client/ui/default.vue
@@ -165,7 +165,7 @@ export default defineComponent({
}
};
if (isLink(e.target)) return;
- if (['INPUT', 'TEXTAREA', 'IMG'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
+ if (['INPUT', 'TEXTAREA', 'IMG', 'VIDEO'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
if (window.getSelection().toString() !== '') return;
const path = this.$route.path;
os.contextMenu([{
diff --git a/src/client/ui/universal.vue b/src/client/ui/universal.vue
index 478fa13076..ad3c616b8e 100644
--- a/src/client/ui/universal.vue
+++ b/src/client/ui/universal.vue
@@ -191,7 +191,7 @@ export default defineComponent({
}
};
if (isLink(e.target)) return;
- if (['INPUT', 'TEXTAREA', 'IMG'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
+ if (['INPUT', 'TEXTAREA', 'IMG', 'VIDEO'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
if (window.getSelection().toString() !== '') return;
const path = this.$route.path;
os.contextMenu([{
diff --git a/src/misc/api-permissions.ts b/src/misc/api-permissions.ts
index de9fdea52c..eb20c3d289 100644
--- a/src/misc/api-permissions.ts
+++ b/src/misc/api-permissions.ts
@@ -27,4 +27,8 @@ export const kinds = [
'write:user-groups',
'read:channels',
'write:channels',
+ 'read:gallery',
+ 'write:gallery',
+ 'read:gallery-likes',
+ 'write:gallery-likes',
];
diff --git a/yarn.lock b/yarn.lock
index 42be96159d..b6a52b9514 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -432,10 +432,10 @@
"@types/connect" "*"
"@types/node" "*"
-"@types/bull@3.15.0":
- version "3.15.0"
- resolved "https://registry.yarnpkg.com/@types/bull/-/bull-3.15.0.tgz#69c518d4e7a53056f287cebcc4ef4ffe91aaf201"
- integrity sha512-54Y1RYkJt6i+4dH45w4gZOP6fyhksTvOImfgBYAxgq/nt5ZrES4xFWwOzt2bxAgSR7FMH9fwvaiJN/pripPzag==
+"@types/bull@3.15.1":
+ version "3.15.1"
+ resolved "https://registry.yarnpkg.com/@types/bull/-/bull-3.15.1.tgz#3c3fd665b43ef383ca95a91b8d1448461fae0898"
+ integrity sha512-thZyjxikoyuDa/ptZEqtTEPUjwlDenkpPigpIyad1X5UMp7U0fXTLiDHJjZ/5yXmVPuWx0cXFXj3drmva/UJRA==
dependencies:
"@types/ioredis" "*"
@@ -456,10 +456,10 @@
dependencies:
"@types/node" "*"
-"@types/chai@4.2.15":
- version "4.2.15"
- resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.15.tgz#b7a6d263c2cecf44b6de9a051cf496249b154553"
- integrity sha512-rYff6FI+ZTKAPkJUoyz7Udq3GaoDZnxYDEvdEdFZASiA7PoErltHezDishqQiSDWrGxvxmplH304jyzQmjp0AQ==
+"@types/chai@4.2.16":
+ version "4.2.16"
+ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.16.tgz#f09cc36e18d28274f942e7201147cce34d97e8c8"
+ integrity sha512-vI5iOAsez9+roLS3M3+Xx7w+WRuDtSmF8bQkrbcIJ2sC1PcDgVoA0WGpa+bIrJ+y8zqY2oi//fUctkxtIcXJCw==
"@types/cheerio@^0.22.10":
version "0.22.18"
@@ -531,6 +531,11 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe"
integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==
+"@types/estree@^0.0.47":
+ version "0.0.47"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4"
+ integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==
+
"@types/events@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@@ -564,10 +569,10 @@
resolved "https://registry.yarnpkg.com/@types/fancy-log/-/fancy-log-1.3.0.tgz#a61ab476e5e628cd07a846330df53b85e05c8ce0"
integrity sha512-mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==
-"@types/fluent-ffmpeg@2.1.16":
- version "2.1.16"
- resolved "https://registry.yarnpkg.com/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.16.tgz#63949b0cb6bc88c9157a579cdd80858a269f3a3a"
- integrity sha512-1FTstm6xY/2WsJVt6ARV7CiJjNCQDlR/nfw6xuYk5ITbVjk7sw89Biyqm2DGW4c3aZ3vBx+5irZvsql4eybpoQ==
+"@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" "*"
@@ -604,13 +609,6 @@
"@types/node" "*"
"@types/vinyl" "*"
-"@types/gulp-replace@0.0.31":
- version "0.0.31"
- resolved "https://registry.yarnpkg.com/@types/gulp-replace/-/gulp-replace-0.0.31.tgz#87c3ac90b437694c58d68d1da677fcaff38b25ff"
- integrity sha512-dbgQ1u0N9ShXrzahBgQfMSu6qUh8nlTLt7whhQ0S0sEUHhV3scysppJ1UX0fl53PJENgAL99ueykddyrCaDt7g==
- dependencies:
- "@types/node" "*"
-
"@types/gulp@4.0.8":
version "4.0.8"
resolved "https://registry.yarnpkg.com/@types/gulp/-/gulp-4.0.8.tgz#a5e43764d400b9818dc79b5ffa86e22a94521037"
@@ -652,10 +650,10 @@
resolved "https://registry.yarnpkg.com/@types/is-url/-/is-url-1.2.28.tgz#914dabd50546d9b0142806e42c72bc7c2b7e0787"
integrity sha1-kU2r1QVG2bAUKAbkLHK8fCt+B4c=
-"@types/js-yaml@4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.0.tgz#d1a11688112091f2c711674df3a65ea2f47b5dfb"
- integrity sha512-4vlpCM5KPCL5CfGmTbpjwVKbISRYhduEJvvUWsH5EB7QInhEj94XPZ3ts/9FPiLZFqYO0xoW4ZL8z2AabTGgJA==
+"@types/js-yaml@4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.1.tgz#5544730b65a480b18ace6b6ce914e519cec2d43b"
+ integrity sha512-xdOvNmXmrZqqPy3kuCQ+fz6wA0xU5pji9cd1nDrflWaAWtYLLGk5ykW0H6yg5TVyehHP1pfmuuSaZkhP+kspVA==
"@types/jsdom@16.2.10":
version "16.2.10"
@@ -1601,10 +1599,10 @@ anymatch@~3.1.1:
normalize-path "^3.0.0"
picomatch "^2.0.4"
-apexcharts@3.26.0:
- version "3.26.0"
- resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-3.26.0.tgz#a78abc108b2e1b3086a738f0ec7c98e292f4a14b"
- integrity sha512-zdYHs3k3tgmCn1BpYLj7rhGEndBYF33Pq1+g0ora37xAr+3act5CJrpdXM2jx2boVUyXgavoSp6sa8WpK7RkSA==
+apexcharts@3.26.1:
+ version "3.26.1"
+ resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-3.26.1.tgz#2094ec0cfd00ed8129d93e73e75018716d55ef5b"
+ integrity sha512-Z/pfGTsL4YUm1tHd6a0d0G2hX4XUmhEI0b/5BxVK69dEB/XXvVMX9hKCkcIx+kPyVqVFCuo91ZjCdqjMcmSVBA==
dependencies:
svg.draggable.js "^2.2.2"
svg.easing.js "^2.0.0"
@@ -1865,10 +1863,10 @@ autwh@0.1.0:
dependencies:
oauth "0.9.15"
-aws-sdk@2.887.0:
- version "2.887.0"
- resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.887.0.tgz#53839921124b024d24005dbb83b372efdf2fe9b6"
- integrity sha512-jFRVrdyvBEYmSSrriA92dXDn1VgCXnz6Rax6wRGQDhyCWH+9NzZ7ZvIag2Yy2SLpvoRU7IaiEmiBLbNe/BksgA==
+aws-sdk@2.892.0:
+ version "2.892.0"
+ resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.892.0.tgz#adec48f52f4b6f5c576dcbfac020bcec1eed3a25"
+ integrity sha512-OOXJ15AnJJMHZYXJQVy22Wjnp5GrZCfvCxmoZuXdsLNs8M+BL4mfBqma82+UkM2NhJgLYuAhDfvFUBob6VGIWw==
dependencies:
buffer "4.9.2"
events "1.1.1"
@@ -2001,10 +1999,10 @@ binary-extensions@^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==
-binaryextensions@2:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.2.0.tgz#e7c6ba82d4f5f5758c26078fe8eea28881233311"
- integrity sha512-bHhs98rj/7i/RZpCSJ3uk55pLXOItjIrh2sRQZSM6OoktScX+LxJzvlU+FELp9j3TdcddTmmYArLSGptCTwjuw==
+binaryextensions@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22"
+ integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==
bl@^4.0.1, bl@^4.0.3:
version "4.0.3"
@@ -2194,10 +2192,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.22.0:
- version "3.22.0"
- resolved "https://registry.yarnpkg.com/bull/-/bull-3.22.0.tgz#fb04b68189bd49e56155f4366df96330c059868c"
- integrity sha512-csQTIuvoKnVuW6gbZmIe9mVkLy2DzvRodywjXN7cfYlvXKme3156FIc1Zssn5IRKpDKyyq0++AYsLO4mdtnf0Q==
+bull@3.22.3:
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/bull/-/bull-3.22.3.tgz#14232e15431fddd5e572cdc87f3acbdd655371ef"
+ integrity sha512-nkSMtXkCGqjbH8ArFZWKbq3hQb/d5fW7N2m6C0iLeQKngB7pdObH+Lo9hK36v7f3ZENmiIScmKRN15wbyEJ5Pw==
dependencies:
cron-parser "^2.13.0"
debuglog "^1.0.0"
@@ -2375,10 +2373,10 @@ chalk@4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@4.1.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==
+chalk@4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
+ integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
@@ -2403,6 +2401,14 @@ chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2:
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"
@@ -2489,7 +2495,7 @@ cheerio@^0.22.0:
lodash.reject "^4.4.0"
lodash.some "^4.4.0"
-chokidar@3.5.1, "chokidar@>=2.0.0 <4.0.0", chokidar@^2.0.0, chokidar@^3.3.1, chokidar@^3.5.0:
+chokidar@3.5.1, "chokidar@>=3.0.0 <4.0.0", chokidar@^2.0.0, 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==
@@ -2984,10 +2990,10 @@ core-js-compat@^3.9.1:
browserslist "^4.16.3"
semver "7.0.0"
-core-js@3.10.1:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.10.1.tgz#e683963978b6806dcc6c0a4a8bd4ab0bdaf3f21a"
- integrity sha512-pwCxEXnj27XG47mu7SXAwhLP3L5CrlvCB91ANUkIz40P27kUcvNfSdvyZJ9CLHiVoKSp+TTChMQMSKQEH/IQxA==
+core-js@3.11.0:
+ version "3.11.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.11.0.tgz#05dac6aa70c0a4ad842261f8957b961d36eb8926"
+ integrity sha512-bd79DPpx+1Ilh9+30aT5O1sgpQd4Ttg8oqkqi51ZzhedMM1omD2e6IOF48Z/DzDCZ2svp49tN/3vneTK6ZBkXw==
core-util-is@1.0.2, core-util-is@^1.0.2, core-util-is@~1.0.0:
version "1.0.2"
@@ -3070,23 +3076,22 @@ css-declaration-sorter@6.0.0:
dependencies:
timsort "^0.3.0"
-css-loader@5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.1.tgz#15fbd5b6ac4c1b170a098f804c5abd0722f2aa73"
- integrity sha512-YCyRzlt/jgG1xanXZDG/DHqAueOtXFHeusP9TS478oP1J++JSKOyEgGW1GHVoCj/rkS+GWOlBwqQJBr9yajQ9w==
+css-loader@5.2.4:
+ version "5.2.4"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.4.tgz#e985dcbce339812cb6104ef3670f08f9893a1536"
+ integrity sha512-OFYGyINCKkdQsTrSYxzGSFnGS4gNjcXkKkQgWxK138jgnPt+lepxdjSZNc8sHAl5vP3DhsJUxufWIjOwI8PMMw==
dependencies:
camelcase "^6.2.0"
- cssesc "^3.0.0"
icss-utils "^5.1.0"
loader-utils "^2.0.0"
- postcss "^8.2.8"
+ postcss "^8.2.10"
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"
schema-utils "^3.0.0"
- semver "^7.3.4"
+ semver "^7.3.5"
css-select-base-adapter@^0.1.1:
version "0.1.1"
@@ -3714,11 +3719,6 @@ ecdsa-sig-formatter@1.0.11:
dependencies:
safe-buffer "^5.0.1"
-editions@^1.3.3:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b"
- integrity sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==
-
editorconfig@^0.15.3:
version "0.15.3"
resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5"
@@ -3776,14 +3776,13 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
dependencies:
once "^1.4.0"
-enhanced-resolve@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66"
- integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==
+enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.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.1.2"
- memory-fs "^0.5.0"
- tapable "^1.0.0"
+ graceful-fs "^4.2.4"
+ tapable "^2.2.0"
enhanced-resolve@^5.7.0:
version "5.7.0"
@@ -3825,13 +3824,6 @@ envinfo@^7.7.3:
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc"
integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==
-errno@^0.1.3:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
- integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
- dependencies:
- prr "~1.0.1"
-
error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -3988,10 +3980,10 @@ eslint-visitor-keys@^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@7.24.0:
- version "7.24.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a"
- integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ==
+eslint@7.25.0:
+ version "7.25.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67"
+ integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==
dependencies:
"@babel/code-frame" "7.12.11"
"@eslint/eslintrc" "^0.4.0"
@@ -4840,14 +4832,14 @@ gulp-rename@2.0.0:
resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-2.0.0.tgz#9bbc3962b0c0f52fc67cd5eaff6c223ec5b9cf6c"
integrity sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==
-gulp-replace@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-1.0.0.tgz#b32bd61654d97b8d78430a67b3e8ce067b7c9143"
- integrity sha512-lgdmrFSI1SdhNMXZQbrC75MOl1UjYWlOWNbNRnz+F/KHmgxt3l6XstBoAYIdadwETFyG/6i+vWUSCawdC3pqOw==
+gulp-replace@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-1.1.1.tgz#ecb15cafa6df3cf2735aad5765be491be8b36eeb"
+ integrity sha512-gzVZ15/q2+6w7PmZy5zUO5V0s+IGrGz1a2RgImt4mo6eChZgHFbHKKEn52uWkDShhSijdeNz05HcxFN7HNSBKA==
dependencies:
- istextorbinary "2.2.1"
- readable-stream "^2.0.1"
- replacestream "^4.0.0"
+ istextorbinary "^3.0.0"
+ replacestream "^4.0.3"
+ yargs-parser ">=5.0.0-security.0"
gulp-terser@2.0.1:
version "2.0.1"
@@ -5722,14 +5714,13 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-istextorbinary@2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.2.1.tgz#a5231a08ef6dd22b268d0895084cf8d58b5bec53"
- integrity sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==
+istextorbinary@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-3.3.0.tgz#06b1c57d948da11461bd237c00ce09e9902964f2"
+ integrity sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==
dependencies:
- binaryextensions "2"
- editions "^1.3.3"
- textextensions "2"
+ binaryextensions "^2.2.0"
+ textextensions "^3.2.0"
jest-worker@^26.6.2:
version "26.6.2"
@@ -5980,10 +5971,10 @@ jws@^4.0.0:
jwa "^2.0.0"
safe-buffer "^5.0.1"
-katex@0.13.2:
- version "0.13.2"
- resolved "https://registry.yarnpkg.com/katex/-/katex-0.13.2.tgz#4075b9144e6af992ec9a4b772fa3754763be5f26"
- integrity sha512-u/KhjFDhyPr+70aiBn9SL/9w/QlLagIXBi2NZSbNnBUp2tR8dCjQplyEMkEzniem5gOeSCBjlBUg4VaiWs1JJg==
+katex@0.13.3:
+ version "0.13.3"
+ resolved "https://registry.yarnpkg.com/katex/-/katex-0.13.3.tgz#b7b1f4a8de496ea8bfe60ab0b5e1822864288f00"
+ integrity sha512-/w0eycuK1xh201T0uFXYOZWPDoeqDHqR+6SLLKsYvNtUCYtmRjq8F+M74sdpzs+dJZYWv2eUsSW0r1AJfhZOCw==
dependencies:
commander "^6.0.0"
@@ -6545,10 +6536,10 @@ markdown-it-anchor@7.1.0:
resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-7.1.0.tgz#30fb21497bf59e83ff4d1ddc052d821962e2489e"
integrity sha512-loQggrwsIkkP7TOrESvmYkV2ikbQNNKhHcWyqC7/C2CmfHl1tkUizJJU8C5aGgg7J6oXVQJx17gk7i47tNn/lQ==
-markdown-it@12.0.5:
- version "12.0.5"
- resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.0.5.tgz#982907947dc1f72f9d651c5286678fd95af13f2e"
- integrity sha512-9KB992Yy2TedaoKETgZPL2n3bmqqZxzUsZ4fxe2ho+/AYuQUz+iDKpfjLgKbg/lHcG6cGOj+L3gDrn9S2CxoRg==
+markdown-it@12.0.6:
+ version "12.0.6"
+ resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.0.6.tgz#adcc8e5fe020af292ccbdf161fe84f1961516138"
+ integrity sha512-qv3sVLl4lMT96LLtR7xeRJX11OUFjsaD5oVat2/SNBIb21bJXwal2+SklcRbTwGwqWpWH/HRtYavOoJE+seL8w==
dependencies:
argparse "^2.0.1"
entities "~2.1.0"
@@ -6615,14 +6606,6 @@ mem@^4.0.0:
mimic-fn "^2.0.0"
p-is-promise "^2.0.0"
-memory-fs@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
- integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
merge-source-map@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
@@ -8284,10 +8267,10 @@ postcss-zindex@^2.0.1:
postcss "^5.0.4"
uniqs "^2.0.0"
-postcss@8.2.10:
- version "8.2.10"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.10.tgz#ca7a042aa8aff494b334d0ff3e9e77079f6f702b"
- integrity sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==
+postcss@8.2.12, postcss@^8.2.10:
+ version "8.2.12"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.12.tgz#81248a1a87e0f575cc594a99a08207fd1c4addc4"
+ integrity sha512-BJnGT5+0q2tzvs6oQfnY2NpEJ7rIXNfBnZtQOKCIsweeWXBXeDd5k31UgTdS3d/c02ouspufn37mTaHWkJyzMQ==
dependencies:
colorette "^1.2.2"
nanoid "^3.1.22"
@@ -8303,7 +8286,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
source-map "^0.5.6"
supports-color "^3.2.3"
-postcss@^8.1.10, postcss@^8.2.8:
+postcss@^8.1.10:
version "8.2.8"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.8.tgz#0b90f9382efda424c4f0f69a2ead6f6830d08ece"
integrity sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==
@@ -8453,11 +8436,6 @@ proto-list@~1.2.1:
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
-prr@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
- integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
-
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@@ -8847,10 +8825,10 @@ redis-parser@^3.0.0:
dependencies:
redis-errors "^1.0.0"
-redis@3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/redis/-/redis-3.1.1.tgz#a44bee7c072dcf685e139048d6a1a4d3b00f5d01"
- integrity sha512-QhkKhOuzhogR1NDJfBD34TQJz2ZJwDhhIC6ZmvpftlmfYShHHQXjjNspAJ+Z2HH5NwSBVYBVganbiZ8bgFMHjg==
+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"
@@ -8954,7 +8932,7 @@ replace-homedir@^1.0.0:
is-absolute "^1.0.0"
remove-trailing-separator "^1.1.0"
-replacestream@^4.0.0:
+replacestream@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/replacestream/-/replacestream-4.0.3.tgz#3ee5798092be364b1cdb1484308492cb3dff2f36"
integrity sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==
@@ -9257,12 +9235,12 @@ sass-loader@11.0.1:
klona "^2.0.4"
neo-async "^2.6.2"
-sass@1.32.8:
- version "1.32.8"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.8.tgz#f16a9abd8dc530add8834e506878a2808c037bdc"
- integrity sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==
+sass@1.32.11:
+ version "1.32.11"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.11.tgz#b236b3ea55c76602c2ef2bd0445f0db581baa218"
+ integrity sha512-O9tRcob/fegUVSIV1ihLLZcftIOh0AF1VpKgusUfLqnb2jQ0GLDwI5ivv1FYWivGv8eZ/AwntTyTzjcHu0c/qw==
dependencies:
- chokidar ">=2.0.0 <4.0.0"
+ chokidar ">=3.0.0 <4.0.0"
sax@1.2.1:
version "1.2.1"
@@ -10095,7 +10073,7 @@ table@^6.0.4:
slice-ansi "^4.0.0"
string-width "^4.2.0"
-tapable@^1.0.0, tapable@^1.0.0-beta.5:
+tapable@^1.0.0-beta.5:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
@@ -10199,10 +10177,10 @@ textarea-caret@3.1.0:
resolved "https://registry.yarnpkg.com/textarea-caret/-/textarea-caret-3.1.0.tgz#5d5a35bb035fd06b2ff0e25d5359e97f2655087f"
integrity sha512-cXAvzO9pP5CGa6NKx0WYHl+8CHKZs8byMkt3PCJBCmq2a34YA9pO1NrQET5pzeqnBjBdToF5No4rrmkDUgQC2Q==
-textextensions@2:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4"
- integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ==
+textextensions@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-3.3.0.tgz#03530d5287b86773c08b77458589148870cc71d3"
+ integrity sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==
thenify-all@^1.0.0:
version "1.6.0"
@@ -10404,14 +10382,13 @@ tree-kill@^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-loader@8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.1.0.tgz#d6292487df279c7cc79b6d3b70bb9d31682b693e"
- integrity sha512-YiQipGGAFj2zBfqLhp28yUvPP9jUGqHxRzrGYuc82Z2wM27YIHbElXiaZDc93c3x0mz4zvBmS6q/DgExpdj37A==
+ts-loader@9.1.1:
+ version "9.1.1"
+ resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.1.1.tgz#83f598c37e648f3b6b2350bfac6f58f9253d078c"
+ integrity sha512-u91MdIE4rtN/06Q881uUzVeMoYy+CdFXoanCQXVGRubKKxgLjqQ/H9nkDbp6klkiPv3t18KLjZbEofkJodM3ow==
dependencies:
chalk "^4.1.0"
- enhanced-resolve "^4.0.0"
- loader-utils "^2.0.0"
+ enhanced-resolve "^5.0.0"
micromatch "^4.0.0"
semver "^7.3.4"
@@ -10427,10 +10404,10 @@ ts-node@9.1.1:
source-map-support "^0.5.17"
yn "3.1.1"
-tsc-alias@1.2.9:
- version "1.2.9"
- resolved "https://registry.yarnpkg.com/tsc-alias/-/tsc-alias-1.2.9.tgz#9fbf38e5eb1bd89c7f4fc26ef0712e22a6ef8939"
- integrity sha512-/ec9t/EIhW7h1oQ/mbezNlHsYipDsJY6IUi2SNRvzvnu8Iamp4nSUDUIdpx9jaoq2QZPKm63Je6bQZBGqWS4jA==
+tsc-alias@1.2.10:
+ version "1.2.10"
+ resolved "https://registry.yarnpkg.com/tsc-alias/-/tsc-alias-1.2.10.tgz#edcc018ab94104e795999a9960bb94e7c9a3ca23"
+ integrity sha512-6koWkGL9A/01qC65vVecgN3vZwCvWqx1GPoksgvQkNp+GAbT1z5tuFx+pvtmkYjR07WcNP1rGln/+RRvlIrNRQ==
dependencies:
"@jfonx/console-utils" "^1.0.3"
"@jfonx/file-utils" "^3.0.1"
@@ -11093,7 +11070,36 @@ webpack-sources@^2.1.1:
source-list-map "^2.0.1"
source-map "^0.6.1"
-webpack@5.33.2, webpack@^5:
+webpack@5.35.1:
+ version "5.35.1"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.35.1.tgz#857670799465c8a5cbb94c4c175d60ac42d18ba3"
+ integrity sha512-uWKYStqJ23+N6/EnMEwUjPSSKUG1tFmcuKhALEh/QXoUxwN8eb3ATNIZB38A+fO6QZ0xfc7Cu7KNV9LXNhDCsw==
+ dependencies:
+ "@types/eslint-scope" "^3.7.0"
+ "@types/estree" "^0.0.47"
+ "@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.8.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"
+
+webpack@^5:
version "5.33.2"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.33.2.tgz#c049717c9b038febf5a72fd2f53319ad59a8c1fc"
integrity sha512-X4b7F1sYBmJx8mlh2B7mV5szEkE0jYNJ2y3akgAP0ERi0vLCG1VvdsIxt8lFd4st6SUy0lf7W0CCQS566MBpJg==
@@ -11277,7 +11283,12 @@ write-json-file@^2.3.0:
sort-keys "^2.0.0"
write-file-atomic "^2.0.0"
-ws@7.4.4, ws@^7.4.4:
+ws@7.4.5:
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1"
+ integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==
+
+ws@^7.4.4:
version "7.4.4"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59"
integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==
@@ -11397,6 +11408,11 @@ yargs-parser@5.0.0-security.0, yargs-parser@^5.0.0:
camelcase "^3.0.0"
object.assign "^4.1.0"
+yargs-parser@>=5.0.0-security.0:
+ version "20.2.7"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
+ integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==
+
yargs-parser@^13.1.2:
version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"