Merge branch 'master' into locale-improvements

This commit is contained in:
ChunkyProgrammer 2021-09-05 08:12:46 -04:00 committed by GitHub
commit d65d0b2fae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 213 additions and 155 deletions

View file

@ -12,7 +12,7 @@
"@fortawesome/free-brands-svg-icons": "^5.15.4",
"@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/vue-fontawesome": "^3.0.0-4",
"core-js": "3.16.4",
"core-js": "3.17.2",
"css-loader": "^6.2.0",
"dompurify": "^2.3.1",
"hotkeys-js": "^3.8.7",
@ -21,7 +21,7 @@
"register-service-worker": "^1.7.1",
"shaka-player": "3.2.0",
"uikit": "3.7.2",
"vue": "^3.1.5",
"vue": "^3.2.8",
"vue-i18n": "^9.1.7",
"vue-router": "^4.0.11",
"xml-js": "^1.6.11"
@ -31,7 +31,7 @@
"@vue/cli-plugin-eslint": "^4.5.13",
"@vue/cli-plugin-pwa": "^4.5.13",
"@vue/cli-service": "^4.5.13",
"@vue/compiler-sfc": "3.2.6",
"@vue/compiler-sfc": "3.2.8",
"babel-eslint": "^10.1.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^7.17.0"

View file

@ -1,12 +1,23 @@
<template>
<h1 class="uk-text-bold uk-text-center" v-t="'titles.feed'" />
<small>You can import subscriptions from <router-link to="/import">here</router-link>.</small>
<button
v-if="authenticated"
@click="exportHandler"
class="uk-button uk-button-small"
style="background: #222; margin-right: 0.5rem"
type="button"
>
<router-link to="/subscriptions">
Subscriptions
</router-link>
</button>
<br />
<router-link to="/subscriptions" class="uk-text-center" v-t="'actions.view_subscriptions'" />
<span>
<a :href="getRssUrl"><font-awesome-icon icon="rss" style="padding-top: 0.2rem"></font-awesome-icon></a>
</span>
<br />
<span class="uk-align-right">
{{ $t("actions.sort_by") }}
<select class="uk-select uk-width-auto" v-model="selectedSort" @change="onChange()">
<option value="descending" v-t="'actions.most_recent'" />
@ -14,10 +25,7 @@
<option value="channel_ascending" v-t="'actions.channel_name_asc'" />
<option value="channel_descending" v-t="'actions.channel_name_desc'" />
</select>
<div class="uk-align-right">
<a :href="getRssUrl"><font-awesome-icon icon="rss"></font-awesome-icon></a>
</div>
</span>
<hr />

View file

@ -1,14 +1,16 @@
<template>
<h1 class="uk-text-bold uk-text-center">Watch History</h1>
<br />
{{ $t("actions.sort_by") }}
<div style="text-align: right">
{{ $t("actions.sort_by") }}:
<select class="uk-select uk-width-auto" v-model="selectedSort" @change="onChange()">
<option value="descending" v-t="'actions.most_recent'" />
<option value="ascending" v-t="'actions.least_recent'" />
<option value="channel_ascending" v-t="'actions.channel_name_asc'" />
<option value="channel_descending" v-t="'actions.channel_name_desc'" />
</select>
</div>
<hr />
@ -22,6 +24,8 @@
<VideoItem :video="video" />
</div>
</div>
<br />
</template>
<script>

View file

@ -95,7 +95,9 @@ export default {
const MseSupport = window.MediaSource !== undefined;
const lbry = this.video.videoStreams.filter(stream => stream.quality === "LBRY")[0];
const lbry = this.getPreferenceBoolean("disableLBRY", false)
? null
: this.video.videoStreams.filter(stream => stream.quality === "LBRY")[0];
var uri;
@ -112,6 +114,12 @@ export default {
} else uri = this.video.dash;
} else if (lbry) {
uri = lbry.url;
if (this.getPreferenceBoolean("proxyLBRY", false)) {
const url = new URL(uri);
url.searchParams.set("host", url.host);
url.host = new URL(this.video.proxyUrl).host;
uri = url.toString();
}
} else {
uri = this.video.videoStreams.filter(stream => stream.codec == null).slice(-1)[0].url;
}

View file

