diff --git a/README.md b/README.md
index dddf9479a008a..8c538e9df15a0 100644
--- a/README.md
+++ b/README.md
@@ -97,7 +97,7 @@ These builds are maintained by the community. While they should be safe, downloa
* Scoop (Windows Only): [Usage](https://github.com/ScoopInstaller/Scoop)
-* Snap: [Download](https://snapcraft.io/freetube-snap) and [Source Code](https://github.com/CapeCrusader321/Freetube-Snap)
+* Snap: [Download](https://snapcraft.io/freetube-snap) and [Source Code](https://launchpad.net/freetube)
* Windows Package Manager (winget): [Usage](https://docs.microsoft.com/en-us/windows/package-manager/winget/)
diff --git a/package.json b/package.json
index 792338d708d7e..02e6b398259ef 100644
--- a/package.json
+++ b/package.json
@@ -78,7 +78,7 @@
"vue-router": "^3.6.5",
"vue-tiny-slider": "^0.1.39",
"vuex": "^3.6.2",
- "youtubei.js": "^5.6.0"
+ "youtubei.js": "^5.8.0"
},
"devDependencies": {
"@babel/core": "^7.22.9",
@@ -91,23 +91,23 @@
"css-loader": "^6.8.1",
"css-minimizer-webpack-plugin": "^5.0.1",
"electron": "^22.3.18",
- "electron-builder": "^23.6.0",
- "eslint": "^8.45.0",
- "eslint-config-prettier": "^8.8.0",
+ "electron-builder": "^24.6.3",
+ "eslint": "^8.46.0",
+ "eslint-config-prettier": "^8.9.0",
"eslint-config-standard": "^17.1.0",
- "eslint-plugin-import": "^2.27.5",
+ "eslint-plugin-import": "^2.28.0",
"eslint-plugin-jsonc": "^2.9.0",
"eslint-plugin-n": "^16.0.1",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-promise": "^6.1.1",
- "eslint-plugin-unicorn": "^48.0.0",
- "eslint-plugin-vue": "^9.15.1",
+ "eslint-plugin-unicorn": "^48.0.1",
+ "eslint-plugin-vue": "^9.16.1",
"eslint-plugin-vuejs-accessibility": "^2.1.0",
"eslint-plugin-yml": "^1.8.0",
"html-webpack-plugin": "^5.5.3",
"js-yaml": "^4.1.0",
"json-minimizer-webpack-plugin": "^4.0.0",
- "lefthook": "^1.4.6",
+ "lefthook": "^1.4.7",
"mini-css-extract-plugin": "^2.7.6",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.26",
diff --git a/src/renderer/components/data-settings/data-settings.js b/src/renderer/components/data-settings/data-settings.js
index 271325872f1ca..48ede5c6247d6 100644
--- a/src/renderer/components/data-settings/data-settings.js
+++ b/src/renderer/components/data-settings/data-settings.js
@@ -421,7 +421,7 @@ export default defineComponent({
}
const newPipeSubscriptions = newPipeData.subscriptions.filter((channel, index) => {
- return channel.service_id === 0
+ return new URL(channel.url).hostname === 'www.youtube.com'
})
const subscriptions = []
@@ -1060,10 +1060,9 @@ export default defineComponent({
invidiousAPICall(subscriptionsPayload).then((response) => {
resolve(response)
}).catch((err) => {
- console.error(err)
const errorMessage = this.$t('Invidious API Error (Click to copy)')
- showToast(`${errorMessage}: ${err.responseJSON.error}`, 10000, () => {
- copyToClipboard(err.responseJSON.error)
+ showToast(`${errorMessage}: ${err}`, 10000, () => {
+ copyToClipboard(err)
})
if (process.env.IS_ELECTRON && this.backendFallback && this.backendPreference === 'invidious') {
@@ -1081,7 +1080,7 @@ export default defineComponent({
const channel = await getLocalChannel(channelId)
if (channel.alert) {
- return undefined
+ return []
}
return {
diff --git a/src/renderer/components/ft-input/ft-input.js b/src/renderer/components/ft-input/ft-input.js
index 2f97cf6132471..45e0e73a2ce94 100644
--- a/src/renderer/components/ft-input/ft-input.js
+++ b/src/renderer/components/ft-input/ft-input.js
@@ -1,6 +1,7 @@
import { defineComponent } from 'vue'
import FtTooltip from '../ft-tooltip/ft-tooltip.vue'
import { mapActions } from 'vuex'
+import { isKeyboardEventKeyPrintableChar, isNullOrEmpty } from '../../helpers/strings'
export default defineComponent({
name: 'FtInput',
@@ -78,7 +79,8 @@ export default defineComponent({
searchState: {
showOptions: false,
selectedOption: -1,
- isPointerInList: false
+ isPointerInList: false,
+ keyboardSelectedOptionIndex: -1,
},
visibleDataList: this.dataList,
// This button should be invisible on app start
@@ -103,7 +105,23 @@ export default defineComponent({
inputDataPresent: function () {
return this.inputData.length > 0
- }
+ },
+ inputDataDisplayed() {
+ if (!this.isSearch) { return this.inputData }
+
+ const selectedOptionValue = this.searchStateKeyboardSelectedOptionValue
+ if (selectedOptionValue != null && selectedOptionValue !== '') {
+ return selectedOptionValue
+ }
+
+ return this.inputData
+ },
+
+ searchStateKeyboardSelectedOptionValue() {
+ if (this.searchState.keyboardSelectedOptionIndex === -1) { return null }
+
+ return this.visibleDataList[this.searchState.keyboardSelectedOptionIndex]
+ },
},
watch: {
dataList(val, oldVal) {
@@ -133,11 +151,15 @@ export default defineComponent({
if (!this.inputDataPresent) { return }
this.searchState.showOptions = false
+ this.searchState.selectedOption = -1
+ this.searchState.keyboardSelectedOptionIndex = -1
this.$emit('input', this.inputData)
this.$emit('click', this.inputData, { event: e })
},
handleInput: function (val) {
+ this.inputData = val
+
if (this.isSearch &&
this.searchState.selectedOption !== -1 &&
this.inputData === this.visibleDataList[this.searchState.selectedOption]) { return }
@@ -217,6 +239,9 @@ export default defineComponent({
this.handleClick()
},
+ /**
+ * @param {KeyboardEvent} event
+ */
handleKeyDown: function (event) {
if (event.key === 'Enter') {
// Update Input box value if enter key was pressed and option selected
@@ -234,25 +259,32 @@ export default defineComponent({
this.searchState.showOptions = true
const isArrow = event.key === 'ArrowDown' || event.key === 'ArrowUp'
- if (isArrow) {
- event.preventDefault()
- if (event.key === 'ArrowDown') {
- this.searchState.selectedOption = (this.searchState.selectedOption + 1) % this.visibleDataList.length
- } else if (event.key === 'ArrowUp') {
- if (this.searchState.selectedOption < 1) {
- this.searchState.selectedOption = this.visibleDataList.length - 1
- } else {
- this.searchState.selectedOption--
- }
- }
- if (this.searchState.selectedOption < 0) {
- this.searchState.selectedOption = this.visibleDataList.length
- } else if (this.searchState.selectedOption > this.visibleDataList.length - 1) {
- this.searchState.selectedOption = 0
+ if (!isArrow) {
+ const selectedOptionValue = this.searchStateKeyboardSelectedOptionValue
+ // Keyboard selected & is char
+ if (!isNullOrEmpty(selectedOptionValue) && isKeyboardEventKeyPrintableChar(event.key)) {
+ // Update input based on KB selected suggestion value instead of current input value
+ event.preventDefault()
+ this.handleInput(`${selectedOptionValue}${event.key}`)
+ return
}
- } else {
+ return
+ }
+
+ event.preventDefault()
+ if (event.key === 'ArrowDown') {
+ this.searchState.selectedOption++
+ } else if (event.key === 'ArrowUp') {
+ this.searchState.selectedOption--
+ }
+ // Allow deselecting suggestion
+ if (this.searchState.selectedOption < -1) {
+ this.searchState.selectedOption = this.visibleDataList.length - 1
+ } else if (this.searchState.selectedOption > this.visibleDataList.length - 1) {
this.searchState.selectedOption = -1
}
+ // Update displayed value
+ this.searchState.keyboardSelectedOptionIndex = this.searchState.selectedOption
},
handleInputBlur: function () {
@@ -265,21 +297,19 @@ export default defineComponent({
updateVisibleDataList: function () {
if (this.dataList.length === 0) { return }
+ // Reset selected option before it's updated
+ this.searchState.selectedOption = -1
+ this.searchState.keyboardSelectedOptionIndex = -1
if (this.inputData === '') {
this.visibleDataList = this.dataList
return
}
// get list of items that match input
const lowerCaseInputData = this.inputData.toLowerCase()
- const visList = this.dataList.filter(x => {
- if (x.toLowerCase().indexOf(lowerCaseInputData) !== -1) {
- return true
- } else {
- return false
- }
- })
- this.visibleDataList = visList
+ this.visibleDataList = this.dataList.filter(x => {
+ return x.toLowerCase().indexOf(lowerCaseInputData) !== -1
+ })
},
updateInputData: function(text) {
diff --git a/src/renderer/components/ft-input/ft-input.vue b/src/renderer/components/ft-input/ft-input.vue
index 4f6e9904f5cbb..3ffff6a8c1568 100644
--- a/src/renderer/components/ft-input/ft-input.vue
+++ b/src/renderer/components/ft-input/ft-input.vue
@@ -42,7 +42,7 @@
{{ list }}
diff --git a/src/renderer/components/ft-list-video/ft-list-video.js b/src/renderer/components/ft-list-video/ft-list-video.js
index b63f69980e4f7..27e7dc8759654 100644
--- a/src/renderer/components/ft-list-video/ft-list-video.js
+++ b/src/renderer/components/ft-list-video/ft-list-video.js
@@ -313,10 +313,17 @@ export default defineComponent({
},
displayTitle: function () {
+ let title
+ if (this.useDeArrowTitles && this.deArrowCache?.title) {
+ title = this.deArrowCache.title
+ } else {
+ title = this.title
+ }
+
if (this.showDistractionFreeTitles) {
- return toDistractionFreeTitle(this.title)
+ return toDistractionFreeTitle(title)
} else {
- return this.title
+ return title
}
},
@@ -376,7 +383,7 @@ export default defineComponent({
},
deArrowCache: function () {
- return this.$store.getters.getDeArrowCache(this.id)
+ return this.$store.getters.getDeArrowCache[this.id]
},
},
watch: {
@@ -394,15 +401,13 @@ export default defineComponent({
created: function () {
this.parseVideoData()
this.checkIfWatched()
+
+ if (this.useDeArrowTitles && !this.deArrowCache) {
+ this.fetchDeArrowData()
+ }
},
methods: {
- getDeArrowDataEntry: async function() {
- // Read from local cache or remote
- // Write to cache if read from remote
- if (!this.useDeArrowTitles) { return null }
-
- if (this.deArrowCache) { return this.deArrowCache }
-
+ fetchDeArrowData: async function() {
const videoId = this.id
const data = await deArrowData(this.id)
const cacheData = { videoId, title: null }
@@ -412,7 +417,6 @@ export default defineComponent({
// Save data to cache whether data available or not to prevent duplicate requests
this.$store.commit('addVideoToDeArrowCache', cacheData)
- return cacheData
},
handleExternalPlayer: function () {
@@ -477,14 +481,20 @@ export default defineComponent({
}
},
- parseVideoData: async function () {
+ parseVideoData: function () {
this.id = this.data.videoId
- this.title = (await this.getDeArrowDataEntry())?.title ?? this.data.title
+ this.title = this.data.title
// this.thumbnail = this.data.videoThumbnails[4].url
this.channelName = this.data.author ?? null
this.channelId = this.data.authorId ?? null
- this.duration = formatDurationAsTimestamp(this.data.lengthSeconds)
+
+ if (this.data.isRSS && this.historyIndex !== -1) {
+ this.duration = formatDurationAsTimestamp(this.historyCache[this.historyIndex].lengthSeconds)
+ } else {
+ this.duration = formatDurationAsTimestamp(this.data.lengthSeconds)
+ }
+
this.description = this.data.description
this.isLive = this.data.liveNow || this.data.lengthSeconds === 'undefined'
this.isUpcoming = this.data.isUpcoming || this.data.premiere
diff --git a/src/renderer/components/ft-subscribe-button/ft-subscribe-button.scss b/src/renderer/components/ft-subscribe-button/ft-subscribe-button.css
similarity index 100%
rename from src/renderer/components/ft-subscribe-button/ft-subscribe-button.scss
rename to src/renderer/components/ft-subscribe-button/ft-subscribe-button.css
diff --git a/src/renderer/components/ft-subscribe-button/ft-subscribe-button.vue b/src/renderer/components/ft-subscribe-button/ft-subscribe-button.vue
index bf6d90d9732a0..11bf54e7e66c6 100644
--- a/src/renderer/components/ft-subscribe-button/ft-subscribe-button.vue
+++ b/src/renderer/components/ft-subscribe-button/ft-subscribe-button.vue
@@ -9,4 +9,4 @@
-
+
diff --git a/src/renderer/components/ft-toast/ft-toast-events.js b/src/renderer/components/ft-toast/ft-toast-events.js
index c32b0e13a7042..95b4ffbb1fe98 100644
--- a/src/renderer/components/ft-toast/ft-toast-events.js
+++ b/src/renderer/components/ft-toast/ft-toast-events.js
@@ -1,4 +1,2 @@
-import Vue from 'vue'
-
-const events = new Vue()
+const events = new EventTarget()
export default events
diff --git a/src/renderer/components/ft-toast/ft-toast.js b/src/renderer/components/ft-toast/ft-toast.js
index cc6b1ad8432fc..a0c8bf03dae35 100644
--- a/src/renderer/components/ft-toast/ft-toast.js
+++ b/src/renderer/components/ft-toast/ft-toast.js
@@ -9,10 +9,10 @@ export default defineComponent({
}
},
mounted: function () {
- FtToastEvents.$on('toast-open', this.open)
+ FtToastEvents.addEventListener('toast-open', this.open)
},
beforeDestroy: function () {
- FtToastEvents.$off('toast-open', this.open)
+ FtToastEvents.removeEventListener('toast-open', this.open)
},
methods: {
performAction: function (index) {
@@ -25,7 +25,7 @@ export default defineComponent({
toast.isOpen = false
},
- open: function (message, time, action) {
+ open: function ({ detail: { message, time, action } }) {
const toast = { message: message, action: action || (() => { }), isOpen: false, timeout: null }
toast.timeout = setTimeout(this.close, time || 3000, toast)
setTimeout(() => { toast.isOpen = true })
diff --git a/src/renderer/components/ft-video-player/ft-video-player.js b/src/renderer/components/ft-video-player/ft-video-player.js
index a4ae59b010166..365237a0176d1 100644
--- a/src/renderer/components/ft-video-player/ft-video-player.js
+++ b/src/renderer/components/ft-video-player/ft-video-player.js
@@ -25,6 +25,13 @@ import {
import { getProxyUrl } from '../../helpers/api/invidious'
import store from '../../store'
+const EXPECTED_PLAY_RELATED_ERROR_MESSAGES = [
+ // This is thrown when `play()` called but user already viewing another page
+ 'The play() request was interrupted by a new load request.',
+ // This is thrown when `pause()` called before video started playing on load
+ 'The play() request was interrupted by a call to pause()',
+]
+
// YouTube now throttles if you use the `Range` header for the DASH formats, instead of the range query parameter
// videojs-http-streaming calls this hook everytime it makes a request,
// so we can use it to convert the Range header into the range query parameter for the streaming URLs
@@ -93,9 +100,21 @@ export default defineComponent({
type: Array,
default: () => { return [] }
},
+ currentChapterIndex: {
+ type: Number,
+ default: 0
+ },
audioTracks: {
type: Array,
default: () => ([])
+ },
+ theatrePossible: {
+ type: Boolean,
+ default: false
+ },
+ useTheatreMode: {
+ type: Boolean,
+ default: false
}
},
data: function () {
@@ -1424,11 +1443,11 @@ export default defineComponent({
},
createToggleTheatreModeButton: function() {
- if (!this.$parent.theatrePossible) {
+ if (!this.theatrePossible) {
return
}
- const theatreModeActive = this.$parent.useTheatreMode ? ' vjs-icon-theatre-active' : ''
+ const theatreModeActive = this.useTheatreMode ? ' vjs-icon-theatre-active' : ''
const toggleTheatreMode = this.toggleTheatreMode
@@ -1458,14 +1477,14 @@ export default defineComponent({
toggleTheatreMode: function() {
if (!this.player.isFullscreen_) {
const toggleTheatreModeButton = document.getElementById('toggleTheatreModeButton')
- if (!this.$parent.useTheatreMode) {
+ if (!this.useTheatreMode) {
toggleTheatreModeButton.classList.add('vjs-icon-theatre-active')
} else {
toggleTheatreModeButton.classList.remove('vjs-icon-theatre-active')
}
}
- this.$parent.toggleTheatreMode()
+ this.$emit('toggle-theatre-mode')
},
createScreenshotButton: function () {
@@ -1949,7 +1968,7 @@ export default defineComponent({
* @returns {boolean}
*/
canChapterJump: function (event, direction) {
- const currentChapter = this.$parent.videoCurrentChapterIndex
+ const currentChapter = this.currentChapterIndex
return this.chapters.length > 0 &&
(direction === 'previous' ? currentChapter > 0 : this.chapters.length - 1 !== currentChapter) &&
((process.platform !== 'darwin' && event.ctrlKey) ||
@@ -1967,9 +1986,8 @@ export default defineComponent({
}
promise
.catch(err => {
- if (err.message.includes('The play() request was interrupted by a new load request.')) {
+ if (EXPECTED_PLAY_RELATED_ERROR_MESSAGES.some(msg => err.message.includes(msg))) {
// Ignoring expected exception
- // This is thrown when `play()` called but user already viewing another page
// console.debug('Ignoring expected error')
// console.debug(err)
return
@@ -2075,7 +2093,7 @@ export default defineComponent({
event.preventDefault()
if (this.canChapterJump(event, 'previous')) {
// Jump to the previous chapter
- this.player.currentTime(this.chapters[this.$parent.videoCurrentChapterIndex - 1].startSeconds)
+ this.player.currentTime(this.chapters[this.currentChapterIndex - 1].startSeconds)
} else {
// Rewind by the time-skip interval (in seconds)
this.changeDurationBySeconds(-this.defaultSkipInterval * this.player.playbackRate())
@@ -2085,7 +2103,7 @@ export default defineComponent({
event.preventDefault()
if (this.canChapterJump(event, 'next')) {
// Jump to the next chapter
- this.player.currentTime(this.chapters[this.$parent.videoCurrentChapterIndex + 1].startSeconds)
+ this.player.currentTime(this.chapters[this.currentChapterIndex + 1].startSeconds)
} else {
// Fast-Forward by the time-skip interval (in seconds)
this.changeDurationBySeconds(this.defaultSkipInterval * this.player.playbackRate())
diff --git a/src/renderer/components/playlist-info/playlist-info.js b/src/renderer/components/playlist-info/playlist-info.js
index 56adb6c457d06..1205076082a1c 100644
--- a/src/renderer/components/playlist-info/playlist-info.js
+++ b/src/renderer/components/playlist-info/playlist-info.js
@@ -45,7 +45,7 @@ export default defineComponent({
},
channelId: {
type: String,
- required: true,
+ default: null,
},
videoCount: {
type: Number,
diff --git a/src/renderer/components/playlist-info/playlist-info.vue b/src/renderer/components/playlist-info/playlist-info.vue
index 19cbefdfee475..babee7e99cf16 100644
--- a/src/renderer/components/playlist-info/playlist-info.vue
+++ b/src/renderer/components/playlist-info/playlist-info.vue
@@ -68,7 +68,7 @@
class="channelShareWrapper"
>
@@ -83,6 +83,16 @@
{{ channelName }}
+
+
+ {{ channelName }}
+
+
{
- if (profile._id === MAIN_PROFILE_ID) {
- const newProfile = {
- _id: MAIN_PROFILE_ID,
- name: profile.name,
- bgColor: profile.bgColor,
- textColor: profile.textColor,
- subscriptions: []
- }
- this.updateProfile(newProfile)
- } else {
- this.removeProfile(profile._id)
+ if (option !== 'yes') { return }
+
+ this.profileList.forEach((profile) => {
+ if (profile._id === MAIN_PROFILE_ID) {
+ const newProfile = {
+ _id: MAIN_PROFILE_ID,
+ name: profile.name,
+ bgColor: profile.bgColor,
+ textColor: profile.textColor,
+ subscriptions: []
}
- })
+ this.updateProfile(newProfile)
+ } else {
+ this.removeProfile(profile._id)
+ }
+ })
- this.clearSubscriptionsCache()
- }
+ this.clearSubscriptionsCache()
},
handleRemovePlaylists: function (option) {
diff --git a/src/renderer/components/subscriptions-live/subscriptions-live.js b/src/renderer/components/subscriptions-live/subscriptions-live.js
index 8eca04d561bf7..bc5f105fe5a66 100644
--- a/src/renderer/components/subscriptions-live/subscriptions-live.js
+++ b/src/renderer/components/subscriptions-live/subscriptions-live.js
@@ -216,6 +216,17 @@ export default defineComponent({
const response = await fetch(feedUrl)
if (response.status === 404) {
+ // playlists don't exist if the channel was terminated but also if it doesn't have the tab,
+ // so we need to check the channel feed too before deciding it errored, as that only 404s if the channel was terminated
+
+ const response2 = await fetch(`https://www.youtube.com/feeds/videos.xml?channel_id=${channel.id}`, {
+ method: 'HEAD'
+ })
+
+ if (response2.status === 404) {
+ this.errorChannels.push(channel)
+ }
+
return []
}
diff --git a/src/renderer/components/subscriptions-shorts/subscriptions-shorts.js b/src/renderer/components/subscriptions-shorts/subscriptions-shorts.js
index 2893b04939cd3..793734a9ab9d5 100644
--- a/src/renderer/components/subscriptions-shorts/subscriptions-shorts.js
+++ b/src/renderer/components/subscriptions-shorts/subscriptions-shorts.js
@@ -157,6 +157,17 @@ export default defineComponent({
const response = await fetch(feedUrl)
if (response.status === 404) {
+ // playlists don't exist if the channel was terminated but also if it doesn't have the tab,
+ // so we need to check the channel feed too before deciding it errored, as that only 404s if the channel was terminated
+
+ const response2 = await fetch(`https://www.youtube.com/feeds/videos.xml?channel_id=${channel.id}`, {
+ method: 'HEAD'
+ })
+
+ if (response2.status === 404) {
+ this.errorChannels.push(channel)
+ }
+
return []
}
diff --git a/src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.css b/src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.css
index 452a03b7fea04..8c2f61968d9a0 100644
--- a/src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.css
+++ b/src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.css
@@ -14,10 +14,6 @@
right: 10px;
}
-.channelBubble {
- display: inline-block;
-}
-
@media only screen and (max-width: 350px) {
.floatingTopButton {
position: absolute
diff --git a/src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.vue b/src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.vue
index 26b8843874c79..96ed3ea3029a4 100644
--- a/src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.vue
+++ b/src/renderer/components/subscriptions-tab-ui/subscriptions-tab-ui.vue
@@ -14,7 +14,6 @@
:channel-name="channel.name"
:channel-id="channel.id"
:channel-thumbnail="channel.thumbnail"
- class="channelBubble"
@click="goToChannel(channel.id)"
/>
diff --git a/src/renderer/components/subscriptions-videos/subscriptions-videos.js b/src/renderer/components/subscriptions-videos/subscriptions-videos.js
index 366351b6cdcae..a535a30dc9479 100644
--- a/src/renderer/components/subscriptions-videos/subscriptions-videos.js
+++ b/src/renderer/components/subscriptions-videos/subscriptions-videos.js
@@ -216,7 +216,17 @@ export default defineComponent({
const response = await fetch(feedUrl)
if (response.status === 404) {
- this.errorChannels.push(channel)
+ // playlists don't exist if the channel was terminated but also if it doesn't have the tab,
+ // so we need to check the channel feed too before deciding it errored, as that only 404s if the channel was terminated
+
+ const response2 = await fetch(`https://www.youtube.com/feeds/videos.xml?channel_id=${channel.id}`, {
+ method: 'HEAD'
+ })
+
+ if (response2.status === 404) {
+ this.errorChannels.push(channel)
+ }
+
return []
}
diff --git a/src/renderer/components/top-nav/top-nav.scss b/src/renderer/components/top-nav/top-nav.scss
index eb94f0c4a2324..1c8d0000d8fb2 100644
--- a/src/renderer/components/top-nav/top-nav.scss
+++ b/src/renderer/components/top-nav/top-nav.scss
@@ -54,11 +54,6 @@
@include top-nav-is-colored {
color: var(--text-with-main-color);
-
- &:hover,
- &:focus {
- background-color: var(--primary-color-hover);
- }
}
&.fa-arrow-left,
@@ -69,10 +64,13 @@
user-select: none;
}
- &:hover,
- &:focus {
+ &:hover {
background-color: var(--side-nav-hover-color);
transition: background 0.2s ease-in;
+
+ @include top-nav-is-colored {
+ background-color: var(--primary-color-hover);
+ }
}
&:active {
diff --git a/src/renderer/components/watch-video-comments/watch-video-comments.css b/src/renderer/components/watch-video-comments/watch-video-comments.css
index 9da563ac891ef..85b9882408bd3 100644
--- a/src/renderer/components/watch-video-comments/watch-video-comments.css
+++ b/src/renderer/components/watch-video-comments/watch-video-comments.css
@@ -49,8 +49,8 @@
float: left;
width: 60px;
height: 60px;
- border-radius: 200px 200px 200px 200px;
- -webkit-border-radius: 200px 200px 200px 200px;
+ border-radius: 200px;
+ -webkit-border-radius: 200px;
}
.commentAuthorWrapper {
diff --git a/src/renderer/components/watch-video-info/watch-video-info.js b/src/renderer/components/watch-video-info/watch-video-info.js
index 8d9bc5cb90cdd..82c48b0ee8765 100644
--- a/src/renderer/components/watch-video-info/watch-video-info.js
+++ b/src/renderer/components/watch-video-info/watch-video-info.js
@@ -230,13 +230,13 @@ export default defineComponent({
})
this.$watch('$refs.downloadButton.dropdownShown', (dropdownShown) => {
- this.$parent.infoAreaSticky = !dropdownShown
+ this.$emit('set-info-area-sticky', !dropdownShown)
if (dropdownShown && window.innerWidth >= 901) {
// adds a slight delay so we know that the dropdown has shown up
// and won't mess up our scrolling
- Promise.resolve().then(() => {
- this.$parent.$refs.infoArea.scrollIntoView()
+ setTimeout(() => {
+ this.$emit('scroll-to-info-area')
})
}
})
diff --git a/src/renderer/components/watch-video-info/watch-video-info.vue b/src/renderer/components/watch-video-info/watch-video-info.vue
index 2e5eee4464521..712557272ff99 100644
--- a/src/renderer/components/watch-video-info/watch-video-info.vue
+++ b/src/renderer/components/watch-video-info/watch-video-info.vue
@@ -115,7 +115,7 @@
theme="secondary"
:icon="['fas', 'file-video']"
:dropdown-options="formatTypeOptions"
- @click="handleFormatChange"
+ @click="$emit('change-format', $event)"
/>
(channelId) => {
return state.liveCache[channelId]
- }
+ },
}
const actions = {
- clearSubscriptionVideosCache: ({ commit }) => {
- commit('clearVideoCache')
- },
-
updateSubscriptionVideosCacheByChannel: ({ commit }, payload) => {
commit('updateVideoCacheByChannel', payload)
},
- clearSubscriptionShortsCache: ({ commit }) => {
- commit('clearShortsCache')
- },
-
updateSubscriptionShortsCacheByChannel: ({ commit }, payload) => {
commit('updateShortsCacheByChannel', payload)
},
- clearSubscriptionLiveCache: ({ commit }) => {
- commit('clearLiveCache')
- },
-
updateSubscriptionLiveCacheByChannel: ({ commit }, payload) => {
commit('updateLiveCacheByChannel', payload)
- }
+ },
+
+ clearSubscriptionsCache: ({ commit }, payload) => {
+ commit('clearVideoCache', payload)
+ commit('clearShortsCache', payload)
+ commit('clearLiveCache', payload)
+ },
}
const mutations = {
@@ -91,7 +85,7 @@ const mutations = {
},
clearLiveCache(state) {
state.liveCache = {}
- }
+ },
}
export default {
diff --git a/src/renderer/store/modules/utils.js b/src/renderer/store/modules/utils.js
index f1b8c57161a8e..99d877d938766 100644
--- a/src/renderer/store/modules/utils.js
+++ b/src/renderer/store/modules/utils.js
@@ -1,6 +1,7 @@
import fs from 'fs/promises'
import path from 'path'
import i18n from '../../i18n/index'
+import { set as vueSet } from 'vue'
import { IpcChannels } from '../../../constants'
import { pathExists } from '../../helpers/filesystem'
@@ -63,8 +64,8 @@ const getters = {
return state.sessionSearchHistory
},
- getDeArrowCache: (state) => (videoId) => {
- return state.deArrowCache[videoId]
+ getDeArrowCache: (state) => {
+ return state.deArrowCache
},
getPopularCache () {
@@ -623,7 +624,10 @@ const actions = {
if (payload.watchProgress > 0 && payload.watchProgress < payload.videoLength - 10) {
if (typeof cmdArgs.startOffset === 'string') {
- if (cmdArgs.startOffset.endsWith('=')) {
+ if (cmdArgs.defaultExecutable.startsWith('mpc')) {
+ // For mpc-hc and mpc-be, which require startOffset to be in milliseconds
+ args.push(cmdArgs.startOffset, (Math.trunc(payload.watchProgress) * 1000))
+ } else if (cmdArgs.startOffset.endsWith('=')) {
// For players using `=` in arguments
// e.g. vlc --start-time=xxxxx
args.push(`${cmdArgs.startOffset}${payload.watchProgress}`)
@@ -679,7 +683,12 @@ const actions = {
}
}
- args.push(`${cmdArgs.playlistUrl}https://youtube.com/playlist?list=${payload.playlistId}`)
+ // If the player supports opening playlists but not indexes, send only the video URL if an index is specified
+ if (cmdArgs.playlistIndex == null && payload.playlistIndex != null && payload.playlistIndex !== '') {
+ args.push(`${cmdArgs.videoUrl}https://youtube.com/watch?v=${payload.videoId}`)
+ } else {
+ args.push(`${cmdArgs.playlistUrl}https://youtube.com/playlist?list=${payload.playlistId}`)
+ }
} else {
if (payload.playlistId != null && payload.playlistId !== '' && !ignoreWarnings) {
showExternalPlayerUnsupportedActionToast(externalPlayer, 'opening playlists')
@@ -725,7 +734,9 @@ const mutations = {
const sameVideo = state.deArrowCache[payload.videoId]
if (!sameVideo) {
- state.deArrowCache[payload.videoId] = payload
+ // setting properties directly doesn't trigger watchers in Vue 2,
+ // so we need to use Vue's set function
+ vueSet(state.deArrowCache, payload.videoId, payload)
}
},
diff --git a/src/renderer/views/Channel/Channel.css b/src/renderer/views/Channel/Channel.css
index e85809631d444..190fd2e8ad7e8 100644
--- a/src/renderer/views/Channel/Channel.css
+++ b/src/renderer/views/Channel/Channel.css
@@ -46,8 +46,8 @@
.channelThumbnail {
width: 100px;
height: 100px;
- border-radius: 200px 200px 200px 200px;
- -webkit-border-radius: 200px 200px 200px 200px;
+ border-radius: 200px;
+ -webkit-border-radius: 200px;
object-fit: cover;
}
diff --git a/src/renderer/views/Channel/Channel.js b/src/renderer/views/Channel/Channel.js
index a83a0b98e4bec..0242bca06a50a 100644
--- a/src/renderer/views/Channel/Channel.js
+++ b/src/renderer/views/Channel/Channel.js
@@ -12,7 +12,8 @@ import FtSubscribeButton from '../../components/ft-subscribe-button/ft-subscribe
import ChannelAbout from '../../components/channel-about/channel-about.vue'
import autolinker from 'autolinker'
-import { copyToClipboard, extractNumberFromString, formatNumber, isNullOrEmpty, showToast } from '../../helpers/utils'
+import { copyToClipboard, extractNumberFromString, formatNumber, showToast } from '../../helpers/utils'
+import { isNullOrEmpty } from '../../helpers/strings'
import packageDetails from '../../../../package.json'
import {
invidiousAPICall,
diff --git a/src/renderer/views/Hashtag/Hashtag.js b/src/renderer/views/Hashtag/Hashtag.js
index 18dcb37327ced..5001d60476ba5 100644
--- a/src/renderer/views/Hashtag/Hashtag.js
+++ b/src/renderer/views/Hashtag/Hashtag.js
@@ -5,7 +5,8 @@ import FtFlexBox from '../../components/ft-flex-box/ft-flex-box.vue'
import FtLoader from '../../components/ft-loader/ft-loader.vue'
import packageDetails from '../../../../package.json'
import { getHashtagLocal, parseLocalListVideo } from '../../helpers/api/local'
-import { copyToClipboard, isNullOrEmpty, showToast } from '../../helpers/utils'
+import { copyToClipboard, showToast } from '../../helpers/utils'
+import { isNullOrEmpty } from '../../helpers/strings'
import { getHashtagInvidious } from '../../helpers/api/invidious'
export default defineComponent({
diff --git a/src/renderer/views/Playlist/Playlist.js b/src/renderer/views/Playlist/Playlist.js
index 68b20f9b689ee..df90033a2341e 100644
--- a/src/renderer/views/Playlist/Playlist.js
+++ b/src/renderer/views/Playlist/Playlist.js
@@ -151,6 +151,17 @@ export default defineComponent({
},
getPlaylistLocal: function () {
getLocalPlaylist(this.playlistId).then((result) => {
+ let channelName
+
+ if (result.info.author) {
+ channelName = result.info.author.name
+ } else {
+ const subtitle = result.info.subtitle.toString()
+
+ const index = subtitle.lastIndexOf('•')
+ channelName = subtitle.substring(0, index).trim()
+ }
+
this.infoData = {
id: this.playlistId,
title: result.info.title,
@@ -160,7 +171,7 @@ export default defineComponent({
viewCount: extractNumberFromString(result.info.views),
videoCount: extractNumberFromString(result.info.total_items),
lastUpdated: result.info.last_updated ?? '',
- channelName: result.info.author?.name ?? '',
+ channelName,
channelThumbnail: result.info.author?.best_thumbnail?.url ?? '',
channelId: result.info.author?.id,
infoSource: 'local'
@@ -173,7 +184,7 @@ export default defineComponent({
this.viewCount = extractNumberFromString(result.info.views)
this.videoCount = extractNumberFromString(result.info.total_items)
this.lastUpdated = result.info.last_updated ?? ''
- this.channelName = result.info.author?.name ?? ''
+ this.channelName = channelName ?? ''
this.channelThumbnail = result.info.author?.best_thumbnail?.url ?? ''
this.channelId = result.info.author?.id
this.infoSource = 'local'
diff --git a/src/renderer/views/Popular/Popular.js b/src/renderer/views/Popular/Popular.js
index 6af366eb2cd7a..08a1a893ca8ae 100644
--- a/src/renderer/views/Popular/Popular.js
+++ b/src/renderer/views/Popular/Popular.js
@@ -5,6 +5,7 @@ import FtElementList from '../../components/ft-element-list/ft-element-list.vue'
import FtIconButton from '../../components/ft-icon-button/ft-icon-button.vue'
import { invidiousAPICall } from '../../helpers/api/invidious'
+import { copyToClipboard, showToast } from '../../helpers/utils'
export default defineComponent({
name: 'Popular',
@@ -28,7 +29,7 @@ export default defineComponent({
mounted: function () {
document.addEventListener('keydown', this.keyboardShortcutHandler)
- this.shownResults = this.popularCache
+ this.shownResults = this.popularCache || []
if (!this.shownResults || this.shownResults.length < 1) {
this.fetchPopularInfo()
}
@@ -47,7 +48,11 @@ export default defineComponent({
this.isLoading = true
const result = await invidiousAPICall(searchPayload)
.catch((err) => {
- console.error(err)
+ const errorMessage = this.$t('Invidious API Error (Click to copy)')
+ showToast(`${errorMessage}: ${err}`, 10000, () => {
+ copyToClipboard(err)
+ })
+ return undefined
})
if (!result) {
diff --git a/src/renderer/views/ProfileEdit/ProfileEdit.css b/src/renderer/views/ProfileEdit/ProfileEdit.css
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/src/renderer/views/ProfileEdit/ProfileEdit.vue b/src/renderer/views/ProfileEdit/ProfileEdit.vue
index 09b4c51ae7505..a5e7f061d2455 100644
--- a/src/renderer/views/ProfileEdit/ProfileEdit.vue
+++ b/src/renderer/views/ProfileEdit/ProfileEdit.vue
@@ -25,4 +25,3 @@
-
diff --git a/src/renderer/views/Watch/Watch.js b/src/renderer/views/Watch/Watch.js
index 13a33d603eb65..6c26ab3e7a216 100644
--- a/src/renderer/views/Watch/Watch.js
+++ b/src/renderer/views/Watch/Watch.js
@@ -264,9 +264,6 @@ export default defineComponent({
changeTimestamp: function (timestamp) {
this.$refs.videoPlayer.player.currentTime(timestamp)
},
- toggleTheatreMode: function () {
- this.useTheatreMode = !this.useTheatreMode
- },
getVideoInformationLocal: async function () {
if (this.firstLoad) {
@@ -1148,6 +1145,20 @@ export default defineComponent({
})
},
+ handleFormatChange: function (format) {
+ switch (format) {
+ case 'dash':
+ this.enableDashFormat()
+ break
+ case 'legacy':
+ this.enableLegacyFormat()
+ break
+ case 'audio':
+ this.enableAudioFormat()
+ break
+ }
+ },
+
enableDashFormat: function () {
if (this.activeFormat === 'dash' || this.isLive) {
return
diff --git a/src/renderer/views/Watch/Watch.vue b/src/renderer/views/Watch/Watch.vue
index be7af4f1dcea4..380321cf9e74a 100644
--- a/src/renderer/views/Watch/Watch.vue
+++ b/src/renderer/views/Watch/Watch.vue
@@ -30,12 +30,16 @@
:video-id="videoId"
:length-seconds="videoLengthSeconds"
:chapters="videoChapters"
+ :current-chapter-index="videoCurrentChapterIndex"
+ :theatre-possible="theatrePossible"
+ :use-theatre-mode="useTheatreMode"
class="videoPlayer"
:class="{ theatrePlayer: useTheatreMode }"
@ready="handleVideoReady"
@ended="handleVideoEnded"
@error="handleVideoError"
@store-caption-list="captionHybridList = $event"
+ @toggle-theatre-mode="useTheatreMode = !useTheatreMode"
v-on="!hideChapters && videoChapters.length > 0 ? { timeupdate: updateCurrentChapter } : {}"
/>
20 minutes): 'লম্বা (> ২০ মিনিট)'
# On Search Page
+ Medium (4 - 20 minutes): মধ্যম (৪ - ২০ মিনিট)
Search Results: 'অনুসন্ধান ফলাফল'
Fetching results. Please wait: 'ফলাফল আনা হচ্ছে, একটু অপেক্ষা করো'
Fetch more results: 'আরো ফলাফল আনো'
@@ -75,6 +77,7 @@ Subscriptions:
# On Subscriptions Page
Subscriptions: 'সদস্যতা'
Latest Subscriptions: 'শেষ সদস্যতা'
+ Error Channels: ত্রুটিপূর্ণ চ্যানেল
Trending:
Trending: 'চলছে'
History:
@@ -94,3 +97,18 @@ Channel:
Video: {}
Tooltips: {}
Open New Window: নতুন জানালা খুলো
+New Window: নতুন জানালা
+Search Bar:
+ Clear Input: ইনপুট পরিষ্কার করো
+Global:
+ Videos: ভিডিও
+ Shorts: খাটো
+ Live: সরাসরি
+External link opening has been disabled in the general settings: সাধারণ পছন্দসমূহে
+ বহিঃসংযোগ খোলা নিষ্ক্রিয় রাখা হয়েছে
+Are you sure you want to open this link?: তুমি কি এই সংযোগটি খোলার ব্যাপারে নিশ্চিত?
+Preferences: পছন্দসমূহ
+Age Restricted:
+ Type:
+ Channel: চ্যানেল
+ Video: ভিডিও
diff --git a/static/locales/hr.yaml b/static/locales/hr.yaml
index 406858bbeb977..ea49fe15f32de 100644
--- a/static/locales/hr.yaml
+++ b/static/locales/hr.yaml
@@ -91,6 +91,9 @@ Subscriptions:
Empty Channels: Tvoji pretplaćeni kanali trenutačno nemaju videa.
Disabled Automatic Fetching: Automatsko dohvaćanje pretplata je deaktivirano. Aktualiziraj
pretplate da bi se ovdje prikazale.
+ Subscriptions Tabs: Kartica pretplata
+ All Subscription Tabs Hidden: Sve kartice pretplate su skrivene. Za prikaz sadržaja
+ na ovom mjestu, sakrij neke kartice u odjeljku „{subsection}” u „{settingsSection}”.
Trending:
Trending: 'U trendu'
Trending Tabs: Kartice „U trendu”
@@ -415,8 +418,12 @@ Settings:
General: Opće
Side Bar: Bočna traka
Channel Page: Stranica kanala
+ Subscriptions Page: Stranica pretplata
Hide Channel Podcasts: Sakrij kanal podcastova
Hide Channel Releases: Sakrij kanal izdanja
+ Hide Subscriptions Shorts: Sakrij kratka videa pretplate
+ Hide Subscriptions Live: Sakrij videa uživo pretplate
+ Hide Subscriptions Videos: Sakrij videa pretplate
The app needs to restart for changes to take effect. Restart and apply change?: Promjene
će se primijeniti nakon ponovnog pokeretanja programa. Ponovo pokrenuti program?
Proxy Settings:
@@ -967,6 +974,8 @@ Tooltips:
Hide Channels: Upiši ime kanala ili ID kanala za skrivanje svih videa, zbirki
kao i samog kanala u pretrazi, trendovima popularnim i preporučenim. Upisano
ime kanala se mora potpuno poklapati i razlikuje velika i mala slova.
+ Hide Subscriptions Live: Ovu postavku nadjačava aplikacijska postavka „{appWideSetting}”,
+ u odjeljku „{subsection}” u „{settingsSection}”
SponsorBlock Settings:
UseDeArrowTitles: Zamijeni naslove videa koje su poslali korisnici s DeArrow naslovima.
Playing Next Video Interval: Trenutna reprodukcija sljedećeg videa. Pritisni za prekid.
diff --git a/static/locales/hu.yaml b/static/locales/hu.yaml
index 93183cf5a4bb0..6a9808c21f75f 100644
--- a/static/locales/hu.yaml
+++ b/static/locales/hu.yaml
@@ -1,6 +1,6 @@
# Put the name of your locale in the same language
Locale Name: 'magyar'
-FreeTube: 'SzabadCső'
+FreeTube: 'FreeTube'
# Currently on Subscriptions, Playlists, and History
'This part of the app is not ready yet. Come back later when progress has been made.': >-
Az alkalmazás ezen része még nem áll készen. Térjen vissza később amikor előrelépés
@@ -328,8 +328,8 @@ Settings:
Import YouTube: 'YouTube importálása'
Import NewPipe: 'NewPipe importálása'
Export Subscriptions: 'Feliratkozások exportálása'
- Export FreeTube: 'SzabadCső exportálása'
- Export YouTube: 'SzabadCső exportálása'
+ Export FreeTube: 'FreeTube exportálása'
+ Export YouTube: 'YouTube exportálása'
Export NewPipe: 'NewPipe exportálása'
Import History: 'Előzmények importálása'
Export History: 'Előzmények exportálása'
@@ -432,7 +432,7 @@ Settings:
Hide Channel Releases: Csatornakiadások elrejtése
Hide Subscriptions Shorts: Feliratkozások rövidfilmek elrejtése
Hide Subscriptions Videos: Feliratkozási videók elrejtése
- Hide Subscriptions Live: Feliratkozások élők elrejtése
+ Hide Subscriptions Live: Élő feliratkozások elrejtése
The app needs to restart for changes to take effect. Restart and apply change?: Az
alkalmazásnak újra kell indulnia, hogy a változtatások életbe lépjenek. Indítsa
újra és alkalmazza a módosítást?
@@ -501,7 +501,8 @@ Settings:
Password: Jelszó
Password Settings:
Password Settings: Jelszóbeállítások
- Set Password To Prevent Access: Beállítások jelszó megadása
+ Set Password To Prevent Access: Jelszó beállítása a beállításokhoz való hozzáférés
+ megakadályozásához
Set Password: Jelszó megadása
Remove Password: Jelszó eltávolítása
About:
@@ -537,7 +538,7 @@ About:
Latest FreeTube News: 'Legfrissebb FreeTube hírek'
these people and projects: ezek emberek és projektek
- FreeTube is made possible by: 'A SzabadCső engedélyezése'
+ FreeTube is made possible by: 'A FreeTube-ot a következők teszik lehetővé'
Donate: Hozzájárulás
Credits: Közreműködők
Translate: Fordítás
@@ -557,7 +558,7 @@ About:
View License: Licenc megtekintése
Licensed under the AGPLv3: Az AGPL (GNU Affero General Public License - GNU Affero
általános nyilvános licenc) 3. verziója alatt licencelt
- FreeTube Wiki: SzabadCső Wiki
+ FreeTube Wiki: FreeTube Wiki
Source code: Forráskód
Beta: Béta
FAQ: GyIK
@@ -734,7 +735,7 @@ Video:
Years: 'évvel'
Ago: 'ezelőtt'
Upcoming: 'Első előadás dátuma'
- In less than a minute: Kevesebb, mint egy perce ezelőtt
+ In less than a minute: Kevesebb, mint egy perccel ezelőtt
Published on: 'Megjelent'
Publicationtemplate: '{number} {unit} ezelőtt'
#& Videos
@@ -751,7 +752,7 @@ Video:
Open Channel in YouTube: Csatorna megnyitása a YouTube oldalon
Open Channel in Invidious: Csatorna megnyitása az Invidious oldalán
Started streaming on: Folyamatos átvitel indult
- Streamed on: 'Adatfolyam dátuma:'
+ Streamed on: 'Közvetítve'
Video has been removed from your saved list: A videót eltávolítottuk a mentett listáról
Video has been saved: A videó mentve
Save Video: Videó mentése
@@ -875,7 +876,7 @@ Comments:
Show More Replies: További válaszok megjelenítése
From {channelName}: 'forrás: {channelName}'
And others: és mások
- Pinned by: 'Kitűzte:'
+ Pinned by: 'Kitűzve'
Member: Tag
View {replyCount} replies: '{replyCount} válasz megtekintése'
Hearted: Kedvenc
@@ -905,28 +906,28 @@ Yes: 'Igen'
No: 'Nem'
Tooltips:
General Settings:
- Preferred API Backend: Válassza ki a háttéralkalmazást, amelyet a SzabadCső használ
+ Preferred API Backend: Válassza ki a háttéralkalmazást, amelyet a FreeTube használ
az adatok megszerzéséhez. A helyi-API egy beépített kinyerő. Az Invidious-API
használatához Invidious-kiszolgáló szükséges.
Region for Trending: A népszerűk körzetével kiválaszthatja, mely ország népszerű
videóit szeretné megjeleníteni.
- Invidious Instance: Invidious-példány, amelyhez a SzabadCső csatlakozni fog az
+ Invidious Instance: Invidious-példány, amelyhez a FreeTube csatlakozni fog az
API-hívásokhoz.
- Thumbnail Preference: A SzabadCső összes miniatűrökét az alapértelmezett miniatűr
- helyett egy képkocka váltja fel.
+ Thumbnail Preference: A FreeTube összes indexképét a videó egy képkockája váltja
+ fel az alapértelmezett miniatűr helyett.
Fallback to Non-Preferred Backend on Failure: Ha az Ön által előnyben részesített
- API-val hibába merül fel, a SzabadCső önműködően megpróbálja a nem előnyben
+ API-val hibába merül fel, a FreeTube önműködően megpróbálja a nem előnyben részesített
API-t tartalékként használni, ha engedélyezve van.
External Link Handling: "Válassza ki az alapértelmezett viselkedést, ha egy hivatkozásra
- kattintanak, amely nem nyitható meg a SzabadCsőben.\nA SzabadCső alapértelmezés
+ kattintanak, amely nem nyitható meg FreeTube-ban.\nA FreeTube alapértelmezés
szerint megnyitja a kattintott hivatkozást az alapértelmezett böngészőben.\n"
Subscription Settings:
- Fetch Feeds from RSS: Ha engedélyezve van, a SzabadCső az alapértelmezett módszer
+ Fetch Feeds from RSS: Ha engedélyezve van, a FreeTube az alapértelmezett módszer
helyett RSS-t fog használni a feliratkozás hírcsatornájának megragadásához.
Az RSS gyorsabb és megakadályozza az IP-zárolást, de nem nyújt bizonyos tájékoztatást,
például a videó időtartamát vagy az élő állapotot
- Fetch Automatically: Ha engedélyezve van, a SzabadCső új ablak megnyitásakor és
- profilváltáskor önműködően lekéri az előfizetési hírfolyamot.
+ Fetch Automatically: Ha engedélyezve van, a FreeTube új ablak megnyitásakor és
+ profilváltáskor önműködően lekéri az feliratkozási hírfolyamot.
Player Settings:
Default Video Format: Állítsa be a videó lejátszásakor használt formátumokat.
A DASH (dinamikus adaptív sávszélességű folyamatos átvitel HTTP-n keresztül)
@@ -954,10 +955,10 @@ Tooltips:
Nem minden videónál érhetők el, ilyenkor a lejátszó a DASH H.264 formátumot
használja helyette.
Privacy Settings:
- Remove Video Meta Files: Ha engedélyezve van, a SzabadCső önműködően törli a videolejátszás
+ Remove Video Meta Files: Ha engedélyezve van, a FreeTube önműködően törli a videolejátszás
során létrehozott metafájlokat, amikor a nézőlap bezár.
External Player Settings:
- Custom External Player Executable: Alapértelmezés szerint a SzabadCső feltételezi,
+ Custom External Player Executable: Alapértelmezés szerint a FreeTube feltételezi,
hogy a kiválasztott külső lejátszó megtalálható a PATH (ÚTVONAL) környezeti
változón keresztül. Szükség esetén itt egyéni útvonal állítható be.
Ignore Warnings: A figyelmeztetések elvetése, ha a jelenlegi külső lejátszó nem
@@ -987,7 +988,7 @@ Playing Next Video Interval: A következő videó lejátszása folyamatban van.
másodperc múlva történik. Kattintson a törléshez.
More: Több
Hashtags have not yet been implemented, try again later: A kettőskeresztescímkék kezelése
- még nincs megvalósítva. Próbálkozzon a következő verzióban.
+ még nincs implementálva. próbálkozz a következő verzióban
Unknown YouTube url type, cannot be opened in app: Ismeretlen YouTube URL-típusa,
nem nyitható meg az alkalmazásban
Open New Window: Új ablak megnyitása
diff --git a/static/locales/pt-BR.yaml b/static/locales/pt-BR.yaml
index ca5863d930d55..00baf3759d3ad 100644
--- a/static/locales/pt-BR.yaml
+++ b/static/locales/pt-BR.yaml
@@ -421,6 +421,10 @@ Settings:
Hide Channel Playlists: Ocultar listas de reprodução de canais
Hide Channel Community: Ocultar comunidade do canal
Hide Channel Shorts: Ocultar Shorts do Canal
+ Hide Channel Podcasts: Ocultar podcasts do canal
+ Hide Channel Releases: Ocultar lançamentos do canal
+ Hide Subscriptions Videos: Ocultar vídeos de inscrições
+ Hide Subscriptions Shorts: Ocultar Shorts de Inscrições
The app needs to restart for changes to take effect. Restart and apply change?: O
aplicativo necessita reiniciar para as mudanças fazerem efeito. Reiniciar e aplicar
mudança?
@@ -602,6 +606,14 @@ Channel:
Shorts:
This channel does not currently have any shorts: Este canal não tem atualmente
nenhum short
+ Podcasts:
+ Podcasts: Podcasts
+ This channel does not currently have any podcasts: Este canal não possui podcasts
+ no momento
+ Releases:
+ Releases: Lançamentos
+ This channel does not currently have any releases: Este canal não tem nenhum lançamento
+ no momento
Video:
Mark As Watched: 'Marcar como assistido'
Remove From History: 'Remover do histórico'
diff --git a/static/locales/pt-PT.yaml b/static/locales/pt-PT.yaml
index ba18605a2c013..029ef1275370a 100644
--- a/static/locales/pt-PT.yaml
+++ b/static/locales/pt-PT.yaml
@@ -97,6 +97,10 @@ Subscriptions:
Disabled Automatic Fetching: Desativou a atualização automática de subscrições.
Atualize as subscrições para as ver aqui.
Empty Channels: Os canais subscritos não têm, atualmente, quaisquer vídeos.
+ Subscriptions Tabs: Separadores de subscrições
+ All Subscription Tabs Hidden: Todos os separadores de subscrição estão ocultos.
+ Para ver o conteúdo aqui, desoculte alguns separadores na secção "{subsecção}"
+ em "{settingsSection}".
Trending:
Trending: Tendências
Trending Tabs: Separador de tendências
@@ -348,8 +352,12 @@ Settings:
Channel Page: Página do canal
Watch Page: Ver página
General: Geral
+ Subscriptions Page: Página de subscrições
Hide Channel Releases: Ocultar as libertações do canal
Hide Channel Podcasts: Ocultar podcasts do canal
+ Hide Subscriptions Videos: Ocultar subscrições Vídeos
+ Hide Subscriptions Shorts: Ocultar subscrições Shorts
+ Hide Subscriptions Live: Ocultar subscrições em direto
Data Settings:
Data Settings: Definições de dados
Select Import Type: Escolher tipo de importação
@@ -890,6 +898,8 @@ Tooltips:
os vídeos, listas de reprodução e o próprio canal de aparecerem na pesquisa,
tendências, mais populares e recomendados. O nome do canal introduzido tem de
corresponder na totalidade e é sensível a maiúsculas e minúsculas.
+ Hide Subscriptions Live: Esta definição é substituída pela definição de toda a
+ aplicação "{appWideSetting}", na secção "{subsection}" da "{settingsSection}"
SponsorBlock Settings:
UseDeArrowTitles: Substituir títulos de vídeo por títulos enviados pelo utilizador
a partir do DeArrow.
diff --git a/static/locales/ro.yaml b/static/locales/ro.yaml
index 43130019c5ca0..887d7ac84a12e 100644
--- a/static/locales/ro.yaml
+++ b/static/locales/ro.yaml
@@ -99,6 +99,9 @@ Subscriptions:
Disabled Automatic Fetching: Ai dezactivat obținerea automată de abonamente. Reîmprospătează
abonamentele pentru a le vedea aici.
Subscriptions Tabs: Filele Abonamente
+ All Subscription Tabs Hidden: Toate filele de abonament sunt ascunse. Pentru a vedea
+ conținutul aici, vă rugăm să afișați unele file din secțiunea "{subsection}” din
+ "{settingsSection}”.
Trending:
Trending: 'Tendințe'
Trending Tabs: File în tendințe
@@ -302,11 +305,14 @@ Settings:
sigur că doriți să eliminați toate abonamentele și profilurile? Acest lucru
nu poate fi anulat.'
Automatically Remove Video Meta Files: Îndepărtați automat fișierele meta video
+ Save Watched Videos With Last Viewed Playlist: Salvați videoclipurile vizionate
+ cu ultima listă de redare vizualizată
Subscription Settings:
Subscription Settings: 'Setări de abonament'
Hide Videos on Watch: 'Ascunde videoclipurile la vizionare'
Fetch Feeds from RSS: 'Preluare de fluxuri din RSS'
Manage Subscriptions: 'Gestionați abonamentele'
+ Fetch Automatically: Preluați feedul automat
Data Settings:
Data Settings: 'Setări de date'
Select Import Type: 'Selectează tipul de import'
@@ -355,6 +361,9 @@ Settings:
se omite
All playlists has been successfully exported: Toate listele de redare au fost
exportate cu succes
+ Playlist File: Fișier listă de redare
+ History File: Fișier istoric
+ Subscription File: Fișier abonament
Advanced Settings: {}
The app needs to restart for changes to take effect. Restart and apply change?: Aplicația
trebuie repornită pentru ca modificările să intre în vigoare. Reporniți și aplicați
@@ -384,6 +393,27 @@ Settings:
Hide Comments: Ascunde comentariile
Hide Live Streams: Ascunde stream-urile live
Hide Sharing Actions: Ascunde butoanele de sharing
+ Hide Chapters: Ascundeți capitolele
+ Display Titles Without Excessive Capitalisation: Afișați titluri fără majuscule
+ excesive
+ Sections:
+ Subscriptions Page: Pagina de abonamente
+ Side Bar: Bară laterală
+ Channel Page: Pagina canalului
+ Watch Page: Pagina de vizionare
+ General: General
+ Hide Channel Podcasts: Ascundeți podcasturile canalului
+ Hide Subscriptions Shorts: Ascundeți Abonamente Shorts
+ Hide Channel Releases: Ascunde lansările canalului
+ Hide Subscriptions Videos: Ascundeți Abonamente Videoclipuri
+ Hide Subscriptions Live: Ascundeți Abonamente Live
+ Hide Channels: Ascundeți videoclipurile din canale
+ Hide Channel Community: Ascunde comunitatea canalului
+ Hide Channel Shorts: Ascundeți canalul Shorts
+ Hide Featured Channels: Ascundeți canalele recomandate
+ Hide Channels Placeholder: Numele canalului sau ID-ul
+ Hide Channel Playlists: Ascunde playlisturile canalului
+ Hide Upcoming Premieres: Ascundeți premierele viitoare
SponsorBlock Settings:
Notify when sponsor segment is skipped: Notificare atunci când segmentul sponsorului
este sărit
@@ -398,6 +428,7 @@ Settings:
Prompt To Skip: Întreabă pentru a sării
Do Nothing: Nu fă nimic
Category Color: Culoarea categoriilor
+ UseDeArrowTitles: Utilizați titlurile video DeArrow
Proxy Settings:
Error getting network information. Is your proxy configured properly?: Eroare
la obținerea informațiilor despre rețea. Proxy-ul este configurat corect?
@@ -437,6 +468,12 @@ Settings:
Set Password To Prevent Access: Setați o parolă pentru a împiedica accesul la
setări
Set Password: Setați parola
+ Experimental Settings:
+ Warning: Aceste setări sunt experimentale, ele pot cauza blocări atunci când sunt
+ activate. Este foarte recomandat să faceți copii de rezervă. Folosiți pe propria
+ răspundere!
+ Replace HTTP Cache: Înlocuiți cache HTTP
+ Experimental Settings: Setări experimentale
About:
#On About page
About: 'Despre'
@@ -547,6 +584,10 @@ Channel:
Featured Channels: 'Canale recomandate'
Joined: S-a alăturat pe
Location: Locație
+ Details: Detalii
+ Tags:
+ Search for: Căutați "{tag}"
+ Tags: Tags
Community:
Community: Comunitate
This channel currently does not have any posts: Acest canal nu are momentan nicio
@@ -555,6 +596,21 @@ Channel:
canal are restricții de vârstă și momentan nu poate fi vizionat în FreeTube.
This channel does not exist: Acest canal nu există
This channel does not allow searching: Acest canal nu permite căutarea
+ Live:
+ Live: Live
+ This channel does not currently have any live streams: Acest canal nu are momentan
+ niciun live stream
+ Shorts:
+ This channel does not currently have any shorts: Acest canal nu are momentan shorts
+ Podcasts:
+ Podcasts: Podcasturi
+ This channel does not currently have any podcasts: Acest canal nu are momentan
+ nici un podcast
+ Releases:
+ Releases: Lansări
+ This channel does not currently have any releases: Acest canal nu are momentan
+ nicio lansare
+ Channel Tabs: Filele canalului
Video:
Mark As Watched: 'Marcați ca vizionat'
Remove From History: 'Eliminați din istoric'
@@ -694,6 +750,12 @@ Video:
Premieres on: Premieră pe
Premieres in: Are premiera în
Scroll to Bottom: Derulați până jos
+ Upcoming: Urmează
+ 'Live Chat is unavailable for this stream. It may have been disabled by the uploader.': Chatul
+ live nu este disponibil pentru acest flux. Este posibil să fi fost dezactivat
+ de persoana care a încărcat.
+ Premieres: Premiere
+ Show Super Chat Comment: Afișați comentariul Super Chat
Videos:
#& Sort By
Sort By:
@@ -768,6 +830,8 @@ Comments:
From {channelName}: de la {channelName}
Pinned by: Lipit de
Member: Membru
+ Hearted: Inima
+ View {replyCount} replies: '{replyCount} răspunsuri'
Up Next: 'În continuare'
# Toast Messages
@@ -818,6 +882,8 @@ Tooltips:
metodei implicite pentru a prelua feed-ul de abonament. RSS este mai rapid și
previne blocarea IP-ului, dar nu oferă anumite informații, cum ar fi durata
videoclipului sau starea live
+ Fetch Automatically: Când activat, FreeTube va prelua automat feed-ul de abonament
+ când se deschide o fereastră nouă și când schimbați profilul.
External Player Settings:
Custom External Player Arguments: Orice argumente personalizate din linia de comandă,
separate prin punct și virgulă (";"), pe care doriți să le transmiteți playerului
@@ -849,6 +915,12 @@ Tooltips:
(tasta Command pe Mac) și faceți clic cu butonul stâng al mouse-ului pentru
a reveni rapid la rata de redare implicită (1x, cu excepția cazului în care
aceasta a fost modificată în setări).
+ Allow DASH AV1 formats: Formatele DASH AV1 pot arăta mai bine decât formatele
+ DASH H.264. Formatele DASH AV1 necesită mai multă putere pentru redare! Nu sunt
+ disponibile pe toate videoclipurile, în acele cazuri playerul va folosi în schimb
+ formatele DASH H.264.
+ Skip by Scrolling Over Video Player: Utilizați rotița de derulare pentru a trece
+ prin videoclip, stil MPV.
General Settings:
External Link Handling: "Alegeți comportamentul implicit atunci când se face clic
pe un link care nu poate fi deschis în FreeTube.\nÎn mod implicit, FreeTube
@@ -865,6 +937,20 @@ Tooltips:
Preferred API Backend: Alegeți backend-ul pe care FreeTube îl folosește pentru
a obține date. API-ul local este un extractor incorporat. API-ul Invidious necesită
un server Invidious la care să vă conectați.
+ Distraction Free Settings:
+ Hide Channels: Introduceți un nume de canal sau un ID de canal pentru a ascunde
+ toate videoclipurile, listele de redare și canalul în sine pentru a nu apărea
+ în căutare, în tendințe, în cele mai populare și recomandate. Numele canalului
+ introdus trebuie să se potrivească complet și să țină cont de majuscule și minuscule.
+ Hide Subscriptions Live: Această setare este înlocuită de setarea "{appWideSetting}”
+ la nivel de aplicație, în secțiunea „{subsection}” din „{settingsSection}”
+ Experimental Settings:
+ Replace HTTP Cache: Dezactivează memoria cache HTTP bazată pe disc Electron și
+ activează un cache de imagini personalizat în memorie. Va duce la o utilizare
+ crescută a memoriei RAM.
+ SponsorBlock Settings:
+ UseDeArrowTitles: Înlocuiți titlurile video cu titluri trimise de utilizator de
+ la DeArrow.
External link opening has been disabled in the general settings: Deschiderea linkurilor
externe a fost dezactivată în setările generale
Starting download: Se începe descărcarea a "{videoTitle}"
@@ -877,6 +963,8 @@ Age Restricted:
Type:
Channel: Canal
Video: Video
+ This {videoOrPlaylist} is age restricted: Acest {videoOrPlaylist} are restricții
+ de vârstă
Channels:
Channels: Canale
Title: Listă de canale
@@ -887,7 +975,7 @@ Channels:
Unsubscribed: '{channelName} a fost eliminat din lista ta de abonamente'
Unsubscribe Prompt: Ești sigur că dorești să te dezabonezi de la "{channelName}"?
Screenshot Success: Capturi de ecran salvate ca "{filePath}"
-Screenshot Error: Captura de ecran a eșuat
+Screenshot Error: Captura de ecran a eșuat {error}
Preferences: Preferințe
Chapters:
Chapters: Capitole
@@ -899,3 +987,8 @@ Clipboard:
Cannot access clipboard without a secure connection: Nu se poate accesa clipboard-ul
fără o conexiune securizată
Copy failed: Copierea în clipboard a eșuat
+Hashtag:
+ Hashtag: Hashtag
+ This hashtag does not currently have any videos: Acest hashtag nu are momentan niciun
+ videoclip
+Ok: OK
diff --git a/static/locales/sv.yaml b/static/locales/sv.yaml
index f4c9526d4a6c1..7ef3405d46557 100644
--- a/static/locales/sv.yaml
+++ b/static/locales/sv.yaml
@@ -97,6 +97,9 @@ Subscriptions:
Disabled Automatic Fetching: Du har avaktiverat automatisk prenumerationshämtning.
Uppdatera prenumerationerna för att se dem här.
Empty Channels: Dina prenumererade kanaler har inga filmer.
+ Subscriptions Tabs: Prenumerations Flik
+ All Subscription Tabs Hidden: Alla prenumerationsflikar är dolda. För att se innehåll
+ här, vänligen avdölj några flikar i avsnittet "{subsection}" i "{settingsSection}".
Trending:
Trending: 'Populärt'
Movies: Filmer
@@ -406,8 +409,14 @@ Settings:
General: Allmänt
Channel Page: Kanal sida
Watch Page: Titta sida
+ Subscriptions Page: Prenumerationssida
Hide Channel Community: Dölj Kanal gemenskap
Hide Channel Playlists: Dölj Kanal spellistor
+ Hide Channel Podcasts: Dölj kanal podcasts
+ Hide Channel Releases: Dölj kanal släpp
+ Hide Subscriptions Videos: Dölj prenumerationsvideor
+ Hide Subscriptions Shorts: Dölj prenumerationsshorts
+ Hide Subscriptions Live: Dölj prenumerations Live-sändningar
The app needs to restart for changes to take effect. Restart and apply change?: Starta
om FreeTube nu för att tillämpa ändringarna?
Proxy Settings:
@@ -631,6 +640,14 @@ Channel:
Live: Live
This channel does not currently have any live streams: Den här kanalen har för
närvarande inga liveströmmar
+ Releases:
+ Releases: Släpp
+ This channel does not currently have any releases: Den här kanalen har för närvarande
+ inga släpp
+ Podcasts:
+ Podcasts: Podcasts
+ This channel does not currently have any podcasts: Den här kanalen har för närvarande
+ inga podcasts
Video:
Mark As Watched: 'Markera som sedd'
Remove From History: 'Ta bort från historik'
@@ -925,6 +942,8 @@ Tooltips:
Hide Channels: Ange ett kanalnamn eller kanal-ID för att dölja alla videor, spellistor
och själva kanalen från att visas i sökningar, trender, populäraste och rekommenderade.
Det angivna kanalnamnet måste vara en fullständig matchning och är skiftlägeskänsligt.
+ Hide Subscriptions Live: Den här inställningen åsidosätts av den program omfattande
+ "{appWideSetting}"-inställningen, i avsnittet "{subsection}" i "{settingsSection}"
Experimental Settings:
Replace HTTP Cache: Inaktiverar Electrons diskbaserade HTTP-cache och aktiverar
en anpassad bildcache i minnet. Kommer att leda till ökad RAM-användning.
diff --git a/yarn.lock b/yarn.lock
index 469122f114dd9..2aef10e274d98 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1095,6 +1095,16 @@
dependencies:
postcss "^8.4.19"
+"@electron/asar@^3.2.1":
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.4.tgz#7e8635a3c4f6d8b3f8ae6efaf5ecb9fbf3bd9864"
+ integrity sha512-lykfY3TJRRWFeTxccEKdf1I6BLl2Plw81H0bbp4Fc5iEc67foDCa5pjJQULVgo0wF+Dli75f3xVcdb/67FFZ/g==
+ dependencies:
+ chromium-pickle-js "^0.2.0"
+ commander "^5.0.0"
+ glob "^7.1.6"
+ minimatch "^3.0.4"
+
"@electron/get@^2.0.0":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@electron/get/-/get-2.0.2.tgz#ae2a967b22075e9c25aaf00d5941cd79c21efd7e"
@@ -1110,35 +1120,55 @@
optionalDependencies:
global-agent "^3.0.0"
-"@electron/universal@1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.2.1.tgz#3c2c4ff37063a4e9ab1e6ff57db0bc619bc82339"
- integrity sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==
+"@electron/notarize@^1.2.3":
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-1.2.4.tgz#a7d38773f4cad40df111a5edc64037e5d768ea1e"
+ integrity sha512-W5GQhJEosFNafewnS28d3bpQ37/s91CDWqxVchHfmv2dQSTWpOzNlUVQwYzC1ay5bChRV/A9BTL68yj0Pa+TSg==
+ dependencies:
+ debug "^4.1.1"
+ fs-extra "^9.0.1"
+
+"@electron/osx-sign@^1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.0.4.tgz#8e91442846471636ca0469426a82b253b9170151"
+ integrity sha512-xfhdEcIOfAZg7scZ9RQPya1G1lWo8/zMCwUXAulq0SfY7ONIW+b9qGyKdMyuMctNYwllrIS+vmxfijSfjeh97g==
+ dependencies:
+ compare-version "^0.1.2"
+ debug "^4.3.4"
+ fs-extra "^10.0.0"
+ isbinaryfile "^4.0.8"
+ minimist "^1.2.6"
+ plist "^3.0.5"
+
+"@electron/universal@1.3.4":
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.3.4.tgz#bccd94b635d7c85eeed5eabba457eb4ed2be2777"
+ integrity sha512-BdhBgm2ZBnYyYRLRgOjM5VHkyFItsbggJ0MHycOjKWdFGYwK97ZFXH54dTvUWEfha81vfvwr5On6XBjt99uDcg==
dependencies:
+ "@electron/asar" "^3.2.1"
"@malept/cross-spawn-promise" "^1.1.0"
- asar "^3.1.0"
debug "^4.3.1"
- dir-compare "^2.4.0"
+ dir-compare "^3.0.0"
fs-extra "^9.0.1"
minimatch "^3.0.4"
plist "^3.0.4"
-"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.3.0", "@eslint-community/eslint-utils@^4.4.0":
+"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
dependencies:
eslint-visitor-keys "^3.3.0"
-"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.5.0":
- version "4.5.1"
- resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
- integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
+"@eslint-community/regexpp@^4.5.0", "@eslint-community/regexpp@^4.6.1":
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8"
+ integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==
-"@eslint/eslintrc@^2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.0.tgz#82256f164cc9e0b59669efc19d57f8092706841d"
- integrity sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==
+"@eslint/eslintrc@^2.1.1":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.1.tgz#18d635e24ad35f7276e8a49d135c7d3ca6a46f93"
+ integrity sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
@@ -1150,10 +1180,10 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.44.0":
- version "8.44.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.44.0.tgz#961a5903c74139390478bdc808bcde3fc45ab7af"
- integrity sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==
+"@eslint/js@^8.46.0":
+ version "8.46.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.46.0.tgz#3f7802972e8b6fe3f88ed1aabc74ec596c456db6"
+ integrity sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==
"@fortawesome/fontawesome-common-types@6.4.0":
version "6.4.0"
@@ -1484,21 +1514,13 @@
"@types/qs" "*"
"@types/serve-static" "*"
-"@types/fs-extra@^9.0.11":
+"@types/fs-extra@9.0.13", "@types/fs-extra@^9.0.11":
version "9.0.13"
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45"
integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==
dependencies:
"@types/node" "*"
-"@types/glob@^7.1.1":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
- integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
- dependencies:
- "@types/minimatch" "*"
- "@types/node" "*"
-
"@types/html-minifier-terser@^6.0.0":
version "6.1.0"
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35"
@@ -1557,11 +1579,6 @@
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10"
integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==
-"@types/minimatch@*":
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
- integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
-
"@types/minimist@^1.2.2":
version "1.2.2"
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
@@ -1656,13 +1673,6 @@
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
-"@types/yargs@^17.0.1":
- version "17.0.10"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a"
- integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==
- dependencies:
- "@types/yargs-parser" "*"
-
"@types/yargs@^17.0.8":
version "17.0.13"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76"
@@ -1875,6 +1885,11 @@
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.6.tgz#8a1524eb5bd5e965c1e3735476f0262469f71440"
integrity sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==
+"@xmldom/xmldom@^0.8.8":
+ version "0.8.10"
+ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
+ integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==
+
"@xtuc/ieee754@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
@@ -2011,36 +2026,38 @@ app-builder-bin@4.0.0:
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0"
integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==
-app-builder-lib@23.6.0:
- version "23.6.0"
- resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.6.0.tgz#03cade02838c077db99d86212d61c5fc1d6da1a8"
- integrity sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==
+app-builder-lib@24.6.3:
+ version "24.6.3"
+ resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.6.3.tgz#5fe7027ec81ea35d5875a6e193c95cbb932eaa2e"
+ integrity sha512-++0Zp7vcCHfXMBGVj7luFxpqvMPk5mcWeTuw7OK0xNAaNtYQTTN0d9YfWRsb1MvviTOOhyHeULWz1CaixrdrDg==
dependencies:
"7zip-bin" "~5.1.1"
"@develar/schema-utils" "~2.6.5"
- "@electron/universal" "1.2.1"
+ "@electron/notarize" "^1.2.3"
+ "@electron/osx-sign" "^1.0.4"
+ "@electron/universal" "1.3.4"
"@malept/flatpak-bundler" "^0.4.0"
+ "@types/fs-extra" "9.0.13"
async-exit-hook "^2.0.1"
bluebird-lst "^1.0.9"
- builder-util "23.6.0"
- builder-util-runtime "9.1.1"
+ builder-util "24.5.0"
+ builder-util-runtime "9.2.1"
chromium-pickle-js "^0.2.0"
debug "^4.3.4"
- ejs "^3.1.7"
- electron-osx-sign "^0.6.0"
- electron-publish "23.6.0"
+ ejs "^3.1.8"
+ electron-publish "24.5.0"
form-data "^4.0.0"
fs-extra "^10.1.0"
hosted-git-info "^4.1.0"
is-ci "^3.0.0"
- isbinaryfile "^4.0.10"
+ isbinaryfile "^5.0.0"
js-yaml "^4.1.0"
lazy-val "^1.0.5"
- minimatch "^3.1.2"
- read-config-file "6.2.0"
+ minimatch "^5.1.1"
+ read-config-file "6.3.2"
sanitize-filename "^1.6.3"
- semver "^7.3.7"
- tar "^6.1.11"
+ semver "^7.3.8"
+ tar "^6.1.12"
temp-file "^3.4.0"
argparse@^2.0.1:
@@ -2055,6 +2072,14 @@ aria-query@>=5.0.0:
dependencies:
deep-equal "^2.0.5"
+array-buffer-byte-length@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
+ integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
+ dependencies:
+ call-bind "^1.0.2"
+ is-array-buffer "^3.0.1"
+
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
@@ -2081,6 +2106,17 @@ array-union@^2.1.0:
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+array.prototype.findlastindex@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz#bc229aef98f6bd0533a2bc61ff95209875526c9b"
+ integrity sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+ es-shim-unscopables "^1.0.0"
+ get-intrinsic "^1.1.3"
+
array.prototype.flat@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2"
@@ -2101,23 +2137,23 @@ array.prototype.flatmap@^1.3.1:
es-abstract "^1.20.4"
es-shim-unscopables "^1.0.0"
+arraybuffer.prototype.slice@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz#9b5ea3868a6eebc30273da577eb888381c0044bb"
+ integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==
+ dependencies:
+ array-buffer-byte-length "^1.0.0"
+ call-bind "^1.0.2"
+ define-properties "^1.2.0"
+ get-intrinsic "^1.2.1"
+ is-array-buffer "^3.0.2"
+ is-shared-array-buffer "^1.0.2"
+
arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
-asar@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473"
- integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==
- dependencies:
- chromium-pickle-js "^0.2.0"
- commander "^5.0.0"
- glob "^7.1.6"
- minimatch "^3.0.4"
- optionalDependencies:
- "@types/glob" "^7.1.1"
-
asn1@~0.2.3:
version "0.2.6"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
@@ -2253,7 +2289,7 @@ bluebird-lst@^1.0.9:
dependencies:
bluebird "^3.5.5"
-bluebird@^3.1.1, bluebird@^3.5.0, bluebird@^3.5.5:
+bluebird@^3.1.1, bluebird@^3.5.5:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@@ -2328,33 +2364,15 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.4, browserslist@^4
node-releases "^2.0.12"
update-browserslist-db "^1.0.11"
-buffer-alloc-unsafe@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
- integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
-
-buffer-alloc@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
- integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
- dependencies:
- buffer-alloc-unsafe "^1.1.0"
- buffer-fill "^1.0.0"
-
buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
-buffer-equal@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
- integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=
-
-buffer-fill@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
- integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
+buffer-equal@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90"
+ integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==
buffer-from@^1.0.0:
version "1.1.2"
@@ -2369,31 +2387,30 @@ buffer@^5.1.0:
base64-js "^1.3.1"
ieee754 "^1.1.13"
-builder-util-runtime@9.1.1:
- version "9.1.1"
- resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz#2da7b34e78a64ad14ccd070d6eed4662d893bd60"
- integrity sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==
+builder-util-runtime@9.2.1:
+ version "9.2.1"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.1.tgz#3184dcdf7ed6c47afb8df733813224ced4f624fd"
+ integrity sha512-2rLv/uQD2x+dJ0J3xtsmI12AlRyk7p45TEbE/6o/fbb633e/S3pPgm+ct+JHsoY7r39dKHnGEFk/AASRFdnXmA==
dependencies:
debug "^4.3.4"
sax "^1.2.4"
-builder-util@23.6.0:
- version "23.6.0"
- resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.6.0.tgz#1880ec6da7da3fd6fa19b8bd71df7f39e8d17dd9"
- integrity sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==
+builder-util@24.5.0:
+ version "24.5.0"
+ resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-24.5.0.tgz#8683c9a7a1c5c9f9a4c4d2789ecca0e47dddd3f9"
+ integrity sha512-STnBmZN/M5vGcv01u/K8l+H+kplTaq4PAIn3yeuufUKSpcdro0DhJWxPI81k5XcNfC//bjM3+n9nr8F9uV4uAQ==
dependencies:
"7zip-bin" "~5.1.1"
"@types/debug" "^4.1.6"
- "@types/fs-extra" "^9.0.11"
app-builder-bin "4.0.0"
bluebird-lst "^1.0.9"
- builder-util-runtime "9.1.1"
- chalk "^4.1.1"
+ builder-util-runtime "9.2.1"
+ chalk "^4.1.2"
cross-spawn "^7.0.3"
debug "^4.3.4"
- fs-extra "^10.0.0"
+ fs-extra "^10.1.0"
http-proxy-agent "^5.0.0"
- https-proxy-agent "^5.0.0"
+ https-proxy-agent "^5.0.1"
is-ci "^3.0.0"
js-yaml "^4.1.0"
source-map-support "^0.5.19"
@@ -2517,7 +2534,7 @@ chalk@^2.0.0, chalk@^2.4.1:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.1:
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -2641,11 +2658,6 @@ colorette@^2.0.10, colorette@^2.0.14:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da"
integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==
-colors@1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
- integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=
-
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -2653,13 +2665,6 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
-commander@2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
- integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=
- dependencies:
- graceful-readlink ">= 1.0.0"
-
commander@^10.0.1:
version "10.0.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
@@ -2720,6 +2725,14 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+config-file-ts@^0.2.4:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/config-file-ts/-/config-file-ts-0.2.4.tgz#6c0741fbe118a7cf786c65f139030f0448a2cc99"
+ integrity sha512-cKSW0BfrSaAUnxpgvpXPLaaW/umg4bqg4k3GO1JqlRfpx+d5W0GDXznCMkWotJQek5Mmz1MJVChQnz3IVaeMZQ==
+ dependencies:
+ glob "^7.1.6"
+ typescript "^4.0.2"
+
connect-history-api-fallback@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8"
@@ -2983,7 +2996,7 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
-debug@2.6.9, debug@^2.6.8:
+debug@2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -3080,6 +3093,14 @@ define-properties@^1.1.3, define-properties@^1.1.4:
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
+define-properties@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
+ integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
+ dependencies:
+ has-property-descriptors "^1.0.0"
+ object-keys "^1.1.1"
+
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -3105,15 +3126,13 @@ detect-node@^2.0.4:
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
-dir-compare@^2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631"
- integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==
+dir-compare@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-3.3.0.tgz#2c749f973b5c4b5d087f11edaae730db31788416"
+ integrity sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==
dependencies:
- buffer-equal "1.0.0"
- colors "1.0.3"
- commander "2.9.0"
- minimatch "3.0.4"
+ buffer-equal "^1.0.0"
+ minimatch "^3.0.4"
dir-glob@^3.0.1:
version "3.0.1"
@@ -3122,15 +3141,15 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
-dmg-builder@23.6.0:
- version "23.6.0"
- resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.6.0.tgz#d39d3871bce996f16c07d2cafe922d6ecbb2a948"
- integrity sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==
+dmg-builder@24.6.3:
+ version "24.6.3"
+ resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.6.3.tgz#508a9516e30b294d18ec466ce3f61b496aa40c0b"
+ integrity sha512-O7KNT7OKqtV54fMYUpdlyTOCP5DoPuRMLqMTgxxV2PO8Hj/so6zOl5o8GTs8pdDkeAhJzCFOUNB3BDhgXbUbJg==
dependencies:
- app-builder-lib "23.6.0"
- builder-util "23.6.0"
- builder-util-runtime "9.1.1"
- fs-extra "^10.0.0"
+ app-builder-lib "24.6.3"
+ builder-util "24.5.0"
+ builder-util-runtime "9.2.1"
+ fs-extra "^10.1.0"
iconv-lite "^0.6.2"
js-yaml "^4.1.0"
optionalDependencies:
@@ -3279,30 +3298,29 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-ejs@^3.1.7:
- version "3.1.8"
- resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
- integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
+ejs@^3.1.8:
+ version "3.1.9"
+ resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361"
+ integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==
dependencies:
jake "^10.8.5"
-electron-builder@^23.6.0:
- version "23.6.0"
- resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.6.0.tgz#c79050cbdce90ed96c5feb67c34e9e0a21b5331b"
- integrity sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==
- dependencies:
- "@types/yargs" "^17.0.1"
- app-builder-lib "23.6.0"
- builder-util "23.6.0"
- builder-util-runtime "9.1.1"
- chalk "^4.1.1"
- dmg-builder "23.6.0"
- fs-extra "^10.0.0"
+electron-builder@^24.6.3:
+ version "24.6.3"
+ resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.6.3.tgz#f4f69dd4fae9f80bc9c1ec74d6fe47565ec50cd5"
+ integrity sha512-O6PqhRXwfxCNTXI4BlhELSeYYO6/tqlxRuy+4+xKBokQvwDDjDgZMMoSgAmanVSCuzjE7MZldI9XYrKFk+EQDw==
+ dependencies:
+ app-builder-lib "24.6.3"
+ builder-util "24.5.0"
+ builder-util-runtime "9.2.1"
+ chalk "^4.1.2"
+ dmg-builder "24.6.3"
+ fs-extra "^10.1.0"
is-ci "^3.0.0"
lazy-val "^1.0.5"
- read-config-file "6.2.0"
- simple-update-notifier "^1.0.7"
- yargs "^17.5.1"
+ read-config-file "6.3.2"
+ simple-update-notifier "2.0.0"
+ yargs "^17.6.2"
electron-context-menu@^3.6.1:
version "3.6.1"
@@ -3327,28 +3345,16 @@ electron-is-dev@^2.0.0:
resolved "https://registry.yarnpkg.com/electron-is-dev/-/electron-is-dev-2.0.0.tgz#833487a069b8dad21425c67a19847d9064ab19bd"
integrity sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==
-electron-osx-sign@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz#9b69c191d471d9458ef5b1e4fdd52baa059f1bb8"
- integrity sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==
- dependencies:
- bluebird "^3.5.0"
- compare-version "^0.1.2"
- debug "^2.6.8"
- isbinaryfile "^3.0.2"
- minimist "^1.2.0"
- plist "^3.0.1"
-
-electron-publish@23.6.0:
- version "23.6.0"
- resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.6.0.tgz#ac9b469e0b07752eb89357dd660e5fb10b3d1ce9"
- integrity sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==
+electron-publish@24.5.0:
+ version "24.5.0"
+ resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-24.5.0.tgz#492a4d7caa232e88ee3c18f5c3b4dc637e5e1b3a"
+ integrity sha512-zwo70suH15L15B4ZWNDoEg27HIYoPsGJUF7xevLJLSI7JUPC8l2yLBdLGwqueJ5XkDL7ucYyRZzxJVR8ElV9BA==
dependencies:
"@types/fs-extra" "^9.0.11"
- builder-util "23.6.0"
- builder-util-runtime "9.1.1"
- chalk "^4.1.1"
- fs-extra "^10.0.0"
+ builder-util "24.5.0"
+ builder-util-runtime "9.2.1"
+ chalk "^4.1.2"
+ fs-extra "^10.1.0"
lazy-val "^1.0.5"
mime "^2.5.2"
@@ -3531,6 +3537,51 @@ es-abstract@^1.20.4:
unbox-primitive "^1.0.2"
which-typed-array "^1.1.9"
+es-abstract@^1.21.2:
+ version "1.22.1"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.1.tgz#8b4e5fc5cefd7f1660f0f8e1a52900dfbc9d9ccc"
+ integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==
+ dependencies:
+ array-buffer-byte-length "^1.0.0"
+ arraybuffer.prototype.slice "^1.0.1"
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ es-set-tostringtag "^2.0.1"
+ es-to-primitive "^1.2.1"
+ function.prototype.name "^1.1.5"
+ get-intrinsic "^1.2.1"
+ get-symbol-description "^1.0.0"
+ globalthis "^1.0.3"
+ gopd "^1.0.1"
+ has "^1.0.3"
+ has-property-descriptors "^1.0.0"
+ has-proto "^1.0.1"
+ has-symbols "^1.0.3"
+ internal-slot "^1.0.5"
+ is-array-buffer "^3.0.2"
+ is-callable "^1.2.7"
+ is-negative-zero "^2.0.2"
+ is-regex "^1.1.4"
+ is-shared-array-buffer "^1.0.2"
+ is-string "^1.0.7"
+ is-typed-array "^1.1.10"
+ is-weakref "^1.0.2"
+ object-inspect "^1.12.3"
+ object-keys "^1.1.1"
+ object.assign "^4.1.4"
+ regexp.prototype.flags "^1.5.0"
+ safe-array-concat "^1.0.0"
+ safe-regex-test "^1.0.0"
+ string.prototype.trim "^1.2.7"
+ string.prototype.trimend "^1.0.6"
+ string.prototype.trimstart "^1.0.6"
+ typed-array-buffer "^1.0.0"
+ typed-array-byte-length "^1.0.0"
+ typed-array-byte-offset "^1.0.0"
+ typed-array-length "^1.0.4"
+ unbox-primitive "^1.0.2"
+ which-typed-array "^1.1.10"
+
es-get-iterator@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.2.tgz#9234c54aba713486d7ebde0220864af5e2b283f7"
@@ -3605,10 +3656,10 @@ escape-string-regexp@^4.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-eslint-config-prettier@^8.8.0:
- version "8.8.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348"
- integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==
+eslint-config-prettier@^8.9.0:
+ version "8.9.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.9.0.tgz#094b6254b2804b0544f7cee535f802b6d29ee10b"
+ integrity sha512-+sbni7NfVXnOpnRadUA8S28AUlsZt9GjgFvABIRL9Hkn8KqNzOp+7Lw4QWtrwn20KzU3wqu1QoOj2m+7rKRqkA==
eslint-config-standard@^17.1.0:
version "17.1.0"
@@ -3624,10 +3675,10 @@ eslint-import-resolver-node@^0.3.7:
is-core-module "^2.11.0"
resolve "^1.22.1"
-eslint-module-utils@^2.7.4:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974"
- integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==
+eslint-module-utils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
+ integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
dependencies:
debug "^3.2.7"
@@ -3639,26 +3690,29 @@ eslint-plugin-es-x@^7.1.0:
"@eslint-community/eslint-utils" "^4.1.2"
"@eslint-community/regexpp" "^4.5.0"
-eslint-plugin-import@^2.27.5:
- version "2.27.5"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65"
- integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==
+eslint-plugin-import@^2.28.0:
+ version "2.28.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz#8d66d6925117b06c4018d491ae84469eb3cb1005"
+ integrity sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==
dependencies:
array-includes "^3.1.6"
+ array.prototype.findlastindex "^1.2.2"
array.prototype.flat "^1.3.1"
array.prototype.flatmap "^1.3.1"
debug "^3.2.7"
doctrine "^2.1.0"
eslint-import-resolver-node "^0.3.7"
- eslint-module-utils "^2.7.4"
+ eslint-module-utils "^2.8.0"
has "^1.0.3"
- is-core-module "^2.11.0"
+ is-core-module "^2.12.1"
is-glob "^4.0.3"
minimatch "^3.1.2"
+ object.fromentries "^2.0.6"
+ object.groupby "^1.0.0"
object.values "^1.1.6"
- resolve "^1.22.1"
- semver "^6.3.0"
- tsconfig-paths "^3.14.1"
+ resolve "^1.22.3"
+ semver "^6.3.1"
+ tsconfig-paths "^3.14.2"
eslint-plugin-jsonc@^2.9.0:
version "2.9.0"
@@ -3695,10 +3749,10 @@ eslint-plugin-promise@^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@^48.0.0:
- version "48.0.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.0.tgz#074214c0c216e6d97298a98db394b430b6c5a7de"
- integrity sha512-8fk/v3p1ro34JSVDBEmtOq6EEQRpMR0iTir79q69KnXFZ6DJyPkT3RAi+ZoTqhQMdDSpGh8BGR68ne1sP5cnAA==
+eslint-plugin-unicorn@^48.0.1:
+ version "48.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-48.0.1.tgz#a6573bc1687ae8db7121fdd8f92394b6549a6959"
+ integrity sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==
dependencies:
"@babel/helper-validator-identifier" "^7.22.5"
"@eslint-community/eslint-utils" "^4.4.0"
@@ -3716,17 +3770,17 @@ eslint-plugin-unicorn@^48.0.0:
semver "^7.5.4"
strip-indent "^3.0.0"
-eslint-plugin-vue@^9.15.1:
- version "9.15.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz#3c09e0edab444b5d4d9239a12a645a0e2e2ea5be"
- integrity sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==
+eslint-plugin-vue@^9.16.1:
+ version "9.16.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.16.1.tgz#3508d9279d797b40889db76da2fd26524e9144e6"
+ integrity sha512-2FtnTqazA6aYONfDuOZTk0QzwhAwi7Z4+uJ7+GHeGxcKapjqWlDsRWDenvyG/utyOfAS5bVRmAG3cEWiYEz2bA==
dependencies:
- "@eslint-community/eslint-utils" "^4.3.0"
+ "@eslint-community/eslint-utils" "^4.4.0"
natural-compare "^1.4.0"
- nth-check "^2.0.1"
- postcss-selector-parser "^6.0.9"
- semver "^7.3.5"
- vue-eslint-parser "^9.3.0"
+ nth-check "^2.1.1"
+ postcss-selector-parser "^6.0.13"
+ semver "^7.5.4"
+ vue-eslint-parser "^9.3.1"
xml-name-validator "^4.0.0"
eslint-plugin-vuejs-accessibility@^2.1.0:
@@ -3756,10 +3810,10 @@ eslint-scope@5.1.1:
esrecurse "^4.3.0"
estraverse "^4.1.1"
-eslint-scope@^7.1.1, eslint-scope@^7.2.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
- integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
+eslint-scope@^7.1.1, eslint-scope@^7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
+ integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
@@ -3769,32 +3823,32 @@ eslint-visitor-keys@^2.1.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
-eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
- integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
+eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.2:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz#8c2095440eca8c933bedcadf16fefa44dbe9ba5f"
+ integrity sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==
-eslint@^8.45.0:
- version "8.45.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.45.0.tgz#bab660f90d18e1364352c0a6b7c6db8edb458b78"
- integrity sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==
+eslint@^8.46.0:
+ version "8.46.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.46.0.tgz#a06a0ff6974e53e643acc42d1dcf2e7f797b3552"
+ integrity sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
- "@eslint-community/regexpp" "^4.4.0"
- "@eslint/eslintrc" "^2.1.0"
- "@eslint/js" "8.44.0"
+ "@eslint-community/regexpp" "^4.6.1"
+ "@eslint/eslintrc" "^2.1.1"
+ "@eslint/js" "^8.46.0"
"@humanwhocodes/config-array" "^0.11.10"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
- ajv "^6.10.0"
+ ajv "^6.12.4"
chalk "^4.0.0"
cross-spawn "^7.0.2"
debug "^4.3.2"
doctrine "^3.0.0"
escape-string-regexp "^4.0.0"
- eslint-scope "^7.2.0"
- eslint-visitor-keys "^3.4.1"
- espree "^9.6.0"
+ eslint-scope "^7.2.2"
+ eslint-visitor-keys "^3.4.2"
+ espree "^9.6.1"
esquery "^1.4.2"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
@@ -3817,10 +3871,10 @@ eslint@^8.45.0:
strip-ansi "^6.0.1"
text-table "^0.2.0"
-espree@^9.0.0, espree@^9.3.1, espree@^9.6.0:
- version "9.6.0"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.0.tgz#80869754b1c6560f32e3b6929194a3fe07c5b82f"
- integrity sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==
+espree@^9.0.0, espree@^9.3.1, espree@^9.6.0, espree@^9.6.1:
+ version "9.6.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
+ integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
dependencies:
acorn "^8.9.0"
acorn-jsx "^5.3.2"
@@ -4217,7 +4271,7 @@ function.prototype.name@^1.1.5:
es-abstract "^1.19.0"
functions-have-names "^1.2.2"
-functions-have-names@^1.2.2:
+functions-have-names@^1.2.2, functions-have-names@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
@@ -4250,6 +4304,16 @@ get-intrinsic@^1.1.3:
has "^1.0.3"
has-symbols "^1.0.3"
+get-intrinsic@^1.2.0, get-intrinsic@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82"
+ integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-proto "^1.0.1"
+ has-symbols "^1.0.3"
+
get-stream@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
@@ -4431,11 +4495,6 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4,
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
-"graceful-readlink@>= 1.0.0":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
- integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
-
graphemer@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
@@ -4683,7 +4742,7 @@ http2-wrapper@^1.0.0-beta.5.2:
quick-lru "^5.1.1"
resolve-alpn "^1.0.0"
-https-proxy-agent@^5.0.0:
+https-proxy-agent@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
@@ -4825,6 +4884,15 @@ internal-slot@^1.0.4:
has "^1.0.3"
side-channel "^1.0.4"
+internal-slot@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
+ integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
+ dependencies:
+ get-intrinsic "^1.2.0"
+ has "^1.0.3"
+ side-channel "^1.0.4"
+
interpret@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4"
@@ -4857,6 +4925,15 @@ is-array-buffer@^3.0.1:
get-intrinsic "^1.1.3"
is-typed-array "^1.1.10"
+is-array-buffer@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
+ integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.2.0"
+ is-typed-array "^1.1.10"
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -4908,7 +4985,7 @@ is-ci@^3.0.0:
dependencies:
ci-info "^3.2.0"
-is-core-module@^2.11.0, is-core-module@^2.12.1, is-core-module@^2.5.0:
+is-core-module@^2.11.0, is-core-module@^2.12.0, is-core-module@^2.12.1, is-core-module@^2.5.0:
version "2.12.1"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
@@ -5108,18 +5185,16 @@ isarray@~1.0.0:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-isbinaryfile@^3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80"
- integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==
- dependencies:
- buffer-alloc "^1.2.0"
-
-isbinaryfile@^4.0.10:
+isbinaryfile@^4.0.8:
version "4.0.10"
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3"
integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==
+isbinaryfile@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.0.tgz#034b7e54989dab8986598cbcea41f66663c65234"
+ integrity sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==
+
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -5271,7 +5346,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-json5@^1.0.1:
+json5@^1.0.1, json5@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
@@ -5354,59 +5429,59 @@ lazy-val@^1.0.4, lazy-val@^1.0.5:
resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d"
integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==
-lefthook-darwin-arm64@1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.4.6.tgz#a3c8354d4439b74421c3831a821ec5227c6dc9a2"
- integrity sha512-f5ltgViAdXf9QOiDDdXkH7///Agmz8gxS13GDoymqg6rg8XM4cXhGbqmNGjTGRV3J10xiJaeyYTFIkBpjLspTw==
-
-lefthook-darwin-x64@1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook-darwin-x64/-/lefthook-darwin-x64-1.4.6.tgz#61d6baf8b6b08c5345471a7ec994054417301081"
- integrity sha512-/SRG2vs4L6Fc4xnbpiDl59rJvqJPNjqPwfmyQI1BQ/GiWP6hkZWtBA9OqkBanqCFndUumq6+Ik7EBjNT2OxB/w==
-
-lefthook-freebsd-arm64@1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.4.6.tgz#ea2a65d966e316222db63e0f3e36017066225788"
- integrity sha512-n9qLbVw1SSOeL0b7hsqqji1BMPm3sNBC5rtJfUU3lyHWNmzZXnaVozgli7GdeGqq5Q3RdZSZqHiNQUF2ly/qYw==
-
-lefthook-freebsd-x64@1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.4.6.tgz#d54a2a29623a3b66bc3aa3842d3ea9a3ae4b3400"
- integrity sha512-GI4NvUbzVI1covKvtIOvFEP88W1uOQivFu2NfEwPq0AWYJhrCY22NnjhDWvSRZ4lk0QGevctxYwjAn+hevrgKg==
-
-lefthook-linux-arm64@1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook-linux-arm64/-/lefthook-linux-arm64-1.4.6.tgz#aa8573553c3ee0fe597d5683e82d518c8d54c762"
- integrity sha512-psoakCaOoD2M7YvRzThLdO4cMZOcaMHrgSwiSC8AA2m5jRmIp8W7wKUCugAU5+BEusNA986ZC5xXmcyV2+34/A==
-
-lefthook-linux-x64@1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook-linux-x64/-/lefthook-linux-x64-1.4.6.tgz#f6ecfba6477d48c900194dbc26ed430907a3a9ea"
- integrity sha512-WwIDWuandedgd9yRCfDgAp6fq7EnxWglOgGA4IuVdKEFUHUxKJ5poNrbW4Q63AvQ63BQL2k9OLTapjUQMBC+Fw==
-
-lefthook-windows-arm64@1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook-windows-arm64/-/lefthook-windows-arm64-1.4.6.tgz#586bb92835291d373626ccdcd1f7c9a79d414dae"
- integrity sha512-LVNRKgGdoHwEZgvLevlep3YFFW6mfRyroVBq59KnHUQS/mc8UT0AqWIkqSxipfDz//3Aai7c6TvGHW+EchRMxg==
-
-lefthook-windows-x64@1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook-windows-x64/-/lefthook-windows-x64-1.4.6.tgz#799b4e114d78e11593abb070e69137ab698647d5"
- integrity sha512-jvlNLHN4iPsixmWbWRdFxdQ+MbiM8vAyJCz1MA6+zQ8kEn1mpDdH/CCjrjyj0ypKHME5VXnrlx14dq7XtqQjwg==
-
-lefthook@^1.4.6:
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/lefthook/-/lefthook-1.4.6.tgz#0b11eeba682165a959b973b15c04f7dc9b29fce5"
- integrity sha512-Zb1Dp5IUzK4fblKKVdlsLEwaCj/Ug7i03fCVmULbYjpKANJyeTrYxONrc5xQA+nouFaR+SicscxAqEmgHCkHog==
+lefthook-darwin-arm64@1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.4.7.tgz#26e5a78d73cb761a48914535d3f13908cad6bf02"
+ integrity sha512-26zPoDw9gUXCroqf8OIb3qHjIq7XWrRQKdwFz2RgCfOphY22XNEucq0W+5on5s4LeqI9GieKeYQ+R0UBTjQ5LA==
+
+lefthook-darwin-x64@1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook-darwin-x64/-/lefthook-darwin-x64-1.4.7.tgz#6afb0ff683127b9e24d01a32c6b249854b1ac0dd"
+ integrity sha512-LSPiHTGEYqcABYuKqK+5+4SW6tmDXRUhSmZqcd7VSFsGa/9HU7imzqcbreiVPEO7ahKUDFYOB0riPV4g/Qys7w==
+
+lefthook-freebsd-arm64@1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.4.7.tgz#0bd3f4d61339aee7155c7e9631b8310b56e2b89d"
+ integrity sha512-b7LJdWwnrkh3uuWKqNfrlvau8/9N78IoxPz1z/xo468WcwroCYORRGpM+lKvgmKjrVFOJZQ6lFIYvVe8212wZg==
+
+lefthook-freebsd-x64@1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.4.7.tgz#5780bb7c2397ce35387677d2aafb80ed4a13cf90"
+ integrity sha512-+sOYtxlyB9iwVHZLyoD0P7qg/8Guqjk5wmslXQrM89ilEQmDL+gnPRaqfEZrByjNEi/ltPTZ0YlOXeK/qxM0mg==
+
+lefthook-linux-arm64@1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook-linux-arm64/-/lefthook-linux-arm64-1.4.7.tgz#e798759e64a7097377894876a36375b10ba4bc3a"
+ integrity sha512-Gli+cAqnBX0bCwv0mON8PM7SY/aIaM4H+nbqad5HlDHZ3ovoQBPxCmEvMxug7/Ssa3v3zdZ1cR2FkRrgzA1w+w==
+
+lefthook-linux-x64@1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook-linux-x64/-/lefthook-linux-x64-1.4.7.tgz#34bbc4440b253ac58a350b46f0367b4dcb054bbb"
+ integrity sha512-XVN686RdGB8UB/zguDeY+Nx6ikN1I9g3QBGBOGPE3aj9waB86+FotPhat/c9wfb9T0gkhKnxMiQ9kO8nvDuQxw==
+
+lefthook-windows-arm64@1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook-windows-arm64/-/lefthook-windows-arm64-1.4.7.tgz#a6232062f7d616ea0c74c95b759d86466fe972c9"
+ integrity sha512-CxZwmsIV9h1N2NPZ08a2V9jXzvaDMPwmyByDJZNOkWW1Z3Dx/Q76VK4X7aS3HhyLpudzwYEYScWhQ+SIOmx6IA==
+
+lefthook-windows-x64@1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook-windows-x64/-/lefthook-windows-x64-1.4.7.tgz#369dc2404f32d098c44ecd944e144f4aa86c2e0a"
+ integrity sha512-Hu/GoPrJviM9gbys11ZJEIgTXyQ4btifUn6WBFW4M7NpA8rxx1bbLfXdDlcl6W28BGDb1aFIXVdnJIupK01hUw==
+
+lefthook@^1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/lefthook/-/lefthook-1.4.7.tgz#9cf46aa7dff3fab00e571af6019b44e51a4d5279"
+ integrity sha512-0fCJ1ekbGG+Pi+xK9bnBF4B5eXHf/FRSiuLRP0ofYYs8LO7p1f7qbYQTCj3qjGBs6mvv/wq4UIR8e+Gi+L06TA==
optionalDependencies:
- lefthook-darwin-arm64 "1.4.6"
- lefthook-darwin-x64 "1.4.6"
- lefthook-freebsd-arm64 "1.4.6"
- lefthook-freebsd-x64 "1.4.6"
- lefthook-linux-arm64 "1.4.6"
- lefthook-linux-x64 "1.4.6"
- lefthook-windows-arm64 "1.4.6"
- lefthook-windows-x64 "1.4.6"
+ lefthook-darwin-arm64 "1.4.7"
+ lefthook-darwin-x64 "1.4.7"
+ lefthook-freebsd-arm64 "1.4.7"
+ lefthook-freebsd-x64 "1.4.7"
+ lefthook-linux-arm64 "1.4.7"
+ lefthook-linux-x64 "1.4.7"
+ lefthook-windows-arm64 "1.4.7"
+ lefthook-windows-x64 "1.4.7"
levn@^0.4.1:
version "0.4.1"
@@ -5742,13 +5817,6 @@ minimalistic-assert@^1.0.0:
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-minimatch@3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
- dependencies:
- brace-expansion "^1.1.7"
-
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -5756,10 +5824,10 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
dependencies:
brace-expansion "^1.1.7"
-minimatch@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
- integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
+minimatch@^5.0.1, minimatch@^5.1.1:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
dependencies:
brace-expansion "^2.0.1"
@@ -5791,6 +5859,11 @@ minipass@^3.0.0:
dependencies:
yallist "^4.0.0"
+minipass@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
+ integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
+
"minipass@^5.0.0 || ^6.0.2":
version "6.0.2"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-6.0.2.tgz#542844b6c4ce95b202c0995b0a471f1229de4c81"
@@ -5962,10 +6035,10 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
-nth-check@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2"
- integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==
+nth-check@^2.0.1, nth-check@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
dependencies:
boolbase "^1.0.0"
@@ -5984,6 +6057,11 @@ object-inspect@^1.12.2:
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
+object-inspect@^1.12.3:
+ version "1.12.3"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
+ integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
+
object-is@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
@@ -6017,6 +6095,25 @@ object.assign@^4.1.4:
has-symbols "^1.0.3"
object-keys "^1.1.1"
+object.fromentries@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73"
+ integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+
+object.groupby@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.0.tgz#cb29259cf90f37e7bac6437686c1ea8c916d12a9"
+ integrity sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.2.0"
+ es-abstract "^1.21.2"
+ get-intrinsic "^1.2.1"
+
object.values@^1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
@@ -6300,7 +6397,7 @@ pkg-dir@^7.0.0:
dependencies:
find-up "^6.3.0"
-plist@^3.0.1, plist@^3.0.4:
+plist@^3.0.4:
version "3.0.5"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987"
integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==
@@ -6308,6 +6405,15 @@ plist@^3.0.1, plist@^3.0.4:
base64-js "^1.5.1"
xmlbuilder "^9.0.7"
+plist@^3.0.5:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9"
+ integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==
+ dependencies:
+ "@xmldom/xmldom" "^0.8.8"
+ base64-js "^1.5.1"
+ xmlbuilder "^15.1.1"
+
pluralize@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
@@ -6542,7 +6648,7 @@ postcss-scss@^4.0.6:
resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.6.tgz#5d62a574b950a6ae12f2aa89b60d63d9e4432bfd"
integrity sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==
-postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.13, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9:
+postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.13, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5:
version "6.0.13"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
@@ -6709,11 +6815,12 @@ raw-body@2.5.1:
iconv-lite "0.4.24"
unpipe "1.0.0"
-read-config-file@6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade"
- integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==
+read-config-file@6.3.2:
+ version "6.3.2"
+ resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.3.2.tgz#556891aa6ffabced916ed57457cb192e61880411"
+ integrity sha512-M80lpCjnE6Wt6zb98DoW8WHR09nzMSpu8XHtPkiTHrJ5Az9CybfeQhTJ8D7saeBHpGhLPIVyA8lcL6ZmdKwY6Q==
dependencies:
+ config-file-ts "^0.2.4"
dotenv "^9.0.2"
dotenv-expand "^5.1.0"
js-yaml "^4.1.0"
@@ -6856,6 +6963,15 @@ regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3:
define-properties "^1.1.3"
functions-have-names "^1.2.2"
+regexp.prototype.flags@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
+ integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.2.0"
+ functions-have-names "^1.2.3"
+
regexpu-core@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d"
@@ -6985,12 +7101,12 @@ resolve-from@^5.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2:
- version "1.22.2"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
- integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
+resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.3:
+ version "1.22.3"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283"
+ integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==
dependencies:
- is-core-module "^2.11.0"
+ is-core-module "^2.12.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
@@ -7051,6 +7167,16 @@ rust-result@^1.0.0:
dependencies:
individual "^2.0.0"
+safe-array-concat@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060"
+ integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.2.0"
+ has-symbols "^1.0.3"
+ isarray "^2.0.5"
+
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -7156,18 +7282,13 @@ semver@^6.2.0, semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4:
+semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
-semver@~7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
- integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-
send@0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
@@ -7294,12 +7415,12 @@ signal-exit@^4.0.1:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967"
integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==
-simple-update-notifier@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz#7edf75c5bdd04f88828d632f762b2bc32996a9cc"
- integrity sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==
+simple-update-notifier@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb"
+ integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==
dependencies:
- semver "~7.0.0"
+ semver "^7.5.3"
slash@^3.0.0:
version "3.0.0"
@@ -7491,6 +7612,15 @@ string.prototype.padend@^3.0.0:
define-properties "^1.1.3"
es-abstract "^1.19.1"
+string.prototype.trim@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533"
+ integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+
string.prototype.trimend@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0"
@@ -7754,14 +7884,14 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-tar@^6.1.11:
- version "6.1.11"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
- integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
+tar@^6.1.12:
+ version "6.1.15"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69"
+ integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
- minipass "^3.0.0"
+ minipass "^5.0.0"
minizlib "^2.1.1"
mkdirp "^1.0.3"
yallist "^4.0.0"
@@ -7876,13 +8006,13 @@ truncate-utf8-bytes@^1.0.0:
dependencies:
utf8-byte-length "^1.0.1"
-tsconfig-paths@^3.14.1:
- version "3.14.1"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a"
- integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==
+tsconfig-paths@^3.14.2:
+ version "3.14.2"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088"
+ integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==
dependencies:
"@types/json5" "^0.0.29"
- json5 "^1.0.1"
+ json5 "^1.0.2"
minimist "^1.2.6"
strip-bom "^3.0.0"
@@ -7943,6 +8073,36 @@ type-is@~1.6.18:
media-typer "0.3.0"
mime-types "~2.1.24"
+typed-array-buffer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60"
+ integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.2.1"
+ is-typed-array "^1.1.10"
+
+typed-array-byte-length@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0"
+ integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==
+ dependencies:
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ has-proto "^1.0.1"
+ is-typed-array "^1.1.10"
+
+typed-array-byte-offset@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b"
+ integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ has-proto "^1.0.1"
+ is-typed-array "^1.1.10"
+
typed-array-length@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
@@ -7952,6 +8112,11 @@ typed-array-length@^1.0.4:
for-each "^0.3.3"
is-typed-array "^1.1.9"
+typescript@^4.0.2:
+ version "4.9.5"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
+ integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+
uhyphen@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/uhyphen/-/uhyphen-0.1.0.tgz#3cc22afa790daa802b9f6789f3583108d5b4a08c"
@@ -8207,7 +8372,7 @@ vue-devtools@^5.1.4:
resolved "https://registry.yarnpkg.com/vue-devtools/-/vue-devtools-5.1.4.tgz#265a7458ade2affb291739176964256b597fa302"
integrity sha512-EBAEXvAHUinsPzoSiElps0JgtLXUnJXKIJbP6nfdz/R63VdKBMfJ34/rFip+4iT7iMbVS5lA4W6N1jq4Hj4LCg==
-vue-eslint-parser@^9.0.1, vue-eslint-parser@^9.3.0, vue-eslint-parser@^9.3.1:
+vue-eslint-parser@^9.0.1, vue-eslint-parser@^9.3.1:
version "9.3.1"
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz#429955e041ae5371df5f9e37ebc29ba046496182"
integrity sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==
@@ -8444,6 +8609,17 @@ which-collection@^1.0.1:
is-weakmap "^2.0.1"
is-weakset "^2.0.1"
+which-typed-array@^1.1.10:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a"
+ integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ has-tostringtag "^1.0.0"
+
which-typed-array@^1.1.2:
version "1.1.8"
resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.8.tgz#0cfd53401a6f334d90ed1125754a42ed663eb01f"
@@ -8528,7 +8704,7 @@ xml-name-validator@^4.0.0:
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
-xmlbuilder@>=11.0.1:
+xmlbuilder@>=11.0.1, xmlbuilder@^15.1.1:
version "15.1.1"
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5"
integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==
@@ -8577,15 +8753,15 @@ yargs-parser@^20.2.9:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
-yargs-parser@^21.0.0:
- version "21.0.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
- integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
+yargs-parser@^21.1.1:
+ version "21.1.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-yargs@^17.5.1:
- version "17.6.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c"
- integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==
+yargs@^17.6.2:
+ version "17.7.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
+ integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
dependencies:
cliui "^8.0.1"
escalade "^3.1.1"
@@ -8593,7 +8769,7 @@ yargs@^17.5.1:
require-directory "^2.1.1"
string-width "^4.2.3"
y18n "^5.0.5"
- yargs-parser "^21.0.0"
+ yargs-parser "^21.1.1"
yauzl@^2.10.0:
version "2.10.0"
@@ -8613,10 +8789,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@^5.6.0:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/youtubei.js/-/youtubei.js-5.6.0.tgz#0dab5ecec3722ffbfdd3a53be4ee34e605988116"
- integrity sha512-7kvqUJcMzG2khfX7m6qyje1SF71yAZ9RIVIwVcQ+GEJ34qwFhTm+tCp2cOdxjD5x4NMLVwYOtmvIgMNXoPlVlQ==
+youtubei.js@^5.8.0:
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/youtubei.js/-/youtubei.js-5.8.0.tgz#4c6dc898b6a2c6cbf91f95932be18e981e394e2d"
+ integrity sha512-xMQxbhy0TMpLvJnGbLnqAE9RhiLCwBuVrsTyVd0ZFX6o98fmJmddcE1qeRIagNGNr16BmofqtsbGXIfpZprFhA==
dependencies:
jintr "^1.1.0"
linkedom "^0.14.12"