diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index d6d2db591a87fcdb10a7dcaec87b998086fc518a..0000000000000000000000000000000000000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -*.js -build \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index ae0b48997668d550e129227138d61350198e5bb9..0000000000000000000000000000000000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/strict", - "plugin:node/recommended" - ], - "rules": { - "node/file-extension-in-import": [ - "error", - "always" - ], - "node/no-unpublished-import": [ - "off" - ] - } -} \ No newline at end of file diff --git a/README.md b/README.md index f5774ef7a177d5ad15f240cb286f0277da5e45ee..eaf4e13754e13cb46638c7a80623af595ba64188 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ 1. `npm run npm-dev` or `bun run bun-dev` 2. load `BiliBiliConfig.json` into Grayjay ## TO-DO -- [X] (I haven't noticed this in a while) Seems like video links time out and stop working fairly quickly. Can we prevent that by send cookies along with the requests? - [ ] Figure out captcha verification for space posts and space videos or at least proper rate limiting error messages The captcha only shows up for posts. for videos there is just a login prompt that shows up whenever taking an action However once the posts captcha is done the login prompts stop @@ -43,7 +42,6 @@ - [ ] implement monitization/merch features - [x] (should be fixed now) there is an issue where space_request doesn't work right. it might be ip address allow list related. like watching a video seems like it might make things work in the future - [ ] update to use the new playlist api to get channel playlists -- [ ] add whatever gets stuff to show up on the channels and support tabs on the cannel page. i think it is just polycentric stuff but idk ## Pending Fixed Grayjay Bugs diff --git a/build/BiliBiliConfig.json b/build/BiliBiliConfig.json index 758bf8fbf6a5c109c43b112c661b7e6b4e5f1979..9e65f5202f8b159c3dd81fee2365f5eee53651e2 100644 --- a/build/BiliBiliConfig.json +++ b/build/BiliBiliConfig.json @@ -7,7 +7,7 @@ "sourceUrl": "https://plugins.grayjay.app/Bilibili/BiliBiliConfig.json", "repositoryUrl": "https://gitlab.futo.org/videostreaming/plugins/bilibili", "scriptUrl": "./BiliBiliScript.js", - "version": 12, + "version": 13, "iconUrl": "./BiliBiliIcon.png", "id": "cf8ea74d-ad9b-489e-a083-539b6aa8648c", "scriptSignature": "", diff --git a/build/BiliBiliScript.js b/build/BiliBiliScript.js index 9f432911e904174377a2c31bb9ea8e2f330f7085..0b5908504b4506ccec5f1132399fec772c16125c 100644 --- a/build/BiliBiliScript.js +++ b/build/BiliBiliScript.js @@ -62,131 +62,37 @@ let local_storage_cache; let local_state; //#endregion //#region source methods -source.enable = enable; -source.disable = disable; -source.saveState = saveState; -source.getHome = getHome; -source.searchSuggestions = searchSuggestions; -source.getSearchCapabilities = getSearchCapabilities; -source.search = search; -source.searchChannels = searchChannels; -source.isChannelUrl = isChannelUrl; -source.getChannel = getChannel; -source.getChannelCapabilities = getChannelCapabilities; -source.getChannelContents = getChannelContents; -source.getSearchChannelContentsCapabilities = getSearchChannelContentsCapabilities; -source.searchChannelContents = searchChannelContents; -source.isContentDetailsUrl = isContentDetailsUrl; -source.getContentDetails = getContentDetails; -source.isPlaylistUrl = isPlaylistUrl; -source.searchPlaylists = searchPlaylists; -source.getPlaylist = getPlaylist; -source.getComments = getComments; -source.getSubComments = getSubComments; -source.getLiveChatWindow = getLiveChatWindow; -source.getUserSubscriptions = getUserSubscriptions; -source.getUserPlaylists = getUserPlaylists; -if (IS_TESTING) { - const assert_source = { - enable, - disable, - saveState, - getHome, - searchSuggestions, - search, - getSearchCapabilities, - isContentDetailsUrl, - getContentDetails, - isChannelUrl, - getChannel, - getChannelContents, - getChannelCapabilities, - searchChannelContents, - getSearchChannelContentsCapabilities, - searchChannels, - getComments, - getSubComments, - isPlaylistUrl, - getPlaylist, - searchPlaylists, - getLiveChatWindow, - getUserPlaylists, - getUserSubscriptions - }; - if (source.enable === undefined) { - assert_never(source.enable); - } - if (source.disable === undefined) { - assert_never(source.disable); - } - if (source.saveState === undefined) { - assert_never(source.saveState); - } - if (source.getHome === undefined) { - assert_never(source.getHome); - } - if (source.searchSuggestions === undefined) { - assert_never(source.searchSuggestions); - } - if (source.search === undefined) { - assert_never(source.search); - } - if (source.getSearchCapabilities === undefined) { - assert_never(source.getSearchCapabilities); - } - if (source.isContentDetailsUrl === undefined) { - assert_never(source.isContentDetailsUrl); - } - if (source.getContentDetails === undefined) { - assert_never(source.getContentDetails); - } - if (source.isChannelUrl === undefined) { - assert_never(source.isChannelUrl); - } - if (source.getChannel === undefined) { - assert_never(source.getChannel); - } - if (source.getChannelContents === undefined) { - assert_never(source.getChannelContents); - } - if (source.getChannelCapabilities === undefined) { - assert_never(source.getChannelCapabilities); - } - if (source.searchChannelContents === undefined) { - assert_never(source.searchChannelContents); - } - if (source.getSearchChannelContentsCapabilities === undefined) { - assert_never(source.getSearchChannelContentsCapabilities); - } - if (source.searchChannels === undefined) { - assert_never(source.searchChannels); - } - if (source.getComments === undefined) { - assert_never(source.getComments); - } - if (source.getSubComments === undefined) { - assert_never(source.getSubComments); - } - if (source.isPlaylistUrl === undefined) { - assert_never(source.isPlaylistUrl); - } - if (source.getPlaylist === undefined) { - assert_never(source.getPlaylist); - } - if (source.searchPlaylists === undefined) { - assert_never(source.searchPlaylists); - } - if (source.getLiveChatWindow === undefined) { - assert_never(source.getLiveChatWindow); - } - if (source.getUserPlaylists === undefined) { - assert_never(source.getUserPlaylists); - } - if (source.getUserSubscriptions === undefined) { - assert_never(source.getUserSubscriptions); - } - if (IS_TESTING) { - log(assert_source); +const local_source = { + enable, + disable, + saveState, + getHome, + searchSuggestions, + search, + getSearchCapabilities, + isContentDetailsUrl, + getContentDetails, + isChannelUrl, + getChannel, + getChannelContents, + getChannelCapabilities, + searchChannelContents, + getSearchChannelContentsCapabilities, + searchChannels, + getComments, + getSubComments, + isPlaylistUrl, + getPlaylist, + searchPlaylists, + getLiveChatWindow, + getUserPlaylists, + getUserSubscriptions +}; +init_source(local_source); +function init_source(local_source) { + for (const method_key of Object.keys(local_source)) { + // @ts-expect-error + source[method_key] = local_source[method_key]; } } //#endregion @@ -201,7 +107,7 @@ function enable(conf, settings, savedState) { log("logging savedState"); log(savedState); } - if (savedState === null) { + if (!savedState) { init_local_storage(); } else { @@ -494,10 +400,10 @@ function getSearchCapabilities() { ], false, "ADDITIONAL_CONTENT")]); } function search(query, type, order, filters) { + if (filters === null) { + return new ContentPager([], false); + } if (type === null) { - if (filters === null) { - return new ContentPager([], false); - } switch (filters["ADDITIONAL_CONTENT"]?.[0]) { case "VIDEOS": type = Type.Feed.Videos; @@ -2436,11 +2342,13 @@ function format_sources(play_data) { const name = play_data.accept_description[play_data.accept_quality.findIndex(function (value) { return value === video.id; })]; - if (name === undefined) { + const [initStart, initEnd] = video.segment_base.initialization.split("-").map(function (val) { return parseInt(val); }); + const [indexStart, indexEnd] = video.segment_base.index_range.split("-").map(function (val) { return parseInt(val); }); + if (name === undefined || initStart === undefined || initEnd === undefined || indexStart === undefined || indexEnd === undefined) { throw new ScriptException("can't load content details"); } const video_url_hostname = new URL(video.base_url).hostname; - return new VideoUrlSource({ + return new VideoUrlRangeSource({ width: video.width, height: video.height, container: video.mime_type, @@ -2449,6 +2357,11 @@ function format_sources(play_data) { bitrate: video.bandwidth, duration: play_data.dash.duration, url: video.base_url, + itagId: video.id, + initStart, + initEnd, + indexStart, + indexEnd, requestModifier: { headers: { "Referer": "https://www.bilibili.com", @@ -2460,7 +2373,12 @@ function format_sources(play_data) { }); const audio_sources = play_data.dash.audio.map(function (audio) { const audio_url_hostname = new URL(audio.base_url).hostname; - return new AudioUrlSource({ + const [initStart, initEnd] = audio.segment_base.initialization.split("-").map(function (val) { return parseInt(val); }); + const [indexStart, indexEnd] = audio.segment_base.index_range.split("-").map(function (val) { return parseInt(val); }); + if (initStart === undefined || initEnd === undefined || indexStart === undefined || indexEnd === undefined) { + throw new ScriptException("can't load content details"); + } + return new AudioUrlRangeSource({ container: audio.mime_type, codecs: audio.codecs, name: `${audio.codecs} at ${audio.bandwidth}`, @@ -2468,6 +2386,12 @@ function format_sources(play_data) { duration: play_data.dash.duration, url: audio.base_url, language: Language.UNKNOWN, + itagId: audio.id, + initStart, + initEnd, + indexStart, + indexEnd, + audioChannels: 2, requestModifier: { headers: { "Referer": "https://www.bilibili.com", @@ -3695,5 +3619,5 @@ function execute_requests(requests) { //#endregion // export statements are removed during build step // used for unit testing in BiliBiliScript.test.ts -// export { interleave, getMixinKey, mixin_constant_request, process_mixin_constant, load_video_details, create_signed_url, nav_request, process_wbi_keys, init_local_storage, log_passthrough }; +// export { interleave, getMixinKey, mixin_constant_request, process_mixin_constant, load_video_details, create_signed_url, nav_request, process_wbi_keys, init_local_storage, log_passthrough, assert_never }; //# sourceMappingURL=http://localhost:8080/BiliBiliScript.js.map \ No newline at end of file diff --git a/build/BiliBiliScript.js.map b/build/BiliBiliScript.js.map index e41b882884761a6e0e706180607a5aa7b7a95757..815e8180f0367b9a25e16ae15c647613d10d564b 100644 --- a/build/BiliBiliScript.js.map +++ b/build/BiliBiliScript.js.map @@ -1 +1 @@ -{"version":3,"file":"BiliBiliScript.js","sourceRoot":"http://localhost:8080/","sources":["BiliBiliScript.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"BiliBiliScript.js","sourceRoot":"http://localhost:8080/","sources":["BiliBiliScript.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/BiliBiliScript.ts b/build/BiliBiliScript.ts index c76ab6fe5fc2400951fbfaefa9956dd5c9843167..42ca46963767c190faa5247890a557ec45c4d949 100644 --- a/build/BiliBiliScript.ts +++ b/build/BiliBiliScript.ts @@ -133,97 +133,49 @@ let local_state: State //#endregion //#region source methods -source.enable = enable -source.disable = disable -source.saveState = saveState -source.getHome = getHome - -source.searchSuggestions = searchSuggestions -source.getSearchCapabilities = getSearchCapabilities -source.search = search - -source.searchChannels = searchChannels -source.isChannelUrl = isChannelUrl -source.getChannel = getChannel - -source.getChannelCapabilities = getChannelCapabilities -source.getChannelContents = getChannelContents -source.getSearchChannelContentsCapabilities = getSearchChannelContentsCapabilities -source.searchChannelContents = searchChannelContents - -source.isContentDetailsUrl = isContentDetailsUrl -source.getContentDetails = getContentDetails - -source.isPlaylistUrl = isPlaylistUrl -source.searchPlaylists = searchPlaylists -source.getPlaylist = getPlaylist - -source.getComments = getComments -source.getSubComments = getSubComments -source.getLiveChatWindow = getLiveChatWindow - -source.getUserSubscriptions = getUserSubscriptions -source.getUserPlaylists = getUserPlaylists - -if (IS_TESTING) { - const assert_source: BiliBiliSource = { - enable, - disable, - saveState, - getHome, - searchSuggestions, - search, - getSearchCapabilities, - isContentDetailsUrl, - getContentDetails, - isChannelUrl, - getChannel, - getChannelContents, - getChannelCapabilities, - searchChannelContents, - getSearchChannelContentsCapabilities, - searchChannels, - getComments, - getSubComments, - isPlaylistUrl, - getPlaylist, - searchPlaylists, - getLiveChatWindow, - getUserPlaylists, - getUserSubscriptions - } - if (source.enable === undefined) { assert_never(source.enable) } - if (source.disable === undefined) { assert_never(source.disable) } - if (source.saveState === undefined) { assert_never(source.saveState) } - if (source.getHome === undefined) { assert_never(source.getHome) } - if (source.searchSuggestions === undefined) { assert_never(source.searchSuggestions) } - if (source.search === undefined) { assert_never(source.search) } - if (source.getSearchCapabilities === undefined) { assert_never(source.getSearchCapabilities) } - if (source.isContentDetailsUrl === undefined) { assert_never(source.isContentDetailsUrl) } - if (source.getContentDetails === undefined) { assert_never(source.getContentDetails) } - if (source.isChannelUrl === undefined) { assert_never(source.isChannelUrl) } - if (source.getChannel === undefined) { assert_never(source.getChannel) } - if (source.getChannelContents === undefined) { assert_never(source.getChannelContents) } - if (source.getChannelCapabilities === undefined) { assert_never(source.getChannelCapabilities) } - if (source.searchChannelContents === undefined) { assert_never(source.searchChannelContents) } - if (source.getSearchChannelContentsCapabilities === undefined) { assert_never(source.getSearchChannelContentsCapabilities) } - if (source.searchChannels === undefined) { assert_never(source.searchChannels) } - if (source.getComments === undefined) { assert_never(source.getComments) } - if (source.getSubComments === undefined) { assert_never(source.getSubComments) } - if (source.isPlaylistUrl === undefined) { assert_never(source.isPlaylistUrl) } - if (source.getPlaylist === undefined) { assert_never(source.getPlaylist) } - if (source.searchPlaylists === undefined) { assert_never(source.searchPlaylists) } - if (source.getLiveChatWindow === undefined) { assert_never(source.getLiveChatWindow) } - if (source.getUserPlaylists === undefined) { assert_never(source.getUserPlaylists) } - if (source.getUserSubscriptions === undefined) { assert_never(source.getUserSubscriptions) } - if (IS_TESTING) { - log(assert_source) +const local_source: BiliBiliSource = { + enable, + disable, + saveState, + getHome, + searchSuggestions, + search, + getSearchCapabilities, + isContentDetailsUrl, + getContentDetails, + isChannelUrl, + getChannel, + getChannelContents, + getChannelCapabilities, + searchChannelContents, + getSearchChannelContentsCapabilities, + searchChannels, + getComments, + getSubComments, + isPlaylistUrl, + getPlaylist, + searchPlaylists, + getLiveChatWindow, + getUserPlaylists, + getUserSubscriptions +} +init_source(local_source) +function init_source< + T extends { readonly [key: string]: string }, + S extends string, + ChannelTypes extends FeedType, + SearchTypes extends FeedType, + ChannelSearchTypes extends FeedType +>(local_source: Source<T, S, ChannelTypes, SearchTypes, ChannelSearchTypes>) { + for (const method_key of Object.keys(local_source)) { + // @ts-expect-error + source[method_key] = local_source[method_key] } } //#endregion //#region enable -function enable(conf: SourceConfig, settings: Settings, savedState: string | null) { +function enable(conf: SourceConfig, settings: Settings, savedState?: string | null) { if (IS_TESTING) { log("IS_TESTING true") log("logging configuration") @@ -234,7 +186,7 @@ function enable(conf: SourceConfig, settings: Settings, savedState: string | nul log(savedState) } - if (savedState === null) { + if (!savedState) { init_local_storage() } else { const state: State = JSON.parse(savedState) @@ -586,11 +538,11 @@ function getSearchCapabilities() { )] ) } -function search(query: string, type: SearchTypeCapabilities | null, order: Order | null, filters: FilterQuery<FilterGroupIDs>) { +function search(query: string, type: SearchTypeCapabilities | null, order: Order | null, filters: FilterQuery<FilterGroupIDs> | null) { + if (filters === null) { + return new ContentPager([], false) + } if (type === null) { - if (filters === null) { - return new ContentPager([], false) - } switch (filters["ADDITIONAL_CONTENT"]?.[0]) { case "VIDEOS": type = Type.Feed.Videos @@ -1120,7 +1072,7 @@ function getChannelContents( url: string, type: ChannelTypeCapabilities | null, order: Order | null, - filters: FilterQuery<FilterGroupIDs> + filters: FilterQuery<FilterGroupIDs> | null ) { log(`BiliBili log: feed type ${type}`) @@ -1895,7 +1847,7 @@ function getSearchChannelContentsCapabilities() { )] ) } -function searchChannelContents(space_url: string, query: string, type: ChannelSearchTypeCapabilities | null, order: Order | null, filters: FilterQuery<FilterGroupIDs>) { +function searchChannelContents(space_url: string, query: string, type: ChannelSearchTypeCapabilities | null, order: Order | null, filters: FilterQuery<FilterGroupIDs> | null) { if (type === null) { if (filters === null) { return new ContentPager([], false) @@ -2915,17 +2867,20 @@ function subtitles_request(id: { bvid: string } | { aid: number }, cid: number, return result } function format_sources(play_data: PlayDataDash) { - const video_sources: VideoUrlSource[] = play_data.dash.video.map(function (video) { + const video_sources: VideoUrlRangeSource[] = play_data.dash.video.map(function (video) { const name = play_data.accept_description[ play_data.accept_quality.findIndex(function (value) { return value === video.id }) ] - if (name === undefined) { + const [initStart, initEnd] = video.segment_base.initialization.split("-").map(function (val) { return parseInt(val) }) + const [indexStart, indexEnd] = video.segment_base.index_range.split("-").map(function (val) { return parseInt(val) }) + if (name === undefined || initStart === undefined || initEnd === undefined || indexStart === undefined || indexEnd === undefined) { throw new ScriptException("can't load content details") } const video_url_hostname = new URL(video.base_url).hostname - return new VideoUrlSource({ + + return new VideoUrlRangeSource({ width: video.width, height: video.height, container: video.mime_type, @@ -2934,6 +2889,11 @@ function format_sources(play_data: PlayDataDash) { bitrate: video.bandwidth, duration: play_data.dash.duration, url: video.base_url, + itagId: video.id, + initStart, + initEnd, + indexStart, + indexEnd, requestModifier: { headers: { "Referer": "https://www.bilibili.com", @@ -2944,9 +2904,14 @@ function format_sources(play_data: PlayDataDash) { }) }) - const audio_sources: AudioUrlSource[] = play_data.dash.audio.map(function (audio) { + const audio_sources: AudioUrlRangeSource[] = play_data.dash.audio.map(function (audio) { const audio_url_hostname = new URL(audio.base_url).hostname - return new AudioUrlSource({ + const [initStart, initEnd] = audio.segment_base.initialization.split("-").map(function (val) { return parseInt(val) }) + const [indexStart, indexEnd] = audio.segment_base.index_range.split("-").map(function (val) { return parseInt(val) }) + if (initStart === undefined || initEnd === undefined || indexStart === undefined || indexEnd === undefined) { + throw new ScriptException("can't load content details") + } + return new AudioUrlRangeSource({ container: audio.mime_type, codecs: audio.codecs, name: `${audio.codecs} at ${audio.bandwidth}`, @@ -2954,6 +2919,12 @@ function format_sources(play_data: PlayDataDash) { duration: play_data.dash.duration, url: audio.base_url, language: Language.UNKNOWN, + itagId: audio.id, + initStart, + initEnd, + indexStart, + indexEnd, + audioChannels: 2, requestModifier: { headers: { "Referer": "https://www.bilibili.com", @@ -4429,5 +4400,6 @@ function execute_requests<T, U, V, W, X, Y, Z>( nav_request, process_wbi_keys, init_local_storage, - log_passthrough + log_passthrough, + assert_never } diff --git a/build/sign-script.sh b/build/sign-script.sh deleted file mode 100644 index cca94f768b695445869e980cf736392eb397362a..0000000000000000000000000000000000000000 --- a/build/sign-script.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# From: -# https://gitlab.futo.org/videostreaming/grayjay/-/blob/master/docs/Script%20Signing.md -# Example usage: -# cat script.js | sign-script.sh -# sh sign-script.sh script.js -# PRIVATE_KEY_PASSPHRASE="<passphrase>" bash sign-script.sh BiliBiliScript.js -# -# Generate a keys: -# ssh-keygen -m PEM -t rsa -b 2048 -C "Grayjay Plugin Signing" - -#Set your key paths here -PRIVATE_KEY_PATH=~/.ssh/id_rsa -PUBLIC_KEY_PATH=~/.ssh/id_rsa.pub - -[[ $PRIVATE_KEY_PASSPHRASE ]] && passphrase_subcommand="-passin pass:$PRIVATE_KEY_PASSPHRASE" || passphrase_subcommand="" - -PUBLIC_KEY_PKCS8=$(ssh-keygen -f "$PUBLIC_KEY_PATH" -e -m pkcs8 | tail -n +2 | head -n -1 | tr -d '\n') -echo "\"scriptPublicKey\": \"$PUBLIC_KEY_PKCS8\"," - -if [ $# -eq 0 ]; then - # No parameter provided, read from stdin - DATA=$(cat) -else - # Parameter provided, read from file - DATA=$(cat "$1") -fi - -SIGNATURE=$(echo -n "$DATA" | openssl dgst -sha512 -sign "$PRIVATE_KEY_PATH" $passphrase_subcommand | base64 -w 0) -echo "\"scriptSignature\": \"$SIGNATURE\"," diff --git a/package-lock.json b/package-lock.json index 5af55c037401e9b3dc88a1c58c1fc95d998e79fe..9207f412b5b9c18e65c33e393933dd924c3ca742 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,13 +9,10 @@ "version": "1.0.0", "license": "MPL-2.0", "devDependencies": { - "@grayjay/plugin": "gitlab:kaidelorenzo/grayjay-plugin-types#47cb96fb006daa8f710e26167e631cb5d5181a73", - "@types/node": "^20.12.13", - "eslint": "^8.57.0", - "eslint-plugin-node": "^11.1.0", + "@grayjay/plugin": "gitlab:kaidelorenzo/grayjay-plugin-types#4478f604519640c28c4cb19d74f7cc1e9af3619d", + "@types/node": "^20.14.9", "http-server": "^14.1.1", - "npm-check-updates": "^16.14.20", - "typescript-eslint": "^7.11.0" + "npm-check-updates": "^16.14.20" }, "engines": { "node": ">=20.0.0" @@ -34,62 +31,6 @@ "node": ">=0.1.90" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", @@ -98,8 +39,8 @@ }, "node_modules/@grayjay/plugin": { "version": "1.0.0", - "resolved": "git+ssh://git@gitlab.com/kaidelorenzo/grayjay-plugin-types.git#47cb96fb006daa8f710e26167e631cb5d5181a73", - "integrity": "sha512-x4zwyC0ybouAPYw1yZYqEnh5DMdVzVngsf92CSOueJKxRgnfP/EY/90pJCk3KPa6kt+zinVwUTSrqlakI1XeKQ==", + "resolved": "git+ssh://git@gitlab.com/kaidelorenzo/grayjay-plugin-types.git#4478f604519640c28c4cb19d74f7cc1e9af3619d", + "integrity": "sha512-CaLT/+a5RGs2115Yrg2HrBET3ZvaIPmdEsmaShhiSCyzSu4Ee6r41dwK+oAzl6XwjPMH9TPr7bEbfTZF5ctRXA==", "dev": true, "dependencies": { "@types/sync-fetch": "^0.4.3", @@ -108,41 +49,11 @@ }, "engines": { "node": ">=20.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "typescript": "^5.4.5" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -160,18 +71,6 @@ "node": ">=12" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -195,21 +94,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -257,18 +141,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/git": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", @@ -288,18 +160,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/git/node_modules/which": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", @@ -345,6 +205,49 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/@npmcli/move-file/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@npmcli/move-file/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/move-file/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@npmcli/move-file/node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -357,6 +260,22 @@ "node": ">=10" } }, + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@npmcli/node-gyp": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", @@ -578,30 +497,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@types/http-cache-semantics": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", @@ -609,9 +504,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.12.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz", - "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==", + "version": "20.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", + "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -642,260 +537,12 @@ "@types/node-fetch": "*" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.11.0.tgz", - "integrity": "sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.11.0", - "@typescript-eslint/type-utils": "7.11.0", - "@typescript-eslint/utils": "7.11.0", - "@typescript-eslint/visitor-keys": "7.11.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.11.0.tgz", - "integrity": "sha512-yimw99teuaXVWsBcPO1Ais02kwJ1jmNA1KxE7ng0aT7ndr1pT1wqj0OJnsYVGKKlc4QJai86l/025L6z8CljOg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.11.0", - "@typescript-eslint/types": "7.11.0", - "@typescript-eslint/typescript-estree": "7.11.0", - "@typescript-eslint/visitor-keys": "7.11.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.11.0.tgz", - "integrity": "sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.11.0", - "@typescript-eslint/visitor-keys": "7.11.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.11.0.tgz", - "integrity": "sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "7.11.0", - "@typescript-eslint/utils": "7.11.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.11.0.tgz", - "integrity": "sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==", - "dev": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.11.0.tgz", - "integrity": "sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.11.0", - "@typescript-eslint/visitor-keys": "7.11.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.11.0.tgz", - "integrity": "sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.11.0", - "@typescript-eslint/types": "7.11.0", - "@typescript-eslint/typescript-estree": "7.11.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.11.0.tgz", - "integrity": "sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.11.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -933,22 +580,6 @@ "node": ">=8" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -959,12 +590,15 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { @@ -1072,18 +706,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/boxen/node_modules/chalk": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", @@ -1119,41 +741,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -1252,15 +846,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/camelcase": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", @@ -1495,9 +1080,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -1547,12 +1132,6 @@ "node": ">=4.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -1606,18 +1185,6 @@ "node": ">=8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/dot-prop": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", @@ -1703,223 +1270,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.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.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -1932,12 +1282,6 @@ "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", "dev": true }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -1954,30 +1298,6 @@ "node": ">=8.6.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, "node_modules/fast-memoize": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", @@ -1993,18 +1313,6 @@ "reusify": "^1.0.4" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -2033,26 +1341,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, "node_modules/follow-redirects": { "version": "1.15.6", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", @@ -2074,9 +1362,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -2177,12 +1465,33 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/gauge/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/gauge/node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -2227,15 +1536,16 @@ } }, "node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", + "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { @@ -2249,39 +1559,15 @@ } }, "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, "node_modules/glob/node_modules/minipass": { @@ -2317,21 +1603,6 @@ "node": ">=10" } }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -2395,12 +1666,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2638,46 +1903,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/import-lazy": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", @@ -2763,12 +1988,15 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2887,9 +2115,9 @@ "dev": true }, "node_modules/jackspeak": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", - "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", + "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -2958,18 +2186,6 @@ "jju": "^1.1.0" } }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -3030,19 +2246,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3064,12 +2267,6 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, "node_modules/lowercase-keys": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", @@ -3185,15 +2382,18 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -3401,12 +2601,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -3475,12 +2669,13 @@ } }, "node_modules/node-gyp/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/node-gyp/node_modules/cacache": { @@ -3512,6 +2707,15 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/node-gyp/node_modules/cacache/node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -3604,6 +2808,18 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/node-gyp/node_modules/minipass": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", @@ -3645,16 +2861,20 @@ "node": ">=10" } }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "node_modules/node-gyp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, "bin": { - "semver": "bin/semver.js" + "rimraf": "bin.js" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/node-gyp/node_modules/ssri": { @@ -3735,18 +2955,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/normalize-url": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", @@ -3819,27 +3027,6 @@ "node": ">=14.14" } }, - "node_modules/npm-check-updates/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/npm-check-updates/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/npm-check-updates/node_modules/chalk": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", @@ -3852,78 +3039,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/npm-check-updates/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/npm-check-updates/node_modules/rimraf": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.7.tgz", - "integrity": "sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==", - "dev": true, - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/npm-check-updates/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-check-updates/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/npm-check-updates/node_modules/strip-json-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz", - "integrity": "sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm-install-checks": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", @@ -3936,18 +3051,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-install-checks/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm-normalize-package-bin": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", @@ -3984,18 +3087,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-package-arg/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm-packlist": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", @@ -4023,18 +3114,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-pick-manifest/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm-registry-fetch": { "version": "14.0.5", "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", @@ -4070,10 +3149,13 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4096,23 +3178,6 @@ "opener": "bin/opener-bin.js" } }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/p-cancelable": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", @@ -4185,17 +3250,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true }, "node_modules/pacote": { "version": "15.2.0", @@ -4229,28 +3288,16 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/parse-github-url": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", - "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz", + "integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==", "dev": true, "bin": { "parse-github-url": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, "node_modules/path-exists": { @@ -4280,12 +3327,6 @@ "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, "node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", @@ -4303,9 +3344,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz", + "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -4355,15 +3396,6 @@ "ms": "^2.1.1" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/proc-log": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", @@ -4415,19 +3447,10 @@ } }, "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true }, "node_modules/pupa": { "version": "3.1.0", @@ -4445,9 +3468,9 @@ } }, "node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.2.tgz", + "integrity": "sha512-x+NLUpx9SYrcwXtX7ob1gnkSems4i/mGZX5SlYxwIau6RrUSODO89TR/XDGGpn5RPWSYIB+aSfuSlV5+CmbTBg==", "dev": true, "dependencies": { "side-channel": "^1.0.6" @@ -4576,18 +3599,6 @@ "node": ">= 6" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/registry-auth-token": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", @@ -4639,38 +3650,12 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", "dev": true }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", @@ -4706,37 +3691,18 @@ } }, "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.7.tgz", + "integrity": "sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "glob": "^10.3.7" }, "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "rimraf": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -4784,12 +3750,15 @@ "dev": true }, "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver-diff": { @@ -4807,18 +3776,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semver-diff/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/semver-utils": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/semver-utils/-/semver-utils-1.1.4.tgz", @@ -5119,7 +4076,37 @@ "node": ">=8" } }, - "node_modules/strip-ansi": { + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", @@ -5131,6 +4118,21 @@ "node": ">=8" } }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", @@ -5144,13 +4146,22 @@ "node": ">=8" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz", + "integrity": "sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==", + "dev": true, + "engines": { + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5168,18 +4179,6 @@ "node": ">=8" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/sync-fetch": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.5.2.tgz", @@ -5245,12 +4244,6 @@ "node": ">=10" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -5269,18 +4262,6 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, "node_modules/tuf-js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz", @@ -5295,25 +4276,13 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5329,9 +4298,9 @@ } }, "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "peer": true, "bin": { "tsc": "bin/tsc", @@ -5341,32 +4310,6 @@ "node": ">=14.17" } }, - "node_modules/typescript-eslint": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.11.0.tgz", - "integrity": "sha512-ZKe3yHF/IS/kCUE4CGE3UgtK+Q7yRk1e9kwEI0rqm9XxMTd9P1eHe0LVVtrZ3oFuIQ2unJ9Xn0vTsLApzJ3aPw==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "7.11.0", - "@typescript-eslint/parser": "7.11.0", - "@typescript-eslint/utils": "7.11.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -5473,27 +4416,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/update-notifier/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/url-join": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", @@ -5592,18 +4514,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/widest-line/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -5627,30 +4537,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", @@ -5686,16 +4572,25 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { - "node": ">=12" + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=8" } }, "node_modules/wrap-ansi/node_modules/ansi-styles": { @@ -5733,21 +4628,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index e0e930f306de2401e61a2457f1d22773b307b488..25f667c6352afeee8595541d0716c99dace39fa4 100644 --- a/package.json +++ b/package.json @@ -7,13 +7,11 @@ }, "module": "src/BiliBiliScript.ts", "scripts": { - "bun-eslint": "bun x eslint .", - "npm-eslint": "npx eslint .", "bun-test": "bun run build && node --test", "test": "npm run build && node --test", "build": "tsc && cp src/BiliBiliScript.[tj]s* build && sed -i '/^export/s/^/\\/\\/ /' build/BiliBiliScript.[tj]s", - "bun-release": "bun install && bun update && bun x npm-check-updates && bun run bun-test && bun run bun-eslint", - "npm-release": "npm install && npm update && npx npm-check-updates && npm test && npm run npm-eslint", + "bun-release": "bun install && bun update && bun x npm-check-updates && bun run bun-test", + "npm-release": "npm install && npm update && npx npm-check-updates && npm test", "bun-dev": "bun run build && bun x http-server build", "npm-dev": "npm run build && npx http-server build" }, @@ -36,12 +34,9 @@ }, "type": "module", "devDependencies": { - "@grayjay/plugin": "gitlab:kaidelorenzo/grayjay-plugin-types#47cb96fb006daa8f710e26167e631cb5d5181a73", - "@types/node": "^20.12.13", - "eslint": "^8.57.0", - "eslint-plugin-node": "^11.1.0", + "@grayjay/plugin": "gitlab:kaidelorenzo/grayjay-plugin-types#4478f604519640c28c4cb19d74f7cc1e9af3619d", + "@types/node": "^20.14.9", "http-server": "^14.1.1", - "typescript-eslint": "^7.11.0", "npm-check-updates": "^16.14.20" } } diff --git a/reference/plugin.d.ts.reference b/reference/plugin.d.ts.reference deleted file mode 100644 index 74fc3d30f440153ab8e4ccbc4d1251ebd44c7f58..0000000000000000000000000000000000000000 --- a/reference/plugin.d.ts.reference +++ /dev/null @@ -1,440 +0,0 @@ -//Reference Scriptfile -//Intended exclusively for auto-complete in your IDE, not for execution - -declare class ScriptException extends Error { - //If only one parameter is provided, acts as msg - constructor(type: string, msg: string); -} - -declare class LoginRequiredException extends ScriptException { - constructor(msg: string); -} -//Alias -declare class ScriptLoginRequiredException extends ScriptException { - constructor(msg: string); -} - -declare class CaptchaRequiredException extends ScriptException { - constructor(url: string, body: string); -} - -declare class CriticalException extends ScriptException { - constructor(msg: string); -} - -declare class UnavailableException extends ScriptException { - constructor(msg: string); -} - -declare class AgeException extends ScriptException { - constructor(msg: string); -} - -declare class TimeoutException extends ScriptException { - constructor(msg: string); -} - -declare class ScriptImplementationException extends ScriptException { - constructor(msg: string); -} - -declare class Thumbnails { - constructor(thumbnails: Thumbnail[]) -} -declare class Thumbnail { - constructor(url, quality) { - this.url = url ?? ""; //string - this.quality = quality ?? 0; //integer - } -} - -declare class PlatformID { - constructor(platform: string, id: string, pluginId: string, claimType: int = 0, claimFieldType: integer = -1); -} - -declare class ResultCapabilities { - constructor(types: string[], sorts: string[], filters: FilterGroup[]) -} -declare class FilterGroup { - constructor(name: string, filters: string[], isMultiSelect: boolean, id: string); -} -declare class FilterCapability { - constructor(name: string, value: string, id: string); -} - - -declare class PlatformAuthorLink { - constructor(id: PlatformID, name: string, url: string, thumbnail: string, subscribers: integer?, membershipUrl: string?); -} - -declare class PlatformAuthorMembershipLink { - constructor(id: PlatformID, name: string, url: string, thumbnail: string, subscribers: integer?, membershipUrl: string?); -} - -declare interface PlatformContentDef { - id: PlatformID, - name: string, - thumbnails: Thumbnails, - author: PlatformAuthorLink, - datetime: integer, - url: string -} -declare interface PlatformContent {} - -declare interface PlatformNestedMediaContentDef extends PlatformContentDef { - contentUrl: string, - contentName: string?, - contentDescription: string?, - contentProvider: string?, - contentThumbnails: Thumbnails -} -declare class PlatformNestedMediaContent { - constructor(obj: PlatformNestedMediaContentDef); -} - -declare interface PlatformLockedContentDef extends PlatformContentDef { - contentName: string?, - contentThumbnails: Thumbnails?, - unlockUrl: string, - lockDescription: string?, -} -declare class PlatformLockedContent { - constructor(obj: PlatformLockedContentDef); -} - - -declare interface PlatformVideoDef extends PlatformContentDef { - thumbnails: Thumbnails, - author: PlatformAuthorLink, - - duration: int, - viewCount: long, - isLive: boolean, - shareUrl: string? -} -declare class PlatformVideo implements PlatformContent { - constructor(obj: PlatformVideoDef); -} - - -declare interface PlatformVideoDetailsDef extends PlatformVideoDef { - description: string, - video: VideoSourceDescriptor, - live: IVideoSource, - rating: IRating, - subtitles: SubtitleSource[] -} -declare class PlatformVideoDetails extends PlatformVideo { - constructor(obj: PlatformVideoDetailsDef); -} - -declare interface PlatformPostDef extends PlatformContentDef { - thumbnails: string[], - images: string[], - description: string -} -declare class PlatformPost extends PlatformContent { - constructor(obj: PlatformPostDef) -} - -declare interface PlatformPostDetailsDef extends PlatformPostDef { - rating: IRating, - textType: int, - content: String -} -declare class PlatformPostDetails extends PlatformPost { - constructor(obj: PlatformPostDetailsDef); -} - - -//Sources -declare interface IVideoSourceDescriptor {} - -declare interface MuxVideoSourceDescriptorDef { - isUnMuxed: boolean, - videoSources: VideoSource[] -} -declare class VideoSourceDescriptor implements IVideoSourceDescriptor { - constructor(videoSourcesOrObj: VideoSource[]); -} - -declare interface UnMuxVideoSourceDescriptorDef { - isUnMuxed: boolean, - videoSources: VideoSource[] -} -class UnMuxVideoSourceDescriptor implements IVideoSourceDescriptor { - constructor(videoSourcesOrObj: VideoSource[], audioSources: AudioSource[]); - constructor(videoSourcesOrObj: UnMuxVideoSourceDescriptorDef); -} - -declare interface IVideoSource { - -} -declare interface IAudioSource { - -} -declare interface VideoUrlSourceDef implements IVideoSource { - width: integer, - height: integer, - container: string, - codec: string, - name: string, - bitrate: integer, - duration: integer, - url: string -} -declare class VideoUrlSource { - constructor(obj: VideoUrlSourceDef); - - getRequestModifier(): RequestModifier?; -} -declare interface VideoUrlRangeSourceDef extends VideoUrlSource { - itagId: integer, - initStart: integer, - initEnd: integer, - indexStart: integer, - indexEnd: integer, -} -declare class VideoUrlRangeSource extends VideoUrlSource { - constructor(obj: YTVideoSourceDef); -} -declare interface AudioUrlSourceDef { - name: string, - bitrate: integer, - container: string, - codecs: string, - duration: integer, - url: string, - language: string -} -declare class AudioUrlSource implements IAudioSource { - constructor(obj: AudioUrlSourceDef); - - getRequestModifier(): RequestModifier?; -} -declare interface AudioUrlRangeSourceDef extends AudioUrlSource { - itagId: integer, - initStart: integer, - initEnd: integer, - indexStart: integer, - indexEnd: integer, - audioChannels: integer -} -declare class AudioUrlRangeSource extends AudioUrlSource { - constructor(obj: AudioUrlRangeSourceDef); -} -declare interface HLSSourceDef { - name: string, - duration: integer, - url: string, - priority: boolean?, - language: string? -} -declare class HLSSource implements IVideoSource { - constructor(obj: HLSSourceDef); -} -declare interface DashSourceDef { - name: string, - duration: integer, - url: string, - language: string? -} -declare class DashSource implements IVideoSource { - constructor(obj: DashSourceDef) -} - -declare interface IRequest { - url: string, - headers: Map<string, string> -} -declare interface IRequestModifierDef { - allowByteSkip: boolean -} -declare class RequestModifier { - constructor(obj: IRequestModifierDef) { } - - modifyRequest(url: string, headers: Map<string, string>): IRequest; -} - -//Channel -declare interface PlatformChannelDef { - id: PlatformID, - name: string, - thumbnail: string, - banner: string, - subscribers: integer, - description: string, - url: string, - urlAlternatives: string[], - links: Map<string>? -} -declare class PlatformChannel { - constructor(obj: PlatformChannelDef); -} - -//Playlist -declare interface PlatformPlaylistDef implements PlatformContent { - videoCount: integer, - thumbnail: string -} -declare class PlatformPlaylist extends PlatformContent { - constructor(obj: PlatformPlaylistDef); -} -declare interface PlatformPlaylistDetailsDef implements PlatformPlaylistDef { - contents: ContentPager -} -declare class PlatformPlaylistDetails extends PlatformContent { - constructor(obj: PlatformPlaylistDetailsDef); -} - - -//Ratings -interface IRating { - type: integer -} -declare class RatingLikes implements IRating { - constructor(likes: integer); -} -declare class RatingLikesDislikes implements IRating { - constructor(likes: integer, dislikes: integer); -} -declare class RatingScaler implements IRating { - constructor(value: double); -} - -declare interface CommentDef { - contextUrl: string, - author: PlatformAuthorLink, - message: string, - rating: IRating, - date: long, - replyCount: int, - context: any -} -declare class PlatformComment { - constructor(obj: CommentDef); -} - -declare class PlaybackTracker { - constructor(interval: integer); - - setProgress(seconds: integer); -} - -declare class LiveEventPager { - nextRequest = 4000; - - constructor(results: LiveEvent[], hasMore: boolean, context: any); - - hasMorePagers(): boolean - nextPage(): LiveEventPager; //Could be self -} - -declare class LiveEvent { - constructor(type: integer); -} -declare class LiveEventComment extends LiveEvent { - constructor(name: string, message: string, thumbnail: string?, colorName: string?, badges: string[]); -} -declare class LiveEventEmojis extends LiveEvent { - constructor(name: Map<string>); -} -declare class LiveEventDonation extends LiveEvent { - constructor(amount: integer, name: string, message: string, thumbnail: string?, expire: Int, colorDonation: string?); -} -declare class LiveEventViewCount extends LiveEvent { - constructor(viewCount: integer); -} -declare class LiveEventRaid extends LiveEvent { - constructor(targetUrl: string, targetName: string, targetThumbnail: string); -} - - - -//Pagers -declare class ContentPager { - constructor(results: PlatformContent[], hasMore: boolean); - - hasMorePagers(): boolean - nextPage(): ContentPager?; //Could be self -} -declare class VideoPager { - constructor(results: PlatformVideo[], hasMore: boolean); - - hasMorePagers(): boolean - nextPage(): VideoPager?; //Could be self -} -declare class ChannelPager { - constructor(results: PlatformChannel[], hasMore: boolean); - - hasMorePagers(): boolean; - nextPage(): ChannelPager?; //Could be self -} -declare class PlaylistPager { - constructor(results: PlatformPlaylist[], hasMore: boolean); - - hasMorePagers(): boolean; - nextPage(): PlaylistPager?; -} -declare class CommentPager { - constructor(results: PlatformComment[], hasMore: boolean); - - hasMorePagers(): boolean - nextPage(): CommentPager?; //Could be self -} - -interface Map<T> { - [Key: string]: T; -} - -//To override by plugin - -interface Source { - getHome(): VideoPager; - - enable(config: SourceConfig, settings: Any, savedState: string?); - disable(); - - saveState(): string; - - searchSuggestions(query: string): string[]; - search(query: string, type: string, order: string, filters): ContentPager; - getSearchCapabilities(): ResultCapabilities - - //Optional - searchChannelContents(channelUrl: string, query: string, type: string, order: string, filters): ContentPager; - //Optional - getSearchChannelContentsCapabilities(): ResultCapabilities; - - //Optional - getChannelUrlByClaim(claimType: int, values: Map<Int, String>) - - isChannelUrl(url: string): boolean; - getChannel(url: string): PlatformChannel; - - getChannelContents(url: string, type: string, order: string, filters): ContentPager; - getChannelCapabilities(): ResultCapabilities; - - isContentDetailsUrl(url: string): boolean; - getContentDetails(url: string): PlatformContentDetails; - - //Optional - getLiveEvents(url: string): LiveEventPager; - - //Optional - getComments(url: string): CommentPager; - //Optional - getSubComments(comment: PlatformComment): CommentPager; - - //Optional - getUserSubscriptions(): string[]; - //Optional - getUserPlaylists(): string[]; - - //Optional - isPlaylistUrl(url: string): boolean; - //Optional - getPlaylist(url): string[]; -} - -const source: Source; diff --git a/reference/ref.js.reference b/reference/ref.js.reference deleted file mode 100644 index f15cf5e75f93c7e96e81cbca21ac97b72bb7b775..0000000000000000000000000000000000000000 --- a/reference/ref.js.reference +++ /dev/null @@ -1,860 +0,0 @@ -//Reference Scriptfile -//Intended exclusively for auto-complete in your IDE, not for execution -var IS_TESTING = false; - -let Type = { - Source: { - Dash: "DASH", - HLS: "HLS", - STATIC: "Static" - }, - Feed: { - Videos: "VIDEOS", - Streams: "STREAMS", - Mixed: "MIXED", - Live: "LIVE", - Subscriptions: "SUBSCRIPTIONS" - }, - Order: { - Chronological: "CHRONOLOGICAL" - }, - Date: { - LastHour: "LAST_HOUR", - Today: "TODAY", - LastWeek: "LAST_WEEK", - LastMonth: "LAST_MONTH", - LastYear: "LAST_YEAR" - }, - Duration: { - Short: "SHORT", - Medium: "MEDIUM", - Long: "LONG" - }, - Text: { - RAW: 0, - HTML: 1, - MARKUP: 2 - }, - Chapter: { - NORMAL: 0, - - SKIPPABLE: 5, - SKIP: 6, - SKIPONCE: 7 - } -}; - -let Language = { - UNKNOWN: "Unknown", - ARABIC: "ar", - SPANISH: "es", - FRENCH: "fr", - HINDI: "hi", - INDONESIAN: "id", - KOREAN: "ko", - PORTUGUESE: "pt", - PORTBRAZIL: "pt", - RUSSIAN: "ru", - THAI: "th", - TURKISH: "tr", - VIETNAMESE: "vi", - ENGLISH: "en" -} - -class ScriptException extends Error { - constructor(type, msg) { - if(arguments.length == 1) { - super(arguments[0]); - this.plugin_type = "ScriptException"; - this.message = arguments[0]; - } - else { - super(msg); - this.plugin_type = type ?? ""; //string - this.msg = msg ?? ""; //string - } - } -} -class ScriptLoginRequiredException extends ScriptException { - constructor(msg) { - super("ScriptLoginRequiredException", msg); - } -} -class LoginRequiredException extends ScriptException { - constructor(msg) { - super("ScriptLoginRequiredException", msg); - } -} -class CaptchaRequiredException extends Error { - constructor(url, body) { - super(JSON.stringify({ 'plugin_type': 'CaptchaRequiredException', url, body })); - this.plugin_type = "CaptchaRequiredException"; - this.url = url; - this.body = body; - } -} -class CriticalException extends ScriptException { - constructor(msg) { - super("CriticalException", msg); - } -} -class UnavailableException extends ScriptException { - constructor(msg) { - super("UnavailableException", msg); - } -} -class AgeException extends ScriptException { - constructor(msg) { - super("AgeException", msg); - } -} -class TimeoutException extends ScriptException { - constructor(msg) { - super(msg); - this.plugin_type = "ScriptTimeoutException"; - } -} -class ScriptImplementationException extends ScriptException { - constructor(msg) { - super(msg); - this.plugin_type = "ScriptImplementationException"; - } -} - -class Thumbnails { - constructor(thumbnails) { - this.sources = thumbnails ?? []; // Thumbnail[] - } -} -class Thumbnail { - constructor(url, quality) { - this.url = url ?? ""; //string - this.quality = quality ?? 0; //integer - } -} - -class PlatformID { - constructor(platform, id, pluginId, claimType, claimFieldType) { - this.platform = platform ?? ""; //string - this.pluginId = pluginId; //string - this.value = id; //string - this.claimType = claimType ?? 0; //int - this.claimFieldType = claimFieldType ?? -1; //int - } -} - -class ResultCapabilities { - constructor(types, sorts, filters) { - this.types = types ?? []; - this.sorts = sorts ?? []; - this.filters = filters ?? []; - } -} -class FilterGroup { - constructor(name, filters, isMultiSelect, id) { - if(!name) throw new ScriptException("No name for filter group"); - if(!filters) throw new ScriptException("No filter provided"); - - this.name = name - this.filters = filters - this.isMultiSelect = isMultiSelect; - this.id = id; - } -} -class FilterCapability { - constructor(name, value, id) { - if(!name) throw new ScriptException("No name for filter"); - if(!value) throw new ScriptException("No filter value"); - - this.name = name; - this.value = value; - this.id = id; - } -} - - -class PlatformAuthorLink { - constructor(id, name, url, thumbnail, subscribers, membershipUrl) { - this.id = id ?? PlatformID(); //PlatformID - this.name = name ?? ""; //string - this.url = url ?? ""; //string - this.thumbnail = thumbnail; //string - if(subscribers) - this.subscribers = subscribers; - if(membershipUrl) - this.membershipUrl = membershipUrl ?? null; //string (for backcompat) - } -} -class PlatformAuthorMembershipLink { - constructor(id, name, url, thumbnail, subscribers, membershipUrl) { - this.id = id ?? PlatformID(); //PlatformID - this.name = name ?? ""; //string - this.url = url ?? ""; //string - this.thumbnail = thumbnail; //string - if(subscribers) - this.subscribers = subscribers; - if(membershipUrl) - this.membershipUrl = membershipUrl ?? null; //string - } -} -class PlatformContent { - constructor(obj, type) { - this.contentType = type; - obj = obj ?? {}; - this.id = obj.id ?? PlatformID(); //PlatformID - this.name = obj.name ?? ""; //string - this.thumbnails = obj.thumbnails; //Thumbnail[] - this.author = obj.author; //PlatformAuthorLink - this.datetime = obj.datetime ?? obj.uploadDate ?? 0; //OffsetDateTime (Long) - this.url = obj.url ?? ""; //String - } -} -class PlatformContentDetails { - constructor(type) { - this.contentType = type; - } -} -class PlatformNestedMediaContent extends PlatformContent { - constructor(obj) { - super(obj, 11); - obj = obj ?? {}; - this.contentUrl = obj.contentUrl ?? ""; - this.contentName = obj.contentName; - this.contentDescription = obj.contentDescription; - this.contentProvider = obj.contentProvider; - this.contentThumbnails = obj.contentThumbnails ?? new Thumbnails(); - } -} -class PlatformLockedContent extends PlatformContent { - constructor(obj) { - super(obj, 70); - obj = obj ?? {}; - this.contentName = obj.contentName; - this.contentThumbnails = obj.contentThumbnails ?? new Thumbnails(); - this.unlockUrl = obj.unlockUrl ?? ""; - this.lockDescription = obj.lockDescription; - } -} -class PlatformVideo extends PlatformContent { - constructor(obj) { - super(obj, 1); - obj = obj ?? {}; - this.plugin_type = "PlatformVideo"; - this.shareUrl = obj.shareUrl; - - this.duration = obj.duration ?? -1; //Long - this.viewCount = obj.viewCount ?? -1; //Long - - this.isLive = obj.isLive ?? false; //Boolean - } -} -class PlatformVideoDetails extends PlatformVideo { - constructor(obj) { - super(obj); - obj = obj ?? {}; - this.plugin_type = "PlatformVideoDetails"; - - this.description = obj.description ?? "";//String - this.video = obj.video ?? {}; //VideoSourceDescriptor - this.dash = obj.dash ?? null; //DashSource, deprecated - this.hls = obj.hls ?? null; //HLSSource, deprecated - this.live = obj.live ?? null; //VideoSource - - this.rating = obj.rating ?? null; //IRating - this.subtitles = obj.subtitles ?? []; - } -} - -class PlatformPost extends PlatformContent { - constructor(obj) { - super(obj, 2); - obj = obj ?? {}; - this.plugin_type = "PlatformPost"; - this.thumbnails = obj.thumbnails ?? []; - this.images = obj.images ?? []; - this.description = obj.description ?? ""; - } -} -class PlatformPostDetails extends PlatformPost { - constructor(obj) { - super(obj); - obj = obj ?? {}; - this.plugin_type = "PlatformPostDetails"; - this.rating = obj.rating ?? RatingLikes(-1); - this.textType = obj.textType ?? 0; - this.content = obj.content ?? ""; - } -} - -//Sources -class VideoSourceDescriptor { - constructor(obj) { - obj = obj ?? {}; - this.plugin_type = "MuxVideoSourceDescriptor"; - this.isUnMuxed = false; - - if(obj.constructor === Array) - this.videoSources = obj; - else - this.videoSources = obj.videoSources ?? []; - } -} -class UnMuxVideoSourceDescriptor { - constructor(videoSourcesOrObj, audioSources) { - videoSourcesOrObj = videoSourcesOrObj ?? {}; - this.plugin_type = "UnMuxVideoSourceDescriptor"; - this.isUnMuxed = true; - - if(videoSourcesOrObj.constructor === Array) { - this.videoSources = videoSourcesOrObj; - this.audioSources = audioSources; - } - else { - this.videoSources = videoSourcesOrObj.videoSources ?? []; - this.audioSources = videoSourcesOrObj.audioSources ?? []; - } - } -} - -class VideoUrlSource { - constructor(obj) { - obj = obj ?? {}; - this.plugin_type = "VideoUrlSource"; - this.width = obj.width ?? 0; - this.height = obj.height ?? 0; - this.container = obj.container ?? ""; - this.codec = obj.codec ?? ""; - this.name = obj.name ?? ""; - this.bitrate = obj.bitrate ?? 0; - this.duration = obj.duration ?? 0; - this.url = obj.url; - if(obj.requestModifier) - this.requestModifier = obj.requestModifier; - } -} -class VideoUrlRangeSource extends VideoUrlSource { - constructor(obj) { - super(obj); - this.plugin_type = "VideoUrlRangeSource"; - - this.itagId = obj.itagId ?? null; - this.initStart = obj.initStart ?? null; - this.initEnd = obj.initEnd ?? null; - this.indexStart = obj.indexStart ?? null; - this.indexEnd = obj.indexEnd ?? null; - } -} -class AudioUrlSource { - constructor(obj) { - obj = obj ?? {}; - this.plugin_type = "AudioUrlSource"; - this.name = obj.name ?? ""; - this.bitrate = obj.bitrate ?? 0; - this.container = obj.container ?? ""; - this.codec = obj.codec ?? ""; - this.duration = obj.duration ?? 0; - this.url = obj.url; - this.language = obj.language ?? Language.UNKNOWN; - if(obj.requestModifier) - this.requestModifier = obj.requestModifier; - } -} -class AudioUrlRangeSource extends AudioUrlSource { - constructor(obj) { - super(obj); - this.plugin_type = "AudioUrlRangeSource"; - - this.itagId = obj.itagId ?? null; - this.initStart = obj.initStart ?? null; - this.initEnd = obj.initEnd ?? null; - this.indexStart = obj.indexStart ?? null; - this.indexEnd = obj.indexEnd ?? null; - this.audioChannels = obj.audioChannels ?? 2; - } -} -class HLSSource { - constructor(obj) { - obj = obj ?? {}; - this.plugin_type = "HLSSource"; - this.name = obj.name ?? "HLS"; - this.duration = obj.duration ?? 0; - this.url = obj.url; - this.priority = obj.priority ?? false; - if(obj.language) - this.language = obj.language; - if(obj.requestModifier) - this.requestModifier = obj.requestModifier; - } -} -class DashSource { - constructor(obj) { - obj = obj ?? {}; - this.plugin_type = "DashSource"; - this.name = obj.name ?? "Dash"; - this.duration = obj.duration ?? 0; - this.url = obj.url; - if(obj.language) - this.language = obj.language; - if(obj.requestModifier) - this.requestModifier = obj.requestModifier; - } -} - -class RequestModifier { - constructor(obj) { - obj = obj ?? {}; - this.allowByteSkip = obj.allowByteSkip; //Kinda deprecated.. wip - } -} - -//Channel -class PlatformChannel { - constructor(obj) { - obj = obj ?? {}; - this.plugin_type = "PlatformChannel"; - this.id = obj.id ?? ""; //string - this.name = obj.name ?? ""; //string - this.thumbnail = obj.thumbnail; //string - this.banner = obj.banner; //string - this.subscribers = obj.subscribers ?? 0; //integer - this.description = obj.description; //string - this.url = obj.url ?? ""; //string - this.urlAlternatives = obj.urlAlternatives ?? []; - this.links = obj.links ?? { } //Map<string,string> - } -} - -//Playlist -class PlatformPlaylist extends PlatformContent { - constructor(obj) { - super(obj, 4); - this.plugin_type = "PlatformPlaylist"; - this.videoCount = obj.videoCount ?? 0; - this.thumbnail = obj.thumbnail; - } -} -class PlatformPlaylistDetails extends PlatformPlaylist { - constructor(obj) { - super(obj); - this.plugin_type = "PlatformPlaylistDetails"; - this.contents = obj.contents; - } -} - - -//Ratings -class RatingLikes { - constructor(likes) { - this.type = 1; - this.likes = likes; - } -} -class RatingLikesDislikes { - constructor(likes,dislikes) { - this.type = 2; - this.likes = likes; - this.dislikes = dislikes; - } -} -class RatingScaler { - constructor(value) { - this.type = 3; - this.value = value; - } -} - -class PlatformComment { - constructor(obj) { - this.plugin_type = "Comment"; - this.contextUrl = obj.contextUrl ?? ""; - this.author = obj.author ?? new PlatformAuthorLink(null, "", "", null); - this.message = obj.message ?? ""; - this.rating = obj.rating ?? new RatingLikes(0); - this.date = obj.date ?? 0; - this.replyCount = obj.replyCount ?? 0; - this.context = obj.context ?? {}; - } -} - -//Temporary backwards compat -class Comment extends PlatformComment { - constructor(obj) { - super(obj); - } -} - -class PlaybackTracker { - constructor(interval) { - this.nextRequest = interval ?? 10*1000; - } - setProgress(seconds) { - throw new ScriptImplementationException("Missing required setProgress(seconds) on PlaybackTracker"); - } -} - -class LiveEventPager { - constructor(results, hasMore, context) { - this.plugin_type = "LiveEventPager"; - this.results = results ?? []; - this.hasMore = hasMore ?? false; - this.context = context ?? {}; - this.nextRequest = 4000; - } - - hasMorePagers() { return this.hasMore; } - nextPage() { return new Pager([], false, this.context) } -} - -class LiveEvent { - constructor(type) { - this.type = type; - } -} -class LiveEventComment extends LiveEvent { - constructor(name, message, thumbnail, colorName, badges) { - super(1); - this.name = name; - this.message = message; - this.thumbnail = thumbnail; - this.colorName = colorName; - this.badges = badges; - } -} -class LiveEventEmojis extends LiveEvent { - constructor(emojis) { - super(4); - this.emojis = emojis; - } -} -class LiveEventDonation extends LiveEvent { - constructor(amount, name, message, thumbnail, expire, colorDonation) { - super(5); - this.amount = amount; - this.name = name; - this.message = message ?? ""; - this.thumbnail = thumbnail; - this.expire = expire; - this.colorDonation = colorDonation; - } -} -class LiveEventViewCount extends LiveEvent { - constructor(viewCount) { - super(10); - this.viewCount = viewCount; - } -} -class LiveEventRaid extends LiveEvent { - constructor(targetUrl, targetName, targetThumbnail) { - super(100); - this.targetUrl = targetUrl; - this.targetName = targetName; - this.targetThumbnail = targetThumbnail; - } -} - -//Pagers -class ContentPager { - constructor(results, hasMore, context) { - this.plugin_type = "ContentPager"; - this.results = results ?? []; - this.hasMore = hasMore ?? false; - this.context = context ?? {}; - } - - hasMorePagers() { return this.hasMore; } - nextPage() { return new ContentPager([], false, this.context) } -} -class VideoPager { - constructor(results, hasMore, context) { - this.plugin_type = "VideoPager"; - this.results = results ?? []; - this.hasMore = hasMore ?? false; - this.context = context ?? {}; - } - - hasMorePagers() { return this.hasMore; } - nextPage() { return new VideoPager([], false, this.context) } -} -class ChannelPager { - constructor(results, hasMore, context) { - this.plugin_type = "ChannelPager"; - this.results = results ?? []; - this.hasMore = hasMore ?? false; - this.context = context ?? {}; - } - - hasMorePagers() { return this.hasMore; } - nextPage() { return new Pager([], false, this.context) } -} -class PlaylistPager { - constructor(results, hasMore, context) { - this.plugin_type = "PlaylistPager"; - this.results = results ?? []; - this.hasMore = hasMore ?? false; - this.context = context ?? {}; - } - - hasMorePagers() { return this.hasMore; } - nextPage() { return new Pager([], false, this.context) } -} -class CommentPager { - constructor(results, hasMore, context) { - this.plugin_type = "CommentPager"; - this.results = results ?? []; - this.hasMore = hasMore ?? false; - this.context = context ?? {}; - } - - hasMorePagers() { return this.hasMore; } - nextPage() { return new Pager([], false, this.context) } -} - -function throwException(type, message) { - throw new Error("V8EXCEPTION:" + type + "-" + message); -} - -let plugin = { - config: {}, - settings: {} -}; - -//To override by plugin -const source = { - getHome() { return new ContentPager([], false, {}); }, - - enable(config){ }, - disable() {}, - - searchSuggestions(query){ return []; }, - getSearchCapabilities(){ return { types: [], sorts: [] }; }, - search(query, type, order, filters){ return new ContentPager([], false, {}); }, //TODO - //OPTIONAL getSearchChannelContentsCapabilities(){ return { types: [], sorts: [] }; }, - //OPTIONAL searchChannelContents(channelUrl, query, type, order, filters){ return new Pager([], false, {}); }, //TODO - - isChannelUrl(url){ return false; }, - getChannel(url){ return null; }, - getChannelCapabilities(){ return { types: [], sorts: [] }; }, - getChannelContents(url, type, order, filters) { return new ContentPager([], false, {}); }, - - isContentDetailsUrl(url){ return false; }, - getContentDetails(url){ }, //TODO - - //OPTIONAL getComments(url){ return new Pager([], false, {}); }, //TODO - //OPTIONAL getSubComments(comment){ return new Pager([], false, {}); }, //TODO - - //OPTIONAL getSubscriptionsUser(){ return []; }, - //OPTIONAL getPlaylistsUser(){ return []; } -}; - -function parseSettings(settings) { - if(!settings) - return {}; - let newSettings = {}; - for(let key in settings) { - if(typeof settings[key] == "string") - newSettings[key] = JSON.parse(settings[key]); - else - newSettings[key] = settings[key]; - } - return newSettings; -} - -function log(str) { - if(str) { - console.log(str); - if(typeof str == "string") - bridge.log(str); - else - bridge.log(JSON.stringify(str, null, 4)); - } -} - -function encodePathSegment(segment) { - return encodeURIComponent(segment).replace(/[!'()*]/g, function (c) { - return '%' + c.charCodeAt(0).toString(16); - }); -} - -class URLSearchParams { - constructor(init) { - this._entries = {}; - if (typeof init === 'string') { - if (init !== '') { - init = init.replace(/^\?/, ''); - const attributes = init.split('&'); - let attribute; - for (let i = 0; i < attributes.length; i++) { - attribute = attributes[i].split('='); - this.append(decodeURIComponent(attribute[0]), (attribute.length > 1) ? decodeURIComponent(attribute[1]) : ''); - } - } - } - else if (init instanceof URLSearchParams) { - init.forEach((value, name) => { - this.append(value, name); - }); - } - } - append(name, value) { - value = value.toString(); - if (name in this._entries) { - this._entries[name].push(value); - } - else { - this._entries[name] = [value]; - } - } - delete(name) { - delete this._entries[name]; - } - get(name) { - return (name in this._entries) ? this._entries[name][0] : null; - } - getAll(name) { - return (name in this._entries) ? this._entries[name].slice(0) : []; - } - has(name) { - return (name in this._entries); - } - set(name, value) { - this._entries[name] = [value.toString()]; - } - forEach(callback) { - let entries; - for (let name in this._entries) { - if (this._entries.hasOwnProperty(name)) { - entries = this._entries[name]; - for (let i = 0; i < entries.length; i++) { - callback.call(this, entries[i], name, this); - } - } - } - } - keys() { - const items = []; - this.forEach((value, name) => { items.push(name); }); - return createIterator(items); - } - values() { - const items = []; - this.forEach((value) => { items.push(value); }); - return createIterator(items); - } - entries() { - const items = []; - this.forEach((value, name) => { items.push([value, name]); }); - return createIterator(items); - } - toString() { - let searchString = ''; - this.forEach((value, name) => { - if (searchString.length > 0) - searchString += '&'; - searchString += encodeURIComponent(name) + '=' + encodeURIComponent(value); - }); - return searchString; - } -} - - -//Package Bridge (variable: bridge) -let bridge = { - /** - * @return {Boolean} - **/ - isLoggedIn: function() {}, - - /** - * @param {String} str - * @return {Unit} - **/ - log: function(str) {}, - - /** - * @param {String} str - * @return {Unit} - **/ - throwTest: function(str) {}, - - /** - * @param {String} str - * @return {Unit} - **/ - toast: function(str) {}, - -} - -//Package Http (variable: http) -let http = { - /** - * @param {String} url - * @param {Map} headers - * @param {Boolean} useAuth - * @return {BridgeHttpResponse} - **/ - GET: function(url, headers, useAuth) {}, - - /** - * @param {String} url - * @param {String} body - * @param {Map} headers - * @param {Boolean} useAuth - * @return {BridgeHttpResponse} - **/ - POST: function(url, body, headers, useAuth) {}, - - /** - * @return {BatchBuilder} - **/ - batch: function() {}, - - /** - * @param {Boolean} withAuth - * @return {PackageHttpClient} - **/ - getDefaultClient: function(withAuth) {}, - - /** - * @param {Boolean} withAuth - * @return {PackageHttpClient} - **/ - newClient: function(withAuth) {}, - - /** - * @param {String} method - * @param {String} url - * @param {Map} headers - * @param {Boolean} useAuth - * @return {BridgeHttpResponse} - **/ - request: function(method, url, headers, useAuth) {}, - - /** - * @param {String} method - * @param {String} url - * @param {String} body - * @param {Map} headers - * @param {Boolean} useAuth - * @return {BridgeHttpResponse} - **/ - requestWithBody: function(method, url, body, headers, useAuth) {}, - - /** - * @param {String} url - * @param {Map} headers - * @param {Boolean} useAuth - * @return {SocketResult} - **/ - socket: function(url, headers, useAuth) {}, - -} - -//Package DOMParser (variable: domParser) -let domParser = { - /** - * @param {String} html - * @return {DOMNode} - **/ - parseFromString: function(html) {}, - -} diff --git a/src/BiliBiliScript.ts b/src/BiliBiliScript.ts index 58526738d81edd02584d49028be4ce68a398dfae..fd4dc24cadc466260c15c4d6fea9eef6c1573e33 100644 --- a/src/BiliBiliScript.ts +++ b/src/BiliBiliScript.ts @@ -133,97 +133,49 @@ let local_state: State //#endregion //#region source methods -source.enable = enable -source.disable = disable -source.saveState = saveState -source.getHome = getHome - -source.searchSuggestions = searchSuggestions -source.getSearchCapabilities = getSearchCapabilities -source.search = search - -source.searchChannels = searchChannels -source.isChannelUrl = isChannelUrl -source.getChannel = getChannel - -source.getChannelCapabilities = getChannelCapabilities -source.getChannelContents = getChannelContents -source.getSearchChannelContentsCapabilities = getSearchChannelContentsCapabilities -source.searchChannelContents = searchChannelContents - -source.isContentDetailsUrl = isContentDetailsUrl -source.getContentDetails = getContentDetails - -source.isPlaylistUrl = isPlaylistUrl -source.searchPlaylists = searchPlaylists -source.getPlaylist = getPlaylist - -source.getComments = getComments -source.getSubComments = getSubComments -source.getLiveChatWindow = getLiveChatWindow - -source.getUserSubscriptions = getUserSubscriptions -source.getUserPlaylists = getUserPlaylists - -if (IS_TESTING) { - const assert_source: BiliBiliSource = { - enable, - disable, - saveState, - getHome, - searchSuggestions, - search, - getSearchCapabilities, - isContentDetailsUrl, - getContentDetails, - isChannelUrl, - getChannel, - getChannelContents, - getChannelCapabilities, - searchChannelContents, - getSearchChannelContentsCapabilities, - searchChannels, - getComments, - getSubComments, - isPlaylistUrl, - getPlaylist, - searchPlaylists, - getLiveChatWindow, - getUserPlaylists, - getUserSubscriptions - } - if (source.enable === undefined) { assert_never(source.enable) } - if (source.disable === undefined) { assert_never(source.disable) } - if (source.saveState === undefined) { assert_never(source.saveState) } - if (source.getHome === undefined) { assert_never(source.getHome) } - if (source.searchSuggestions === undefined) { assert_never(source.searchSuggestions) } - if (source.search === undefined) { assert_never(source.search) } - if (source.getSearchCapabilities === undefined) { assert_never(source.getSearchCapabilities) } - if (source.isContentDetailsUrl === undefined) { assert_never(source.isContentDetailsUrl) } - if (source.getContentDetails === undefined) { assert_never(source.getContentDetails) } - if (source.isChannelUrl === undefined) { assert_never(source.isChannelUrl) } - if (source.getChannel === undefined) { assert_never(source.getChannel) } - if (source.getChannelContents === undefined) { assert_never(source.getChannelContents) } - if (source.getChannelCapabilities === undefined) { assert_never(source.getChannelCapabilities) } - if (source.searchChannelContents === undefined) { assert_never(source.searchChannelContents) } - if (source.getSearchChannelContentsCapabilities === undefined) { assert_never(source.getSearchChannelContentsCapabilities) } - if (source.searchChannels === undefined) { assert_never(source.searchChannels) } - if (source.getComments === undefined) { assert_never(source.getComments) } - if (source.getSubComments === undefined) { assert_never(source.getSubComments) } - if (source.isPlaylistUrl === undefined) { assert_never(source.isPlaylistUrl) } - if (source.getPlaylist === undefined) { assert_never(source.getPlaylist) } - if (source.searchPlaylists === undefined) { assert_never(source.searchPlaylists) } - if (source.getLiveChatWindow === undefined) { assert_never(source.getLiveChatWindow) } - if (source.getUserPlaylists === undefined) { assert_never(source.getUserPlaylists) } - if (source.getUserSubscriptions === undefined) { assert_never(source.getUserSubscriptions) } - if (IS_TESTING) { - log(assert_source) +const local_source: BiliBiliSource = { + enable, + disable, + saveState, + getHome, + searchSuggestions, + search, + getSearchCapabilities, + isContentDetailsUrl, + getContentDetails, + isChannelUrl, + getChannel, + getChannelContents, + getChannelCapabilities, + searchChannelContents, + getSearchChannelContentsCapabilities, + searchChannels, + getComments, + getSubComments, + isPlaylistUrl, + getPlaylist, + searchPlaylists, + getLiveChatWindow, + getUserPlaylists, + getUserSubscriptions +} +init_source(local_source) +function init_source< + T extends { readonly [key: string]: string }, + S extends string, + ChannelTypes extends FeedType, + SearchTypes extends FeedType, + ChannelSearchTypes extends FeedType +>(local_source: Source<T, S, ChannelTypes, SearchTypes, ChannelSearchTypes>) { + for (const method_key of Object.keys(local_source)) { + // @ts-expect-error + source[method_key] = local_source[method_key] } } //#endregion //#region enable -function enable(conf: SourceConfig, settings: Settings, savedState: string | null) { +function enable(conf: SourceConfig, settings: Settings, savedState?: string | null) { if (IS_TESTING) { log("IS_TESTING true") log("logging configuration") @@ -234,7 +186,7 @@ function enable(conf: SourceConfig, settings: Settings, savedState: string | nul log(savedState) } - if (savedState === null) { + if (!savedState) { init_local_storage() } else { const state: State = JSON.parse(savedState) @@ -586,11 +538,11 @@ function getSearchCapabilities() { )] ) } -function search(query: string, type: SearchTypeCapabilities | null, order: Order | null, filters: FilterQuery<FilterGroupIDs>) { +function search(query: string, type: SearchTypeCapabilities | null, order: Order | null, filters: FilterQuery<FilterGroupIDs> | null) { + if (filters === null) { + return new ContentPager([], false) + } if (type === null) { - if (filters === null) { - return new ContentPager([], false) - } switch (filters["ADDITIONAL_CONTENT"]?.[0]) { case "VIDEOS": type = Type.Feed.Videos @@ -1120,7 +1072,7 @@ function getChannelContents( url: string, type: ChannelTypeCapabilities | null, order: Order | null, - filters: FilterQuery<FilterGroupIDs> + filters: FilterQuery<FilterGroupIDs> | null ) { log(`BiliBili log: feed type ${type}`) @@ -1895,7 +1847,7 @@ function getSearchChannelContentsCapabilities() { )] ) } -function searchChannelContents(space_url: string, query: string, type: ChannelSearchTypeCapabilities | null, order: Order | null, filters: FilterQuery<FilterGroupIDs>) { +function searchChannelContents(space_url: string, query: string, type: ChannelSearchTypeCapabilities | null, order: Order | null, filters: FilterQuery<FilterGroupIDs> | null) { if (type === null) { if (filters === null) { return new ContentPager([], false) @@ -2915,17 +2867,20 @@ function subtitles_request(id: { bvid: string } | { aid: number }, cid: number, return result } function format_sources(play_data: PlayDataDash) { - const video_sources: VideoUrlSource[] = play_data.dash.video.map(function (video) { + const video_sources: VideoUrlRangeSource[] = play_data.dash.video.map(function (video) { const name = play_data.accept_description[ play_data.accept_quality.findIndex(function (value) { return value === video.id }) ] - if (name === undefined) { + const [initStart, initEnd] = video.segment_base.initialization.split("-").map(function (val) { return parseInt(val) }) + const [indexStart, indexEnd] = video.segment_base.index_range.split("-").map(function (val) { return parseInt(val) }) + if (name === undefined || initStart === undefined || initEnd === undefined || indexStart === undefined || indexEnd === undefined) { throw new ScriptException("can't load content details") } const video_url_hostname = new URL(video.base_url).hostname - return new VideoUrlSource({ + + return new VideoUrlRangeSource({ width: video.width, height: video.height, container: video.mime_type, @@ -2934,6 +2889,11 @@ function format_sources(play_data: PlayDataDash) { bitrate: video.bandwidth, duration: play_data.dash.duration, url: video.base_url, + itagId: video.id, + initStart, + initEnd, + indexStart, + indexEnd, requestModifier: { headers: { "Referer": "https://www.bilibili.com", @@ -2944,9 +2904,14 @@ function format_sources(play_data: PlayDataDash) { }) }) - const audio_sources: AudioUrlSource[] = play_data.dash.audio.map(function (audio) { + const audio_sources: AudioUrlRangeSource[] = play_data.dash.audio.map(function (audio) { const audio_url_hostname = new URL(audio.base_url).hostname - return new AudioUrlSource({ + const [initStart, initEnd] = audio.segment_base.initialization.split("-").map(function (val) { return parseInt(val) }) + const [indexStart, indexEnd] = audio.segment_base.index_range.split("-").map(function (val) { return parseInt(val) }) + if (initStart === undefined || initEnd === undefined || indexStart === undefined || indexEnd === undefined) { + throw new ScriptException("can't load content details") + } + return new AudioUrlRangeSource({ container: audio.mime_type, codecs: audio.codecs, name: `${audio.codecs} at ${audio.bandwidth}`, @@ -2954,6 +2919,12 @@ function format_sources(play_data: PlayDataDash) { duration: play_data.dash.duration, url: audio.base_url, language: Language.UNKNOWN, + itagId: audio.id, + initStart, + initEnd, + indexStart, + indexEnd, + audioChannels: 2, requestModifier: { headers: { "Referer": "https://www.bilibili.com", @@ -4429,5 +4400,6 @@ export { nav_request, process_wbi_keys, init_local_storage, - log_passthrough + log_passthrough, + assert_never } diff --git a/src/types.ts b/src/types.ts index cba5b9324f34a4822f198fa442dfff762615dc1d..2257ae2de9bf0c92c815f69087ed8f9a64711343 100644 --- a/src/types.ts +++ b/src/types.ts @@ -59,7 +59,6 @@ export type BiliBiliSource = Required< | "getChannelPlaylists" > > - export type FilterGroupIDs = "ADDITIONAL_CONTENT" | "DURATION_FILTER" export type ChannelTypeCapabilities = Exclude<FeedType, "SHOWS" | "MOVIES" | "ALBUMS" | "PLAYLISTS"> @@ -851,12 +850,25 @@ export type PlayDataDash = { readonly height: number readonly codecid: number readonly id: number + readonly segment_base: { + /** of the form "0-974" */ + readonly initialization: string + /** of the form "975-1270" */ + readonly index_range: string + } }[] readonly audio: { + readonly id: number readonly base_url: string readonly mime_type: string readonly codecs: string readonly bandwidth: number + readonly segment_base: { + /** of the form "0-974" */ + readonly initialization: string + /** of the form "975-1270" */ + readonly index_range: string + } }[] } }