@ -106,6 +106,14 @@
<option value="vp9">VP9</option>
<option value="avc">AVC (h.264)</option>
</select>
<br />
<b v-t="'actions.disable_lbry'" />
<br />
<input class="uk-checkbox" v-model="disableLBRY" @change="onChange($event)" type="checkbox" />
<br />
<b v-t="'actions.enable_lbry_proxy'" />
<br />
<input class="uk-checkbox" v-model="proxyLBRY" @change="onChange($event)" type="checkbox" />
<h2 v-t="'actions.instances_list'" />
<table class="uk-table">
<thead>
@ -181,6 +189,8 @@ export default {
{ code: "tr", name: "Turkish" },
],
enabledCodecs: ["av1", "vp9", "avc"],
disableLBRY: false,
proxyLBRY: false,
};
},
activated() {
@ -267,6 +277,8 @@ export default {
this.watchHistory = this.getPreferenceBoolean("watchHistory", false);
this.selectedLanguage = this.getPreferenceString("hl", "en");
this.enabledCodecs = this.getPreferenceString("enabledCodecs", "av1,vp9,avc").split(",");
this.disableLBRY = this.getPreferenceBoolean("disableLBRY", false);
this.proxyLBRY = this.getPreferenceBoolean("proxyLBRY", false);
}
},
methods: {
@ -307,6 +319,8 @@ export default {
localStorage.setItem("watchHistory", this.watchHistory);
localStorage.setItem("hl", this.selectedLanguage);
localStorage.setItem("enabledCodecs", this.enabledCodecs.join(","));
localStorage.setItem("disableLBRY", this.disableLBRY);
localStorage.setItem("proxyLBRY", this.proxyLBRY);
if (shouldReload) window.location.reload();
}

View file

@ -25,15 +25,11 @@
v-bind:key="result.url"
v-for="result in results.items"
>
<div class="uk-text-secondary">
<VideoItem v-if="shouldUseVideoItem(result)" :video="result" height="94" width="168" />
<div class="uk-text-secondary" v-if="!shouldUseVideoItem(result)">
<router-link class="uk-text-emphasis" v-bind:to="result.url">
<div class="uk-position-relative">
<img style="width: 100%" v-bind:src="result.thumbnail" loading="lazy" />
<span
v-if="result.duration"
class="uk-label uk-border-rounded uk-position-absolute uk-dark"
style="bottom: 5px; right: 5px; opacity: .95;"
>{{ timeFormat(result.duration) }}</span>
</div>
<p>
{{ result.name }}&thinsp;<font-awesome-icon
@ -52,25 +48,18 @@
</p>
</router-link>
<b v-if="result.uploadDate">
{{ result.uploadDate }}
</b>
<a v-if="result.uploaderName" class="uk-text-muted">{{ result.uploaderName }}</a>
<b v-if="result.videos >= 0"><br v-if="result.uploaderName" />{{ result.videos }} {{ $t("video.videos") }}</b>
<br />
<b v-if="result.views >= 0" class="uk-text-small">
<font-awesome-icon icon="eye"></font-awesome-icon>
{{ numberFormat(result.views) }} {{ $t("video.views") }}
</b>
</div>
</div>
</div>
</template>
<script>
import VideoItem from "@/components/VideoItem.vue";
export default {
data() {
return {
@ -124,6 +113,12 @@ export default {
});
}
},
shouldUseVideoItem(item) {
return item.title;
},
},
components: {
VideoItem,
},
};
</script>

View file

@ -1,32 +1,51 @@
<template>
<h1 class="uk-text-bold uk-text-center">Subscriptions</h1>
<div style="text-align: center">
<button
v-if="authenticated"
class="uk-button uk-button-small"
style="background: #222; margin-right: 0.5rem"
type="button"
>
<router-link to="/import">
Import from JSON
</router-link>
</button>
<button
v-if="authenticated"
@click="exportHandler"
class="uk-button uk-button-small"
style="background: #222"
style="background: #222; color: white"
type="button"
>
{{ $t("actions.export_to_json") }}
</button>
<div :key="subscription.url" v-for="subscription in subscriptions">
</div>
<hr />
<div :key="subscription.url" v-for="subscription in subscriptions" style="text-align: center;">
<div class="uk-text-primary" :style="[{ background: backgroundColor }]">
<a :href="subscription.url">
<img :src="subscription.avatar" class="uk-margin-small-right uk-border-circle" width="50" height="50" />
<span class="uk-text-truncate">{{ subscription.name }}</span>
<img :src="subscription.avatar" class="uk-margin-small-right uk-border-circle" width="96" height="96" />
<span class="uk-text-large" style="width: 30rem; display: inline-block; text-align: center; margin-left: 6rem">{{ subscription.name }}</span>
</a>
<button
class="uk-button uk-button-small"
style="background: #222"
class="uk-button uk-button-large"
style="background: #222; margin-left: 0.5rem; width: 185px"
type="button"
@click="handleButton(subscription)"
>
{{ subscription.subscribed ? $t("actions.unsubscribe") : $t("actions.subscribe") }}
</button>
</div>
<br />
</div>
<br />
</template>
<script>

