diff --git a/package.json b/package.json index 5c4b2089..e4fec818 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@babel/plugin-transform-template-literals": "^7.24.1", "@changesets/cli": "^2.27.1", "@rollup/plugin-babel": "^6.0.4", - "@types/node": "^20.12.7", + "@types/node": "^20.12.8", "@vitejs/plugin-react": "^4.2.1", "babel-plugin-syntax-trailing-function-commas": "^6.22.0", "concurrently": "^8.2.2", @@ -57,9 +57,9 @@ "terser": "^5.31.0", "tslib": "^2.6.2", "typescript": "^5.4.5", - "vite": "^5.2.10", + "vite": "^5.2.11", "vite-plugin-banner": "^0.7.1", - "vitest": "^1.5.3" + "vitest": "^1.6.0" }, "pnpm": { "patchedDependencies": { diff --git a/packages/core/package.json b/packages/core/package.json index 2c663254..c3dd6372 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@oplayer/core", - "version": "1.2.35", + "version": "1.2.36-beta.0", "description": "Oh! Another HTML5 video player.", "type": "module", "main": "./dist/index.es.js", diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 3a921327..ffc5ac18 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -20,11 +20,31 @@ export type Source = { | 'mpegts' /** other */ | string - type?: 'string' // video/mp4 video/webm + type?: VideoMimeType | HLSMimeType | DASHMimeType } export type Lang = 'auto' | 'zh' | 'zh-CN' | 'en' +export type VideoMimeType = + | 'video/mp4' + | 'video/webm' + | 'video/3gp' + | 'video/ogg' + | 'video/avi' + | 'video/mpeg' + | 'video/object' + +export type HLSMimeType = + | 'application/vnd.apple.mpegurl' + | 'audio/mpegurl' + | 'audio/x-mpegurl' + | 'application/x-mpegurl' + | 'video/x-mpegurl' + | 'video/mpegurl' + | 'application/mpegurl' + +export type DASHMimeType = 'application/dash+xml' + export interface PlayerOptions { source?: Source autoplay?: boolean //https://developer.chrome.com/blog/autoplay/ diff --git a/packages/docs/package.json b/packages/docs/package.json index 051ebf8f..25048209 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -28,6 +28,6 @@ "devDependencies": { "@types/react": "^18.3.1", "@types/react-dom": "^18.3.0", - "sass": "^1.75.0" + "sass": "^1.76.0" } } diff --git a/packages/docs/public/oplayer.html b/packages/docs/public/oplayer.html index 26c1bbf9..0b9b03e3 100644 --- a/packages/docs/public/oplayer.html +++ b/packages/docs/public/oplayer.html @@ -195,10 +195,10 @@
- + - + diff --git a/packages/hls/package.json b/packages/hls/package.json index 9f345922..e3b1e318 100644 --- a/packages/hls/package.json +++ b/packages/hls/package.json @@ -1,6 +1,6 @@ { "name": "@oplayer/hls", - "version": "1.2.25", + "version": "1.2.26-beta.0", "description": "Hls plugin for oplayer", "type": "module", "main": "./dist/index.es.js", diff --git a/packages/hls/src/index.ts b/packages/hls/src/index.ts index 8b42b804..65853443 100644 --- a/packages/hls/src/index.ts +++ b/packages/hls/src/index.ts @@ -1,6 +1,6 @@ import { loadSDK, type Player, type PlayerPlugin, type RequiredPartial, type Source } from '@oplayer/core' import type Hls from 'hls.js' -import type { ErrorData, HlsConfig, LevelSwitchedData } from 'hls.js' +import type { ErrorData, HlsConfig, LevelSwitchedData, MediaAttachedData } from 'hls.js' const PLUGIN_NAME = 'oplayer-plugin-hls' @@ -141,12 +141,24 @@ class HlsPlugin implements PlayerPlugin { active(instance, HlsPlugin.library) } - instance.loadSource(source.src) - instance.attachMedia($video) + instance.once(HlsPlugin.library.Events.MEDIA_ATTACHED, (_, { media }: MediaAttachedData) => { + const $source = document.createElement('source') as HTMLSourceElement + $source.src = source.src + $source.type = source.type || 'application/x-mpegurl' + media.appendChild($source) + + instance.once(HlsPlugin.library.Events.DESTROYING, () => { + $source.remove() + }) + }) + instance.on(HlsPlugin.library.Events.ERROR, function (_, data) { errorHandler(player, data, defaultErrorHandler) }) + instance.loadSource(source.src) + instance.attachMedia($video) + if (player.context.ui?.setting) { generateSetting(player, instance, this.options) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4686b636..163d9c91 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,11 +47,11 @@ importers: specifier: ^6.0.4 version: 6.0.4(@babel/core@7.24.5)(@types/babel__core@7.20.5)(rollup@4.17.2) '@types/node': - specifier: ^20.12.7 - version: 20.12.7 + specifier: ^20.12.8 + version: 20.12.8 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0)) + version: 4.2.1(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0)) babel-plugin-syntax-trailing-function-commas: specifier: ^6.22.0 version: 6.22.0 @@ -86,14 +86,14 @@ importers: specifier: ^5.4.5 version: 5.4.5 vite: - specifier: ^5.2.10 - version: 5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0) + specifier: ^5.2.11 + version: 5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0) vite-plugin-banner: specifier: ^0.7.1 version: 0.7.1 vitest: - specifier: ^1.5.3 - version: 1.5.3(@types/node@20.12.7)(jsdom@24.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(sass@1.75.0)(terser@5.31.0) + specifier: ^1.6.0 + version: 1.6.0(@types/node@20.12.8)(jsdom@24.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(sass@1.76.0)(terser@5.31.0) packages/core: {} @@ -150,13 +150,13 @@ importers: version: 1.1.2(@mdx-js/mdx@2.3.0)(@mdx-js/react@2.3.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next: specifier: ^14.2.3 - version: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0) + version: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0) nextra: specifier: ^2.13.4 - version: 2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) nextra-theme-docs: specifier: ^2.13.4 - version: 2.13.4(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(nextra@2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.13.4(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(nextra@2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -171,8 +171,8 @@ importers: specifier: ^18.3.0 version: 18.3.0 sass: - specifier: ^1.75.0 - version: 1.75.0 + specifier: ^1.76.0 + version: 1.76.0 packages/hls: devDependencies: @@ -214,7 +214,7 @@ importers: version: 7.1.0 vite-plugin-css-injected-by-js: specifier: ^3.5.1 - version: 3.5.1(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0)) + version: 3.5.1(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0)) packages/react: devDependencies: @@ -1093,8 +1093,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.12.7': - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + '@types/node@20.12.8': + resolution: {integrity: sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1142,20 +1142,20 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@vitest/expect@1.5.3': - resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==} + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - '@vitest/runner@1.5.3': - resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==} + '@vitest/runner@1.6.0': + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - '@vitest/snapshot@1.5.3': - resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==} + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - '@vitest/spy@1.5.3': - resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==} + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - '@vitest/utils@1.5.3': - resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==} + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} '@webtorrent/http-node@1.3.0': resolution: {integrity: sha512-GWZQKroPES4z91Ijx6zsOsb7+USOxjy66s8AoTWg0HiBBdfnbtf9aeh3Uav0MgYn4BL8Q7tVSUpd0gGpngKGEQ==} @@ -1424,8 +1424,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001614: - resolution: {integrity: sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==} + caniuse-lite@1.0.30001615: + resolution: {integrity: sha512-1IpazM5G3r38meiae0bHRnPhz+CBQ3ZLqbQMtrg+AsTPKAXgW38JNsXkyZ+v8waCsDmPq87lmfun5Q2AGysNEQ==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1907,8 +1907,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.4.751: - resolution: {integrity: sha512-2DEPi++qa89SMGRhufWTiLmzqyuGmNF3SK4+PQetW1JKiZdEpF4XQonJXJCzyuYSA6mauiMhbyVhqYAP45Hvfw==} + electron-to-chromium@1.4.756: + resolution: {integrity: sha512-RJKZ9+vEBMeiPAvKNWyZjuYyUqMndcP1f335oHqn3BEQbs2NFtVrnK5+6Xg5wSM9TknNNpWghGDUCKGYF+xWXw==} elkjs@0.9.3: resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==} @@ -3089,8 +3089,8 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + minipass@7.1.0: + resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==} engines: {node: '>=16 || 14 >=14.17'} mixme@0.5.10: @@ -3100,8 +3100,8 @@ packages: mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + mlly@1.7.0: + resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} mp4-box-encoding@1.4.1: resolution: {integrity: sha512-2/PRtGGiqPc/VEhbm7xAQ+gbb7yzHjjMAv6MpAifr5pCpbh3fQUdj93uNgwPiTppAGu8HFKe3PeU+OdRyAxStA==} @@ -3189,8 +3189,8 @@ packages: react: '>=16.13.1' react-dom: '>=16.13.1' - node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + node-gyp-build@4.8.1: + resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} hasBin: true node-machine-id@1.1.12: @@ -3670,8 +3670,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.75.0: - resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==} + sass@1.76.0: + resolution: {integrity: sha512-nc3LeqvF2FNW5xGF1zxZifdW3ffIz5aBb7I7tSvOoNu7z1RQ6pFt9MBuiPtjgaI62YWrM/txjWlOCFiGtf2xpw==} engines: {node: '>=14.0.0'} hasBin: true @@ -4229,8 +4229,8 @@ packages: unordered-set@2.0.1: resolution: {integrity: sha512-eUmNTPzdx+q/WvOHW0bgGYLWvWHNT3PTKEQLg0MAQhc0AHASHVHoP/9YytYd4RBVariqno/mEUhVZN98CmD7bg==} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.0.15: + resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -4292,8 +4292,8 @@ packages: videostream@3.2.2: resolution: {integrity: sha512-4tz23yGGeATmbzj/ZnUm6wgQ4E1lzmMXu2mUA/c0G6adtWKxm1Di5YejdZdRsK6SdkLjKjhplFFYT7r+UUDKvA==} - vite-node@1.5.3: - resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==} + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -4305,8 +4305,8 @@ packages: peerDependencies: vite: '>2.0.0-0' - vite@5.2.10: - resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + vite@5.2.11: + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4333,15 +4333,15 @@ packages: terser: optional: true - vitest@1.5.3: - resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==} + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.5.3 - '@vitest/ui': 1.5.3 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -4522,8 +4522,8 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} - zod@3.23.5: - resolution: {integrity: sha512-fkwiq0VIQTksNNA131rDOsVJcns0pfVUjHzLrNBiF/O/Xxb5lQyEXkhZWcJ7npWsYlvs+h0jFWXXy4X46Em1JA==} + zod@3.23.6: + resolution: {integrity: sha512-RTHJlZhsRbuA8Hmp/iNL7jnfc4nZishjsanDAfEY1QpDQZCahUp3xDzl+zfweE9BklxMUcgBgS1b7Lvie/ZVwA==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -5301,7 +5301,7 @@ snapshots: '@types/bittorrent-protocol@3.1.6': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@types/chrome@0.0.267': dependencies: @@ -5352,7 +5352,7 @@ snapshots: '@types/magnet-uri@5.1.5': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@types/mdast@3.0.15': dependencies: @@ -5370,7 +5370,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@20.12.7': + '@types/node@20.12.8': dependencies: undici-types: 5.26.5 @@ -5378,12 +5378,12 @@ snapshots: '@types/parse-torrent-file@4.0.6': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@types/parse-torrent@5.8.7': dependencies: '@types/magnet-uri': 5.1.5 - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@types/parse-torrent-file': 4.0.6 '@types/prop-types@15.7.12': {} @@ -5401,7 +5401,7 @@ snapshots: '@types/simple-peer@9.11.8': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@types/unist@2.0.10': {} @@ -5410,7 +5410,7 @@ snapshots: '@types/webtorrent@0.109.8': dependencies: '@types/bittorrent-protocol': 3.1.6 - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@types/parse-torrent': 5.8.7 '@types/simple-peer': 9.11.8 @@ -5422,40 +5422,40 @@ snapshots: global: 4.4.0 url-toolkit: 2.2.5 - '@vitejs/plugin-react@4.2.1(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0))': + '@vitejs/plugin-react@4.2.1(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0))': dependencies: '@babel/core': 7.24.5 '@babel/plugin-transform-react-jsx-self': 7.24.5(@babel/core@7.24.5) '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.5) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0) + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0) transitivePeerDependencies: - supports-color - '@vitest/expect@1.5.3': + '@vitest/expect@1.6.0': dependencies: - '@vitest/spy': 1.5.3 - '@vitest/utils': 1.5.3 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 chai: 4.4.1 - '@vitest/runner@1.5.3': + '@vitest/runner@1.6.0': dependencies: - '@vitest/utils': 1.5.3 + '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 - '@vitest/snapshot@1.5.3': + '@vitest/snapshot@1.6.0': dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 - '@vitest/spy@1.5.3': + '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.1 - '@vitest/utils@1.5.3': + '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -5716,10 +5716,10 @@ snapshots: browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001614 - electron-to-chromium: 1.4.751 + caniuse-lite: 1.0.30001615 + electron-to-chromium: 1.4.756 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) + update-browserslist-db: 1.0.15(browserslist@4.23.0) buffer-alloc-unsafe@1.1.0: {} @@ -5744,7 +5744,7 @@ snapshots: bufferutil@4.0.8: dependencies: - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.1 optional: true busboy@1.6.0: @@ -5774,7 +5774,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001614: {} + caniuse-lite@1.0.30001615: {} ccount@2.0.1: {} @@ -6300,7 +6300,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.4.751: {} + electron-to-chromium@1.4.756: {} elkjs@0.9.3: {} @@ -6680,7 +6680,7 @@ snapshots: foreground-child: 3.1.1 jackspeak: 2.3.6 minimatch: 9.0.4 - minipass: 7.0.4 + minipass: 7.1.0 path-scurry: 1.10.2 global@4.4.0: @@ -7259,7 +7259,7 @@ snapshots: local-pkg@0.5.0: dependencies: - mlly: 1.6.1 + mlly: 1.7.0 pkg-types: 1.1.0 localforage@1.10.0: @@ -7921,13 +7921,13 @@ snapshots: minimist@1.2.8: {} - minipass@7.0.4: {} + minipass@7.1.0: {} mixme@0.5.10: {} mkdirp-classic@0.5.3: {} - mlly@1.6.1: + mlly@1.7.0: dependencies: acorn: 8.11.3 pathe: 1.1.2 @@ -7974,24 +7974,24 @@ snapshots: transitivePeerDependencies: - supports-color - next-seo@6.5.0(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next-seo@6.5.0(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0) + next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - next-themes@0.2.1(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next-themes@0.2.1(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0) + next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0): + next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0): dependencies: '@next/env': 14.2.3 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001614 + caniuse-lite: 1.0.30001615 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -8007,12 +8007,12 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.3 '@next/swc-win32-ia32-msvc': 14.2.3 '@next/swc-win32-x64-msvc': 14.2.3 - sass: 1.75.0 + sass: 1.76.0 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - nextra-theme-docs@2.13.4(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(nextra@2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + nextra-theme-docs@2.13.4(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(nextra@2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@popperjs/core': 2.11.8 @@ -8023,16 +8023,16 @@ snapshots: git-url-parse: 13.1.1 intersection-observer: 0.12.2 match-sorter: 6.3.4 - next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0) - next-seo: 6.5.0(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next-themes: 0.2.1(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - nextra: 2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0) + next-seo: 6.5.0(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-themes: 0.2.1(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + nextra: 2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) scroll-into-view-if-needed: 3.1.0 - zod: 3.23.5 + zod: 3.23.6 - nextra@2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + nextra@2.13.4(patch_hash=lzd3lp6asxwn5o55s2tjjsvp3q)(next@14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mdx-js/mdx': 2.3.0 @@ -8046,7 +8046,7 @@ snapshots: gray-matter: 4.0.3 katex: 0.16.10 lodash.get: 4.4.2 - next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.75.0) + next: 14.2.3(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.76.0) next-mdx-remote: 4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) p-limit: 3.1.0 react: 18.3.1 @@ -8062,11 +8062,11 @@ snapshots: title: 3.5.3 unist-util-remove: 4.0.0 unist-util-visit: 5.0.0 - zod: 3.23.5 + zod: 3.23.6 transitivePeerDependencies: - supports-color - node-gyp-build@4.8.0: + node-gyp-build@4.8.1: optional: true node-machine-id@1.1.12: {} @@ -8285,7 +8285,7 @@ snapshots: path-scurry@1.10.2: dependencies: lru-cache: 10.2.2 - minipass: 7.0.4 + minipass: 7.1.0 path-type@4.0.0: {} @@ -8316,7 +8316,7 @@ snapshots: pkg-types@1.1.0: dependencies: confbox: 0.1.7 - mlly: 1.6.1 + mlly: 1.7.0 pathe: 1.1.2 possible-typed-array-names@1.0.0: {} @@ -8643,7 +8643,7 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.75.0: + sass@1.76.0: dependencies: chokidar: 3.6.0 immutable: 4.3.5 @@ -9263,7 +9263,7 @@ snapshots: unordered-set@2.0.1: optional: true - update-browserslist-db@1.0.13(browserslist@4.23.0): + update-browserslist-db@1.0.15(browserslist@4.23.0): dependencies: browserslist: 4.23.0 escalade: 3.1.2 @@ -9293,7 +9293,7 @@ snapshots: utf-8-validate@5.0.10: dependencies: - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.1 optional: true util-deprecate@1.0.2: {} @@ -9301,7 +9301,7 @@ snapshots: utp-native@2.5.3: dependencies: napi-macros: 2.2.2 - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.1 readable-stream: 3.6.2 timeout-refresh: 1.0.3 unordered-set: 2.0.1 @@ -9364,13 +9364,13 @@ snapshots: pump: 3.0.0 range-slice-stream: 2.0.0 - vite-node@1.5.3(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0): + vite-node@1.6.0(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0) + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0) transitivePeerDependencies: - '@types/node' - less @@ -9383,28 +9383,28 @@ snapshots: vite-plugin-banner@0.7.1: {} - vite-plugin-css-injected-by-js@3.5.1(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0)): + vite-plugin-css-injected-by-js@3.5.1(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0)): dependencies: - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0) + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0) - vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0): + vite@5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 fsevents: 2.3.3 - sass: 1.75.0 + sass: 1.76.0 terser: 5.31.0 - vitest@1.5.3(@types/node@20.12.7)(jsdom@24.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(sass@1.75.0)(terser@5.31.0): + vitest@1.6.0(@types/node@20.12.8)(jsdom@24.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(sass@1.76.0)(terser@5.31.0): dependencies: - '@vitest/expect': 1.5.3 - '@vitest/runner': 1.5.3 - '@vitest/snapshot': 1.5.3 - '@vitest/spy': 1.5.3 - '@vitest/utils': 1.5.3 + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4 @@ -9417,11 +9417,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0) - vite-node: 1.5.3(@types/node@20.12.7)(sass@1.75.0)(terser@5.31.0) + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0) + vite-node: 1.6.0(@types/node@20.12.8)(sass@1.76.0)(terser@5.31.0) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 jsdom: 24.0.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - less @@ -9637,6 +9637,6 @@ snapshots: yocto-queue@1.0.0: {} - zod@3.23.5: {} + zod@3.23.6: {} zwitch@2.0.4: {}