mirror of https://github.com/FreeTubeApp/FreeTube
Merge branch 'development' into piped-support
This commit is contained in:
commit
99dac6dea6
|
@ -101,6 +101,7 @@ body:
|
|||
- PortableApps (Unofficial)
|
||||
- Scoop (Unofficial)
|
||||
- Snapcraft (Unofficial)
|
||||
- WAPT (Unofficial)
|
||||
- winget (Unofficial)
|
||||
- other
|
||||
validations:
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- '(visual bug)'
|
||||
|
||||
'B: Unofficial Download':
|
||||
- '(AUR \(Unofficial\)|Chocolatey \(Unofficial\)|\.apk \(Android, FreeTubeCordova Unofficial\)|Homebrew \(Unofficial\)|PortableApps \(Unofficial\)|winget \(Unofficial\)|Scoop \(Unofficial\)|Snapcraft \(Unofficial\)|MPR \(Unofficial\)|Nix \(Unofficial\))'
|
||||
- '(AUR \(Unofficial\)|Chocolatey \(Unofficial\)|\.apk \(Android, FreeTubeCordova Unofficial\)|Homebrew \(Unofficial\)|PortableApps \(Unofficial\)|WAPT \(Unofficial\)|winget \(Unofficial\)|Scoop \(Unofficial\)|Snapcraft \(Unofficial\)|MPR \(Unofficial\)|Nix \(Unofficial\))'
|
||||
|
||||
'B: keyboard control':
|
||||
- '(keyboard control not working)'
|
||||
|
|
|
@ -101,6 +101,8 @@ These builds are maintained by the community. While they should be safe, downloa
|
|||
|
||||
* Snap: [Download](https://snapcraft.io/freetube) and [Source Code](https://git.launchpad.net/freetube)
|
||||
|
||||
* WAPT: [Download](https://wapt.tranquil.it/store/tis-freetube)
|
||||
|
||||
* Windows Package Manager (winget): [Usage](https://docs.microsoft.com/en-us/windows/package-manager/winget/)
|
||||
|
||||
## Contributing
|
||||
|
|
16
package.json
16
package.json
|
@ -72,12 +72,12 @@
|
|||
"videojs-mobile-ui": "^0.8.0",
|
||||
"videojs-overlay": "^3.1.0",
|
||||
"videojs-vtt-thumbnails-freetube": "0.0.15",
|
||||
"vue": "^2.7.15",
|
||||
"vue": "^2.7.16",
|
||||
"vue-i18n": "^8.28.2",
|
||||
"vue-observe-visibility": "^1.0.0",
|
||||
"vue-router": "^3.6.5",
|
||||
"vuex": "^3.6.2",
|
||||
"youtubei.js": "^7.0.0"
|
||||
"youtubei.js": "^8.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.23.6",
|
||||
|
@ -89,21 +89,21 @@
|
|||
"copy-webpack-plugin": "^11.0.0",
|
||||
"css-loader": "^6.8.1",
|
||||
"css-minimizer-webpack-plugin": "^5.0.1",
|
||||
"electron": "^28.0.0",
|
||||
"electron": "^28.1.0",
|
||||
"electron-builder": "^24.9.1",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-config-standard": "^17.1.0",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-jsonc": "^2.11.1",
|
||||
"eslint-plugin-n": "^16.4.0",
|
||||
"eslint-plugin-prettier": "^5.0.1",
|
||||
"eslint-plugin-jsonc": "^2.11.2",
|
||||
"eslint-plugin-n": "^16.5.0",
|
||||
"eslint-plugin-prettier": "^5.1.2",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"eslint-plugin-unicorn": "^49.0.0",
|
||||
"eslint-plugin-unicorn": "^50.0.1",
|
||||
"eslint-plugin-vue": "^9.19.2",
|
||||
"eslint-plugin-vuejs-accessibility": "^2.2.0",
|
||||
"eslint-plugin-yml": "^1.11.0",
|
||||
"html-webpack-plugin": "^5.5.4",
|
||||
"html-webpack-plugin": "^5.6.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"json-minimizer-webpack-plugin": "^4.0.0",
|
||||
"lefthook": "^1.5.5",
|
||||
|
|
|
@ -194,7 +194,7 @@ export default defineComponent({
|
|||
})
|
||||
|
||||
this.$router.onReady(() => {
|
||||
if (this.$router.currentRoute.path === '/' && this.landingPage !== '/subscriptions') {
|
||||
if (this.$router.currentRoute.path === '/') {
|
||||
this.$router.replace({ path: this.landingPage })
|
||||
}
|
||||
})
|
||||
|
|
|
@ -24,6 +24,10 @@ export default defineComponent({
|
|||
type: Number,
|
||||
default: null
|
||||
},
|
||||
videos: {
|
||||
type: Number,
|
||||
default: null
|
||||
},
|
||||
location: {
|
||||
type: String,
|
||||
default: null
|
||||
|
@ -61,5 +65,9 @@ export default defineComponent({
|
|||
formattedViews: function () {
|
||||
return formatNumber(this.views)
|
||||
},
|
||||
|
||||
formattedVideos: function () {
|
||||
return formatNumber(this.videos)
|
||||
},
|
||||
}
|
||||
})
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
/>
|
||||
</template>
|
||||
<template
|
||||
v-if="joined || views !== null || location"
|
||||
v-if="joined || views !== null || videos !== null || location"
|
||||
>
|
||||
<h2>{{ $t('Channel.About.Details') }}</h2>
|
||||
<table
|
||||
|
@ -38,6 +38,16 @@
|
|||
</th>
|
||||
<td>{{ formattedViews }}</td>
|
||||
</tr>
|
||||
<tr
|
||||
v-if="videos !== null"
|
||||
>
|
||||
<th
|
||||
scope="row"
|
||||
>
|
||||
{{ $t('Global.Videos') }}
|
||||
</th>
|
||||
<td>{{ formattedVideos }}</td>
|
||||
</tr>
|
||||
<tr
|
||||
v-if="location"
|
||||
>
|
||||
|
|
|
@ -70,7 +70,8 @@ export default defineComponent({
|
|||
communityContinuationData: null,
|
||||
description: '',
|
||||
tags: [],
|
||||
views: 0,
|
||||
viewCount: 0,
|
||||
videoCount: 0,
|
||||
joined: 0,
|
||||
location: null,
|
||||
videoSortBy: 'newest',
|
||||
|
@ -674,7 +675,8 @@ export default defineComponent({
|
|||
this.getChannelAboutLocal()
|
||||
} else {
|
||||
this.description = ''
|
||||
this.views = null
|
||||
this.viewCount = null
|
||||
this.videoCount = null
|
||||
this.joined = 0
|
||||
this.location = null
|
||||
}
|
||||
|
@ -746,14 +748,36 @@ export default defineComponent({
|
|||
const channel = this.channelInstance
|
||||
const about = await channel.getAbout()
|
||||
|
||||
this.description = about.description.isEmpty() ? '' : autolinker.link(about.description.text)
|
||||
if (about.type === 'ChannelAboutFullMetadata') {
|
||||
/** @type {import('youtubei.js').YTNodes.ChannelAboutFullMetadata} */
|
||||
const about_ = about
|
||||
|
||||
const views = extractNumberFromString(about.view_count.text)
|
||||
this.views = isNaN(views) ? null : views
|
||||
this.description = about_.description.isEmpty() ? '' : autolinker.link(about_.description.text)
|
||||
|
||||
this.joined = about.joined_date.isEmpty() ? 0 : new Date(about.joined_date.text.replace('Joined').trim())
|
||||
const viewCount = extractNumberFromString(about_.view_count.text)
|
||||
this.viewCount = isNaN(viewCount) ? null : viewCount
|
||||
|
||||
this.location = about.country.isEmpty() ? null : about.country.text
|
||||
this.videoCount = null
|
||||
|
||||
this.joined = about_.joined_date.isEmpty() ? 0 : new Date(about_.joined_date.text.replace('Joined').trim())
|
||||
|
||||
this.location = about_.country.isEmpty() ? null : about_.country.text
|
||||
} else {
|
||||
/** @type {import('youtubei.js').YTNodes.AboutChannelView} */
|
||||
const metadata = about.metadata
|
||||
|
||||
this.description = metadata.description ? autolinker.link(metadata.description) : ''
|
||||
|
||||
const viewCount = extractNumberFromString(metadata.view_count)
|
||||
this.viewCount = isNaN(viewCount) ? null : viewCount
|
||||
|
||||
const videoCount = extractNumberFromString(metadata.video_count)
|
||||
this.videoCount = isNaN(videoCount) ? null : videoCount
|
||||
|
||||
this.joined = metadata.joined_date.isEmpty() ? 0 : new Date(metadata.joined_date.text.replace('Joined').trim())
|
||||
|
||||
this.location = metadata.country ?? null
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
const errorMessage = this.$t('Local API Error (Click to copy)')
|
||||
|
@ -965,7 +989,8 @@ export default defineComponent({
|
|||
this.thumbnailUrl = youtubeImageUrlToInvidious(thumbnail, this.currentInvidiousInstance)
|
||||
this.updateSubscriptionDetails({ channelThumbnailUrl: thumbnail, channelName: channelName, channelId: channelId })
|
||||
this.description = autolinker.link(response.description)
|
||||
this.views = response.totalViews
|
||||
this.viewCount = response.totalViews
|
||||
this.videoCount = null
|
||||
this.joined = response.joined > 0 ? new Date(response.joined * 1000) : 0
|
||||
this.relatedChannels = response.relatedChannels.map((channel) => {
|
||||
const thumbnailUrl = channel.authorThumbnails.at(-1).url
|
||||
|
|
|
@ -223,7 +223,8 @@
|
|||
id="aboutPanel"
|
||||
:description="description"
|
||||
:joined="joined"
|
||||
:views="views"
|
||||
:views="viewCount"
|
||||
:videos="videoCount"
|
||||
:location="location"
|
||||
:tags="tags"
|
||||
:related-channels="relatedChannels"
|
||||
|
|
|
@ -646,7 +646,7 @@ Channel:
|
|||
Newest: 'Nejnovější'
|
||||
Oldest: 'Nejstarší'
|
||||
About:
|
||||
About: 'O kanálu'
|
||||
About: 'Informace'
|
||||
Channel Description: 'Popis kanálu'
|
||||
Featured Channels: 'Doporučené kanály'
|
||||
Tags:
|
||||
|
|
|
@ -313,6 +313,8 @@ Settings:
|
|||
How do I import my subscriptions?: Wie importiere ich meine Abonnements?
|
||||
Fetch Feeds from RSS: Feeds von RSS abrufen
|
||||
Fetch Automatically: Feed automatisch abrufen
|
||||
Only Show Latest Video for Each Channel: Nur das neueste Video für jeden Kanal
|
||||
anzeigen
|
||||
Advanced Settings:
|
||||
Advanced Settings: Erweiterte Einstellungen
|
||||
Enable Debug Mode (Prints data to the console): Aktiviere Debug-Modus (Konsolenausgabe
|
||||
|
@ -527,6 +529,7 @@ Settings:
|
|||
Set Password To Prevent Access: Passwort festlegen, um den Zugriff auf die Einstellungen
|
||||
zu verhindern
|
||||
Set Password: Passwort festlegen
|
||||
Expand All Settings Sections: Alle Einstellungsabschnitte aufklappen
|
||||
About:
|
||||
#On About page
|
||||
About: Über
|
||||
|
@ -803,6 +806,8 @@ Video:
|
|||
'Live Chat is unavailable for this stream. It may have been disabled by the uploader.': Live-Chat
|
||||
ist für diesen Stream nicht verfügbar. Möglicherweise wurde es vom Uploader deaktiviert.
|
||||
Pause on Current Video: Pause für aktuelles Video
|
||||
Unhide Channel: Kanal anzeigen
|
||||
Hide Channel: Kanal ausblenden
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
|
@ -949,6 +954,11 @@ Profile:
|
|||
Profile Filter: Profilfilter
|
||||
Profile Settings: Profileinstellungen
|
||||
Toggle Profile List: Profilliste umschalten
|
||||
Profile Name: Profilname
|
||||
Edit Profile Name: Profilname bearbeiten
|
||||
Create Profile Name: Profilname erstellen
|
||||
Open Profile Dropdown: Profil-Dropdown öffnen
|
||||
Close Profile Dropdown: Profil-Dropdown schließen
|
||||
The playlist has been reversed: Die Wiedergabeliste wurde umgedreht
|
||||
A new blog is now available, {blogTitle}. Click to view more: Ein neuer Blogeintrag
|
||||
ist verfügbar, {blogTitle}. Klicke, um mehr zu sehen
|
||||
|
@ -1098,3 +1108,6 @@ Playlist will pause when current video is finished: Wiedergabeliste wird pausier
|
|||
wenn das aktuelle Video beendet ist
|
||||
Playlist will not pause when current video is finished: Wiedergabeliste wird nicht
|
||||
pausiert, wenn das aktuelle Video beendet ist
|
||||
Channel Hidden: '{channel} wurde zum Kanalfilter hinzugefügt'
|
||||
Go to page: Gehe zu {page}
|
||||
Channel Unhidden: '{channel} wurde aus dem Kanalfilter entfernt'
|
||||
|
|
|
@ -616,7 +616,7 @@ About:
|
|||
Channel:
|
||||
Subscribe: 'S''abonner'
|
||||
Unsubscribe: 'Se désabonner'
|
||||
Search Channel: 'Chercher une chaîne'
|
||||
Search Channel: 'Chercher dans la chaîne'
|
||||
Your search results have returned 0 results: 'Les résultats de votre recherche ont
|
||||
donné 0 résultat'
|
||||
Sort By: 'Trier Par'
|
||||
|
|
122
yarn.lock
122
yarn.lock
|
@ -382,7 +382,7 @@
|
|||
chalk "^2.4.2"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.18.4", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6":
|
||||
"@babel/parser@^7.22.15", "@babel/parser@^7.23.5", "@babel/parser@^7.23.6":
|
||||
version "7.23.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b"
|
||||
integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==
|
||||
|
@ -1406,7 +1406,7 @@
|
|||
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
|
||||
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
|
||||
|
||||
"@pkgr/utils@^2.3.1":
|
||||
"@pkgr/utils@^2.4.2":
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc"
|
||||
integrity sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==
|
||||
|
@ -1758,14 +1758,16 @@
|
|||
global "~4.4.0"
|
||||
is-function "^1.0.1"
|
||||
|
||||
"@vue/compiler-sfc@2.7.15":
|
||||
version "2.7.15"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.15.tgz#62135fb2f69559fc723fd9c56b8e8b0ac7864a0b"
|
||||
integrity sha512-FCvIEevPmgCgqFBH7wD+3B97y7u7oj/Wr69zADBf403Tui377bThTjBvekaZvlRr4IwUAu3M6hYZeULZFJbdYg==
|
||||
"@vue/compiler-sfc@2.7.16":
|
||||
version "2.7.16"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz#ff81711a0fac9c68683d8bb00b63f857de77dc83"
|
||||
integrity sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.18.4"
|
||||
"@babel/parser" "^7.23.5"
|
||||
postcss "^8.4.14"
|
||||
source-map "^0.6.1"
|
||||
optionalDependencies:
|
||||
prettier "^1.18.2 || ^2.0.0"
|
||||
|
||||
"@vue/component-compiler-utils@^3.1.0":
|
||||
version "3.3.0"
|
||||
|
@ -2406,7 +2408,7 @@ braces@^3.0.2, braces@~3.0.2:
|
|||
dependencies:
|
||||
fill-range "^7.0.1"
|
||||
|
||||
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.4, browserslist@^4.22.1:
|
||||
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.4:
|
||||
version "4.22.1"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619"
|
||||
integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==
|
||||
|
@ -2648,11 +2650,16 @@ chromium-pickle-js@^0.2.0:
|
|||
resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205"
|
||||
integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=
|
||||
|
||||
ci-info@^3.2.0, ci-info@^3.8.0:
|
||||
ci-info@^3.2.0:
|
||||
version "3.8.0"
|
||||
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
|
||||
integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
|
||||
|
||||
ci-info@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2"
|
||||
integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==
|
||||
|
||||
clean-css@^5.2.2:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.0.tgz#ad3d8238d5f3549e83d5f87205189494bc7cbb59"
|
||||
|
@ -2860,12 +2867,12 @@ copy-webpack-plugin@^11.0.0:
|
|||
schema-utils "^4.0.0"
|
||||
serialize-javascript "^6.0.0"
|
||||
|
||||
core-js-compat@^3.31.0, core-js-compat@^3.32.2:
|
||||
version "3.33.0"
|
||||
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.0.tgz#24aa230b228406450b2277b7c8bfebae932df966"
|
||||
integrity sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==
|
||||
core-js-compat@^3.31.0, core-js-compat@^3.32.2, core-js-compat@^3.34.0:
|
||||
version "3.34.0"
|
||||
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.34.0.tgz#61a4931a13c52f8f08d924522bba65f8c94a5f17"
|
||||
integrity sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==
|
||||
dependencies:
|
||||
browserslist "^4.22.1"
|
||||
browserslist "^4.22.2"
|
||||
|
||||
core-util-is@1.0.2:
|
||||
version "1.0.2"
|
||||
|
@ -3453,10 +3460,10 @@ electron-to-chromium@^1.4.601:
|
|||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.614.tgz#2fe789d61fa09cb875569f37c309d0c2701f91c0"
|
||||
integrity sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==
|
||||
|
||||
electron@^28.0.0:
|
||||
version "28.0.0"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-28.0.0.tgz#21e5590c967125a3c1ec6b0d8d923baf9eb6fd72"
|
||||
integrity sha512-eDhnCFBvG0PGFVEpNIEdBvyuGUBsFdlokd+CtuCe2ER3P+17qxaRfWRxMmksCOKgDHb5Wif5UxqOkZSlA4snlw==
|
||||
electron@^28.1.0:
|
||||
version "28.1.0"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-28.1.0.tgz#9de1ecdaafcb0ec5753827f14dfb199e6c84545e"
|
||||
integrity sha512-82Y7o4PSWPn1o/aVwYPsgmBw6Gyf2lVHpaBu3Ef8LrLWXxytg7ZRZr/RtDqEMOzQp3+mcuy3huH84MyjdmP50Q==
|
||||
dependencies:
|
||||
"@electron/get" "^2.0.0"
|
||||
"@types/node" "^18.11.18"
|
||||
|
@ -3761,21 +3768,22 @@ eslint-plugin-import@^2.29.1:
|
|||
semver "^6.3.1"
|
||||
tsconfig-paths "^3.15.0"
|
||||
|
||||
eslint-plugin-jsonc@^2.11.1:
|
||||
version "2.11.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.11.1.tgz#a6f63ce78362a9d72b4917324f858693c5b35beb"
|
||||
integrity sha512-zQ2h7x0gOdUfogfZJzLdclDWu9bksUQtC/zYmU17eLCBv4yETht8r2sbCRx4EECUdZAS8sW/UF7bTba95BoXRQ==
|
||||
eslint-plugin-jsonc@^2.11.2:
|
||||
version "2.11.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.11.2.tgz#5829ec7b4abd11378be525a85deb3dfbc6348dc7"
|
||||
integrity sha512-F6A0MZhIGRBPOswzzn4tJFXXkPLiLwJaMlQwz/Qj1qx+bV5MCn79vBeJh2ynMmtqqHloi54KDCnsT/KWrcCcnQ==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.2.0"
|
||||
eslint-compat-utils "^0.1.2"
|
||||
espree "^9.6.1"
|
||||
graphemer "^1.4.0"
|
||||
jsonc-eslint-parser "^2.0.4"
|
||||
natural-compare "^1.4.0"
|
||||
|
||||
eslint-plugin-n@^16.4.0:
|
||||
version "16.4.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.4.0.tgz#02ff70d2b164319b6d566672969a9c24688a43df"
|
||||
integrity sha512-IkqJjGoWYGskVaJA7WQuN8PINIxc0N/Pk/jLeYT4ees6Fo5lAhpwGsYek6gS9tCUxgDC4zJ+OwY2bY/6/9OMKQ==
|
||||
eslint-plugin-n@^16.5.0:
|
||||
version "16.5.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.5.0.tgz#4dbd7459f95bc2556ec318480767e8837af168fc"
|
||||
integrity sha512-Hw02Bj1QrZIlKyj471Tb1jSReTl4ghIMHGuBGiMVmw+s0jOPbI4CBuYpGbZr+tdQ+VAvSK6FDSta3J4ib/SKHQ==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
builtins "^5.0.1"
|
||||
|
@ -3788,28 +3796,30 @@ eslint-plugin-n@^16.4.0:
|
|||
resolve "^1.22.2"
|
||||
semver "^7.5.3"
|
||||
|
||||
eslint-plugin-prettier@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz#a3b399f04378f79f066379f544e42d6b73f11515"
|
||||
integrity sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==
|
||||
eslint-plugin-prettier@^5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz#584c94d4bf31329b2d4cbeb10fd600d17d6de742"
|
||||
integrity sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==
|
||||
dependencies:
|
||||
prettier-linter-helpers "^1.0.0"
|
||||
synckit "^0.8.5"
|
||||
synckit "^0.8.6"
|
||||
|
||||
eslint-plugin-promise@^6.1.1:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816"
|
||||
integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==
|
||||
|
||||
eslint-plugin-unicorn@^49.0.0:
|
||||
version "49.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-49.0.0.tgz#4449ea954d7e1455eec8518f9417d7021b245fa8"
|
||||
integrity sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==
|
||||
eslint-plugin-unicorn@^50.0.1:
|
||||
version "50.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-50.0.1.tgz#e539cdb02dfd893c603536264c4ed9505b70e3bf"
|
||||
integrity sha512-KxenCZxqSYW0GWHH18okDlOQcpezcitm5aOSz6EnobyJ6BIByiPDviQRjJIUAjG/tMN11958MxaQ+qCoU6lfDA==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.22.20"
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
ci-info "^3.8.0"
|
||||
"@eslint/eslintrc" "^2.1.4"
|
||||
ci-info "^4.0.0"
|
||||
clean-regexp "^1.0.0"
|
||||
core-js-compat "^3.34.0"
|
||||
esquery "^1.5.0"
|
||||
indent-string "^4.0.0"
|
||||
is-builtin-module "^3.2.1"
|
||||
|
@ -4763,10 +4773,10 @@ html-tags@^3.3.1:
|
|||
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce"
|
||||
integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
|
||||
|
||||
html-webpack-plugin@^5.5.4:
|
||||
version "5.5.4"
|
||||
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.4.tgz#517a48e6f046ff1ae1a172c983cd993eb79d2f6a"
|
||||
integrity sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==
|
||||
html-webpack-plugin@^5.6.0:
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz#50a8fa6709245608cb00e811eacecb8e0d7b7ea0"
|
||||
integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==
|
||||
dependencies:
|
||||
"@types/html-minifier-terser" "^6.0.0"
|
||||
html-minifier-terser "^6.0.2"
|
||||
|
@ -8071,13 +8081,13 @@ swiper@^11.0.5:
|
|||
resolved "https://registry.yarnpkg.com/swiper/-/swiper-11.0.5.tgz#6ed1ad06e6906ba42fd4b93d4988f0626a49046e"
|
||||
integrity sha512-rhCwupqSyRnWrtNzWzemnBLMoyYuoDgGgspAm/8iBD3jCvAWycPLH4Z3TB0O5520DHLzMx94yUMH/B9Efpa48w==
|
||||
|
||||
synckit@^0.8.5:
|
||||
version "0.8.5"
|
||||
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3"
|
||||
integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==
|
||||
synckit@^0.8.6:
|
||||
version "0.8.6"
|
||||
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.6.tgz#b69b7fbce3917c2673cbdc0d87fb324db4a5b409"
|
||||
integrity sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==
|
||||
dependencies:
|
||||
"@pkgr/utils" "^2.3.1"
|
||||
tslib "^2.5.0"
|
||||
"@pkgr/utils" "^2.4.2"
|
||||
tslib "^2.6.2"
|
||||
|
||||
table@^6.8.1:
|
||||
version "6.8.1"
|
||||
|
@ -8227,7 +8237,7 @@ tsconfig-paths@^3.15.0:
|
|||
minimist "^1.2.6"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tslib@^2.0.3, tslib@^2.3.0, tslib@^2.5.0, tslib@^2.6.0:
|
||||
tslib@^2.0.3, tslib@^2.3.0, tslib@^2.5.0, tslib@^2.6.0, tslib@^2.6.2:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
|
||||
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
|
||||
|
@ -8647,12 +8657,12 @@ 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@^2.7.15:
|
||||
version "2.7.15"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.15.tgz#94cd34e6e9f22cd2d35a02143f96a5beac1c1f54"
|
||||
integrity sha512-a29fsXd2G0KMRqIFTpRgpSbWaNBK3lpCTOLuGLEDnlHWdjB8fwl6zyYZ8xCrqkJdatwZb4mGHiEfJjnw0Q6AwQ==
|
||||
vue@^2.7.16:
|
||||
version "2.7.16"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.7.16.tgz#98c60de9def99c0e3da8dae59b304ead43b967c9"
|
||||
integrity sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==
|
||||
dependencies:
|
||||
"@vue/compiler-sfc" "2.7.15"
|
||||
"@vue/compiler-sfc" "2.7.16"
|
||||
csstype "^3.1.0"
|
||||
|
||||
vuex@^3.6.2:
|
||||
|
@ -8985,10 +8995,10 @@ yocto-queue@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251"
|
||||
integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==
|
||||
|
||||
youtubei.js@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/youtubei.js/-/youtubei.js-7.0.0.tgz#1a3590e7f5c500c7f50d1edf99d1d763916799a7"
|
||||
integrity sha512-z87cv6AAjj0c98BkD0qTJvBDTF2DdT+FntJUjmi+vHY2EV+CepeYQAE/eLsdhGvCb6LrNBgGVwVUzXpHYi8NoA==
|
||||
youtubei.js@^8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/youtubei.js/-/youtubei.js-8.0.0.tgz#0fcbe332e263d9be6afe4e3d1917e9ddc1ffbed3"
|
||||
integrity sha512-kUwHvqoB5vfaGaY1quAGcX5JPIyjr5fjj9Zj/ZwUDCrermz/r5uIkNiJ5cNHkmAJbZP9fdygzNMvGHd7fM445g==
|
||||
dependencies:
|
||||
jintr "^1.1.0"
|
||||
tslib "^2.5.0"
|
||||
|
|
Loading…
Reference in New Issue