View file

@ -23,38 +23,46 @@
>{{ $t("video.watched") }}</span
>
</div>
<p class="uk-text-break">{{ video.title }}</p>
<div>
<p class="uk-text-break" style="padding-top: 0.5rem; margin-bottom: 0.5rem">{{ video.title }}</p>
</div>
</router-link>
<div :class="{ 'uk-align-left': !(video.views >= 0 || video.uploadedDate) }">
<div v-if="video.uploaderUrl && video.uploaderName && !hideChannel">
<div class="uk-align-right" style="margin-left: 0; margin-bottom: 0; display: inline-block; width: 10%">
<router-link :to="video.url + '&listen=1'">
<font-awesome-icon icon="headphones"></font-awesome-icon>
</router-link>
</div>
<div v-if="video.uploaderUrl && video.uploaderName && !hideChannel" style="display: flex; flex-flow: row; height: 15%">
<router-link class="uk-link-muted" :to="video.uploaderUrl">
<img v-if="video.uploaderAvatar" :src="video.uploaderAvatar" loading="lazy" class="uk-border-circle" style="margin-right: 0.5rem; margin-top:0.5rem; width: 32px; height: 32px;" />
</router-link>
<div>
<router-link class="uk-link-muted" :to="video.uploaderUrl">
{{ video.uploaderName }}&thinsp;<font-awesome-icon
v-if="video.uploaderVerified"
icon="check"
></font-awesome-icon>
</router-link>
<br />
</div>
</div>
<b v-if="video.views >= 0 || video.uploadedDate" class="uk-text-small uk-align-left">
<div v-if="video.views >= 0">
<font-awesome-icon icon="eye"></font-awesome-icon>
{{ numberFormat(video.views) }} {{ $t("video.views") }}
<br />
</div>
<div v-if="video.uploadedDate">
<b v-if="video.views >= 0 || video.uploadedDate" class="uk-text-small">
<span v-if="video.views >= 0">
<font-awesome-icon icon="eye"></font-awesome-icon>
{{ numberFormat(video.views) }}
</span>
<span v-if="video.uploadedDate">
{{ video.uploadedDate }}
</div>
<div v-if="video.uploaded">
</span>
<span v-if="video.uploaded">
{{ timeAgo(video.uploaded) }}
</div>
</span>
</b>
<div class="uk-align-right">
<router-link :to="video.url + '&listen=1'">
<font-awesome-icon icon="headphones"></font-awesome-icon>
</router-link>
</div>
</div>
</div>
</template>

View file

@ -57,9 +57,9 @@
<div class="uk-flex uk-flex-middle uk-margin-small-top">
<img :src="video.uploaderAvatar" loading="lazy" class="uk-border-circle" />
<router-link class="uk-text-bold uk-margin-small-left" v-if="video.uploaderUrl" :to="video.uploaderUrl">
<a>{{ video.uploader }}</a>
</router-link>
<router-link class="uk-link uk-margin-small-left" v-if="video.uploaderUrl" :to="video.uploaderUrl">
{{ video.uploader }} </router-link
>&thinsp;<font-awesome-icon v-if="video.uploaderVerified" icon="check"></font-awesome-icon>
<div class="uk-flex-1"></div>
<button
v-if="authenticated"

View file

@ -54,7 +54,9 @@
"auto_play_next_video": "Auto Play next Video",
"donations": "Donations",
"minimize_description": "Minimize Description",
"show_description": "Show Description"
"show_description": "Show Description",
"disable_lbry": "Disable LBRY for Streaming",
"enable_lbry_proxy": "Enable Proxy for LBRY"
},
"comment": {
"pinned_by": "Pinned by"

128
yarn.lock
View file

@ -1513,38 +1513,38 @@
semver "^6.1.0"
strip-ansi "^6.0.0"
"@vue/compiler-core@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.6.tgz#7162bb0670273f04566af0d353009187ab577915"
integrity sha512-vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==
"@vue/compiler-core@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.8.tgz#13b2386bdb03455c9f6c6af2f3468561a5ae5b1d"
integrity sha512-Sx8qJ030+QM/NakUrkQuUGCeDEb+0d0AgFOl5W4qRvR6e+YgLnW2ew0jREf4T1hak9Fdk8Edl67StECHrhEuew==
dependencies:
"@babel/parser" "^7.15.0"
"@babel/types" "^7.15.0"
"@vue/shared" "3.2.6"
"@vue/shared" "3.2.8"
estree-walker "^2.0.2"
source-map "^0.6.1"
"@vue/compiler-dom@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.6.tgz#3764d7fe1a696e39fb2a3c9d638da0749e369b2d"
integrity sha512-+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==
"@vue/compiler-dom@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.8.tgz#69bc9e08928a12295c31299067f18d87301981a9"
integrity sha512-nxBW6k8FMWQ74294CRbqR+iEJRO5vIjx85I3YCOyZFD6FsDHyFL60g76TcJzucp+F2XXIDaYz+A+F4gQlDatjw==
dependencies:
"@vue/compiler-core" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/compiler-core" "3.2.8"
"@vue/shared" "3.2.8"
"@vue/compiler-sfc@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.6.tgz#d6ab7410cff57081ab627b15a1ea51a1072c7cf1"
integrity sha512-Ariz1eDsf+2fw6oWXVwnBNtfKHav72RjlWXpEgozYBLnfRPzP+7jhJRw4Nq0OjSsLx2HqjF3QX7HutTjYB0/eA==
"@vue/compiler-sfc@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.8.tgz#23699f69d38b1c32ec54f8b470f3e6375ffc6b6e"
integrity sha512-XClueQAXoWtN2EToKgfYH9FCL70Ac4bxx6OZFZzxYSg1bei8IB9srJP1UOfnJb2IpnM1heikAz1dp1HI1wHcyQ==
dependencies:
"@babel/parser" "^7.15.0"
"@babel/types" "^7.15.0"
"@types/estree" "^0.0.48"
"@vue/compiler-core" "3.2.6"
"@vue/compiler-dom" "3.2.6"
"@vue/compiler-ssr" "3.2.6"
"@vue/ref-transform" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/compiler-core" "3.2.8"
"@vue/compiler-dom" "3.2.8"
"@vue/compiler-ssr" "3.2.8"
"@vue/ref-transform" "3.2.8"
"@vue/shared" "3.2.8"
consolidate "^0.16.0"
estree-walker "^2.0.2"
hash-sum "^2.0.0"
@ -1556,13 +1556,13 @@
postcss-selector-parser "^6.0.4"
source-map "^0.6.1"
"@vue/compiler-ssr@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.6.tgz#cadcf199859fa00739f4275b4c85970e4b0abe7d"
integrity sha512-A7IKRKHSyPnTC4w1FxHkjzoyjXInsXkcs/oX22nBQ+6AWlXj2Tt1le96CWPOXy5vYlsTYkF1IgfBaKIdeN/39g==
"@vue/compiler-ssr@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.8.tgz#99733532f44d77144ce1e3b853f2fa08ba394e7a"
integrity sha512-QqyiFRiIl55W0abDNQ6cNG/7iIfBHmbXVtssUAjX3IlI87ELeT0xackmrCyTSnfIX12ixljg9AN0COIZwlvt5A==
dependencies:
"@vue/compiler-dom" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/compiler-dom" "3.2.8"
"@vue/shared" "3.2.8"
"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2":
version "3.2.2"
@ -1590,45 +1590,45 @@
resolved "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab"
integrity sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==
"@vue/reactivity@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.6.tgz#b8993fa6f48545178e588e25a9c9431a1c1b7d50"
integrity sha512-8vIDD2wpCnYisNNZjmcIj+Rixn0uhZNY3G1vzlgdVdLygeRSuFjkmnZk6WwvGzUWpKfnG0e/NUySM3mVi59hAA==
"@vue/reactivity@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.8.tgz#b27200ccfaa06f312ac467b12a38161377c557ed"
integrity sha512-/Hj3Uz28SG+xB5SDWPOXUs0emvHkq82EmTgk44/plTVFeswCZ3i3Hd7WmsrPT4rGajlDKd5uqMmW0ith1ED0FA==
dependencies:
"@vue/shared" "3.2.6"
"@vue/shared" "3.2.8"
"@vue/ref-transform@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/ref-transform/-/ref-transform-3.2.6.tgz#30b5f1fa77daf9894bc23e6a5a0e3586a4a796b8"
integrity sha512-ie39+Y4nbirDLvH+WEq6Eo/l3n3mFATayqR+kEMSphrtMW6Uh/eEMx1Gk2Jnf82zmj3VLRq7dnmPx72JLcBYkQ==
"@vue/ref-transform@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/ref-transform/-/ref-transform-3.2.8.tgz#a527047bab43ce50ef3d400ce71312ab30f825dc"
integrity sha512-9LdADd4JM3klt+b2qNT8a7b7JvBETNBy2Btv5rDzyPrAVS4Vrw+1WWay6gZBgnxfJ9TPSvG8f/9zu6gNGHmJLA==
dependencies:
"@babel/parser" "^7.15.0"
"@vue/compiler-core" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/compiler-core" "3.2.8"
"@vue/shared" "3.2.8"
estree-walker "^2.0.2"
magic-string "^0.25.7"
"@vue/runtime-core@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.6.tgz#376baeef7fe02a62377d46d0d0a8ab9510db1d8e"
integrity sha512-3mqtgpj/YSGFxtvTufSERRApo92B16JNNxz9p+5eG6PPuqTmuRJz214MqhKBEgLEAIQ6R6YCbd83ZDtjQnyw2g==
"@vue/runtime-core@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.8.tgz#8a2342c0baa0fee192f819a3bdc19547d7430b88"
integrity sha512-hwzXLGw1njBEY5JSyRXIIdCtzMFFF6F38WcKMmoIE3p7da30jEbWt8EwwrBomjT8ZbqzElOGlewBcnXNOiiIUg==
dependencies:
"@vue/reactivity" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/reactivity" "3.2.8"
"@vue/shared" "3.2.8"
"@vue/runtime-dom@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.6.tgz#0f74dbca84d56c222fbfbd53415b260386859a3b"
integrity sha512-fq33urnP0BNCGm2O3KCzkJlKIHI80C94HJ4qDZbjsTtxyOn5IHqwKSqXVN3RQvO6epcQH+sWS+JNwcNDPzoasg==
"@vue/runtime-dom@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.8.tgz#c6631b507049d39844b0434e81df1aa79efcc6cb"
integrity sha512-A/aRrlGLJ5y4Z7eNbnO/xHwx2RiPijQo7D3OIwESroG3HNP+dpuoqamajo5TXS9ZGjbMOih82COoe7xb9P4BZw==
dependencies:
"@vue/runtime-core" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/runtime-core" "3.2.8"
"@vue/shared" "3.2.8"
csstype "^2.6.8"
"@vue/shared@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.6.tgz#2c22bae88fe2b7b59fa68a9c9c4cd60bae2c1794"
integrity sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw==
"@vue/shared@3.2.8":
version "3.2.8"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.8.tgz#2f918e330aeb3f56ab1031ca60a5b30672512457"
integrity sha512-E2DQQnG7Qr4GwTs3GlfPPlHliGVADoufTnhpwfoViw7JlyLMmYtjfnTwM6nXAwvSJWiF7D+7AxpnWBBT3VWo6Q==
"@vue/web-component-wrapper@^1.2.0":
version "1.3.0"
@ -2983,10 +2983,10 @@ core-js-compat@^3.14.0, core-js-compat@^3.16.0, core-js-compat@^3.6.5:
browserslist "^4.16.8"
semver "7.0.0"
core-js@3.16.4, core-js@^3.6.5:
version "3.16.4"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.4.tgz#0fb1029a554fc2688c0963d7c900e188188a78e0"
integrity sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==
core-js@3.17.2, core-js@^3.6.5:
version "3.17.2"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.17.2.tgz#f960eae710dc62c29cca93d5332e3660e289db10"
integrity sha512-XkbXqhcXeMHPRk2ItS+zQYliAMilea2euoMsnpRRdDad6b2VY6CQQcwz1K8AnWesfw4p165RzY0bTnr3UrbYiA==
core-js@^2.4.0:
version "2.6.12"
@ -8795,14 +8795,14 @@ vue-template-es2015-compiler@^1.9.0:
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
vue@^3.1.5:
version "3.2.6"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.6.tgz#c71445078751f458648fd8fb3a2da975507d03d2"
integrity sha512-Zlb3LMemQS3Xxa6xPsecu45bNjr1hxO8Bh5FUmE0Dr6Ot0znZBKiM47rK6O7FTcakxOnvVN+NTXWJF6u8ajpCQ==
vue@^3.2.8:
version "3.2.8"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.8.tgz#9124e4c31ebc9c592b2b9f293df5c9a88a78e944"
integrity sha512-x7lwdnOSkceHQUXRVVHBaZzcp6v7M2CYtSZH75zZaT1mTjB4plC4KZHKP/5jAvdqOLBHZGwDSMkWXm3YbAufrA==
dependencies:
"@vue/compiler-dom" "3.2.6"
"@vue/runtime-dom" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/compiler-dom" "3.2.8"
"@vue/runtime-dom" "3.2.8"
"@vue/shared" "3.2.8"
watchpack-chokidar2@^2.0.1:
version "2.0.1"