From 245a3e7f98d32101a9d09e27494905a14188a8bb Mon Sep 17 00:00:00 2001 From: arabcoders Date: Thu, 3 Apr 2025 19:37:44 +0300 Subject: [PATCH] added new env variable to auto upgrade yt-dlp on container startup --- .vscode/settings.json | 1 + Dockerfile | 6 +- Pipfile.lock | 350 +++++++++++++------------- README.md | 42 +--- app/library/PackageInstaller.py | 60 ++--- app/library/Scheduler.py | 2 +- app/library/config.py | 19 +- app/main.py | 7 - app/upgrader.py | 85 +++++++ ui/package.json | 2 +- ui/yarn.lock | 428 ++++++++++++++++---------------- 11 files changed, 526 insertions(+), 476 deletions(-) create mode 100644 app/upgrader.py diff --git a/.vscode/settings.json b/.vscode/settings.json index e5cdd5ae..6fa6b457 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -50,6 +50,7 @@ "printtraffic", "quicktime", "tmpfilename", + "upgrader", "urandom", "vcodec", "vconvert", diff --git a/Dockerfile b/Dockerfile index 2c1d4dc8..874f7b42 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,6 +33,9 @@ ENV YTP_DOWNLOAD_PATH=/downloads ENV YTP_PORT=8081 ENV XDG_CONFIG_HOME=/config ENV XDG_CACHE_HOME=/tmp +ENV PYDEVD_DISABLE_FILE_VALIDATION=1 +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONFAULTHANDLER=1 RUN mkdir /config /downloads && ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone && \ apk add --update --no-cache bash mkvtoolnix patch aria2 coreutils curl shadow sqlite tzdata libmagic ffmpeg rtmpdump fribidi && \ @@ -69,6 +72,5 @@ HEALTHCHECK --interval=10s --timeout=20s --start-period=10s --retries=3 CMD [ "/ ENTRYPOINT ["/entrypoint.sh"] -ENV PYDEVD_DISABLE_FILE_VALIDATION=1 -CMD ["/opt/python/bin/python", "/app/app/main.py", "--ytptube-mp"] +CMD ["/opt/python/bin/python", "/app/app/upgrader.py", "--run", "--ytptube-mp"] diff --git a/Pipfile.lock b/Pipfile.lock index 692862c6..285f977b 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -35,91 +35,91 @@ }, "aiohttp": { "hashes": [ - "sha256:03ce9d2f01aef26cd6aaba2f330273c2364237db2f499b93c3e9f2e249f83cd2", - "sha256:05eea49d598c4ece6f285e00464de206f838b48ff21938d5aa9c394e115945b9", - "sha256:078b1ce274f967951b42a65d5b7ec115b7886343a5271f2eed330458ea87bb48", - "sha256:0987dcf32e4c47f22634d32e4b0ffbc368bbcf2b33b408cd1a3d2dc0a6a5cd34", - "sha256:0c7eba0f90e27ec4af64db051f35387fa17128e6eeb58ee0f2318f2627168cc2", - "sha256:0e97c1e55f6931f07ecaf53aef8352def8386adfd0cd3caa6429cc40e886d6a9", - "sha256:0ec98c22030ea2a430cb11afddda7d4737b7e5c236c704f0d7d15504978598f7", - "sha256:18733fa6bbe44698ff96138c1f1d682bbdf0846250a42c25c108eed328fef0d4", - "sha256:1bee0f9e2d4088b57243d63afcb06256bd2d9ff683080f51e74fa790c8cfedfd", - "sha256:204f6695b47a7d130ddf6680158920825d0d32202a870e0bc56a2ec637935b1a", - "sha256:20dda85988a4f506bf5a457b416b238e32ab944a2deb878ddf0af92df9254a9b", - "sha256:2241d862dc6a3c0c2662a6934e79078d3a1e51a76c0dca5d65b30f3debee6c9b", - "sha256:23397670f3739b6f3c4019da8226190f6cce5ab2008b664ed96a6d1f0fe7f069", - "sha256:23857adc919b64bba8a4db0eccb24e53fcaf85633e690ef1581c5562ed58cae7", - "sha256:269d145c593a65f78fb9a64dece90341561ddb2e91a96d42681132b2f706c42a", - "sha256:291f324f49ecede693dfb4820a412d1388cb10a2214ab60028252b505e105d6f", - "sha256:29cce2a7e009494e675018c0b1819a133befbab8629c797276c5d793bbdf1138", - "sha256:357355c9d51c8b12bbc7de43b27ce4b51f14cce050e00b5a87d0d5527d779395", - "sha256:36a490f1ebe0b982366314c77f02258f87bd5d9bd362839dc6a24188447f37eb", - "sha256:379882ab6a40e6e0879ad8e84dca74ddbadff94af4f314b59b7da89c8463a669", - "sha256:38368a32530dcdeccfa47544cf66724118d9cc8a889c057e116723ab62994380", - "sha256:3cfd9f4aeaec4a75a0b4986a9977ac0a09b3d87ae83415e4b461e86715c80897", - "sha256:41f82df6f0f895f0f843bc86762bea45b4d0fe876de49239ffc89d2365426399", - "sha256:430f9707f0c1239a92bff7769b0db185ef400278dc63c89f88ed1bd5153aab7a", - "sha256:433e7388b3063bba462b3362641988270b087a9ccae22390364f86b37a480c17", - "sha256:43625253e3dc018d34867b70909149f15f29eac0382802afe027f2fbf17bcb9c", - "sha256:437eee9e057a7907b11e4af2b18df56b6c795b28e0a3ac250691936cf6bf40eb", - "sha256:45d8c22c91bdb7417bd4f5119242dbd2e2140c0e9de47342c765f127f897eb57", - "sha256:48d790d05c76b6cb93a1259b44d3f0019b61d507f8ebf0d49da3ef5ac858b05d", - "sha256:4b03093d4140d926965d23497a059ec59c8c07e602d2489ce5fb990f3a897db4", - "sha256:4b85486e8914d4e778343f5322834aada678eaf4c5315e50d41d9b74817ff97b", - "sha256:558de86eef9a886e43c6ae5b75cecdce81203da5832d19d11da8de417967d478", - "sha256:576b56a34d26ea8a8f0e1a30b8a069ba4ab121fb8eb796d1b89fedda7c74c553", - "sha256:5a61df20fa77792e83307e266f76790f7cb67980dd476948948de212ee7ec64c", - "sha256:5b5edd482ff0a8585b3f4e8b3681819447324166a43a5588800a5bca340dbf27", - "sha256:5bd37d615cd26d09321bd0168305f8508778712cf38aeffeed550274fb48a2ee", - "sha256:63f8d6106566f98fcfde7a643c9da52d90679b8592dea76c4adfc3cd5d06d22c", - "sha256:65eb40e74e3126cba185da7a78815cf3a30140932193831b3bfd73c79965c723", - "sha256:6fd82d0b3f73c59c80dade0ca8e0342de1ee261e147140ade65a465be670e83c", - "sha256:71ed71d9431e770550aab27a77ef9d30d33ce6f558ab7818be7205ae6aca635d", - "sha256:73a7f6283634dd30f93b9a67c414c00517869478b50361c503535e075fa07eaf", - "sha256:74afb637cd06760afe0aa55a3ce82178ef4c950be65935add8f3809f701f36ca", - "sha256:79a08d675167c50f41d106d67bbcbc9e86e1b43d305c4b9f982d5c656a94a9ba", - "sha256:7ac49c32901489343b4dab064ab520f6b879a03fb4f9667c84620b66f07bed69", - "sha256:7cf4b2b5a0f7a738ecd759eaeaef800fc7c57683b7be9d8a43fcb86ca62701b4", - "sha256:7e20bd6aa51a5209c9131395e20ce126e8e317c0cf78a8180f026b4d73f018f6", - "sha256:825ec92391e3e4ddda74de79ed0f8b443e9b412a0c9c82618ca2163abd875df5", - "sha256:82ddf7f642b9c0b08063f3cf4e2818b22901bce8ebad05c232d9e295e77436a0", - "sha256:84370ff70c1677ee0c4db40fe2baee6ffc72e9d32def3ff18739c1390c62329f", - "sha256:85d73479b79172e7d667b466c170ca6097a334c09ecd83c95c210546031251b5", - "sha256:8b4d8d78fbd5290204dcf43957a2184acd5cee358f203f24a3a97f7d7984eeb7", - "sha256:8c6e39f0bb2418f839841f92b3cd64077ff5166d724c984ab450ca08d5e51d92", - "sha256:94c552a4864ed292dadf1d341213374284a3af72e49bea02e70ce6f07cb37004", - "sha256:9b97fae7f75a0b666ce4281627856d1b1a85477f26c2e8b266292e770c17df36", - "sha256:a0361cafb50b185356a5f346c169aea1d14783df99e6da714d626b104586e0b5", - "sha256:a3739daa52c0cff42f1c40f63b2fe818fcf41019d84c80a7add3224207a7060f", - "sha256:a3d706afcc808f6add4208dfa13f911fd93c2a3dab6be484fee4fd0602a0867e", - "sha256:a449c48f5b02c0c14f5310881558ca861bff8e00b1f79be4cf6a53f638464c30", - "sha256:a50b86eb9cf74fa5b6f1386e08e1520dcbe83d7dfd4c8bf6f2ca72b03d42e79f", - "sha256:a6d6d86443580f846ec9cf60f899b7cace34411f2ff5c95db5970047195e5bfa", - "sha256:ae3a5d9f2fbe736fec7d24be25c57aa78c2d78d96540439ea68a8abbed9906fc", - "sha256:b9b9a1e592ac8fcc4584baea240e41f77415e0de98932fdf19565aa3b6a02d0b", - "sha256:be11989cbc0728f81c0d022cef140ef8adb20d3012ad8f0ac61853bef571eb52", - "sha256:c28cbae1ce76dc48d0fcccb045ac21d00dcc1b306bb745910cf35585ce89404e", - "sha256:c2de66177e087999568638c02639cf0248011b5c7fca69b006947153c534fcab", - "sha256:c37aa3eb8eb92f3793f0c1e73f212a76cbc8d363e9990df54b5b7099f75ce740", - "sha256:c930064b79cc0eb63678e376b819d546b0e2360264cd7544c32119496f646f35", - "sha256:c982b2cbd7b8f4b31e9faf2de09e22b060a6cd0a693f20892dda41a8fb0f46ef", - "sha256:d8370d31e6d8ecccd97cd791c466d0acb56527df51b0c105d7ea54c7fcc0f75b", - "sha256:d99981304065f4ea407dd7495f74f8b8c10f0e26733f8a47dc174ece73744d14", - "sha256:d9c8417a24063f35b526f8bf14f6f4bdea6f3f49850457337b6ea928901adbbc", - "sha256:e13767424425bb607931a0b9e703b95d2693650011ef8f0166b4cd80066b66b9", - "sha256:e792131352418dde7b0c598e217e89ecf6a26889f46f35f910e5544ffdebf3ae", - "sha256:eba325409a0f990f9b43ed18916cbf5b9779bc4c979b8887c444e7be9c38ccca", - "sha256:ec3dd04138bd30e6a3403dbd3ab5a5ccfb501597c5a95196cd816936ed55b777", - "sha256:edcddb97574402ff7481bc6f70819ba863e77b0be58a840ed5f59d52d2f20a71", - "sha256:f00e7540a60460fbeaffff4a7dcf72fe8b710f8280a542a4d798273787c64e72", - "sha256:f1b6c639750bf2a228957e25fcab7a7ff11987c543d70bf73223369f0d7bdb27", - "sha256:f1e0369f0dc8c895e718ce37147f56d46142d37596be183ab7a34192c5e6e4c5", - "sha256:f30e6980ec5d6ad815a233e19e39fe27ea94b1081c31c8aa1df1b629da3737b8", - "sha256:fc270fe480e7e425c45054543f58510fe649f70b77f514171909bbfe585105c0" + "sha256:004511d3413737700835e949433536a2fe95a7d0297edd911a1e9705c5b5ea43", + "sha256:0902e887b0e1d50424112f200eb9ae3dfed6c0d0a19fc60f633ae5a57c809656", + "sha256:09b00dd520d88eac9d1768439a59ab3d145065c91a8fab97f900d1b5f802895e", + "sha256:0a2f451849e6b39e5c226803dcacfa9c7133e9825dcefd2f4e837a2ec5a3bb98", + "sha256:0a950c2eb8ff17361abd8c85987fd6076d9f47d040ebffce67dce4993285e973", + "sha256:0ad1fb47da60ae1ddfb316f0ff16d1f3b8e844d1a1e154641928ea0583d486ed", + "sha256:13ceac2c5cdcc3f64b9015710221ddf81c900c5febc505dbd8f810e770011540", + "sha256:14461157d8426bcb40bd94deb0450a6fa16f05129f7da546090cebf8f3123b0f", + "sha256:16f8a2c9538c14a557b4d309ed4d0a7c60f0253e8ed7b6c9a2859a7582f8b1b8", + "sha256:17ae4664031aadfbcb34fd40ffd90976671fa0c0286e6c4113989f78bebab37a", + "sha256:1ce63ae04719513dd2651202352a2beb9f67f55cb8490c40f056cea3c5c355ce", + "sha256:23a15727fbfccab973343b6d1b7181bfb0b4aa7ae280f36fd2f90f5476805682", + "sha256:2540ddc83cc724b13d1838026f6a5ad178510953302a49e6d647f6e1de82bc34", + "sha256:37dcee4906454ae377be5937ab2a66a9a88377b11dd7c072df7a7c142b63c37c", + "sha256:38bea84ee4fe24ebcc8edeb7b54bf20f06fd53ce4d2cc8b74344c5b9620597fd", + "sha256:3ab3367bb7f61ad18793fea2ef71f2d181c528c87948638366bf1de26e239183", + "sha256:3ad1d59fd7114e6a08c4814983bb498f391c699f3c78712770077518cae63ff7", + "sha256:3b4e6db8dc4879015b9955778cfb9881897339c8fab7b3676f8433f849425913", + "sha256:3e061b09f6fa42997cf627307f220315e313ece74907d35776ec4373ed718b86", + "sha256:42864e70a248f5f6a49fdaf417d9bc62d6e4d8ee9695b24c5916cb4bb666c802", + "sha256:493910ceb2764f792db4dc6e8e4b375dae1b08f72e18e8f10f18b34ca17d0979", + "sha256:4d0c970c0d602b1017e2067ff3b7dac41c98fef4f7472ec2ea26fd8a4e8c2149", + "sha256:54eb3aead72a5c19fad07219acd882c1643a1027fbcdefac9b502c267242f955", + "sha256:56a3443aca82abda0e07be2e1ecb76a050714faf2be84256dae291182ba59049", + "sha256:576f5ca28d1b3276026f7df3ec841ae460e0fc3aac2a47cbf72eabcfc0f102e1", + "sha256:58ede86453a6cf2d6ce40ef0ca15481677a66950e73b0a788917916f7e35a0bb", + "sha256:61c721764e41af907c9d16b6daa05a458f066015abd35923051be8705108ed17", + "sha256:634d96869be6c4dc232fc503e03e40c42d32cfaa51712aee181e922e61d74814", + "sha256:696ef00e8a1f0cec5e30640e64eca75d8e777933d1438f4facc9c0cdf288a810", + "sha256:69a2cbd61788d26f8f1e626e188044834f37f6ae3f937bd9f08b65fc9d7e514e", + "sha256:6a792ce34b999fbe04a7a71a90c74f10c57ae4c51f65461a411faa70e154154e", + "sha256:6ac13b71761e49d5f9e4d05d33683bbafef753e876e8e5a7ef26e937dd766713", + "sha256:6fdec0213244c39973674ca2a7f5435bf74369e7d4e104d6c7473c81c9bcc8c4", + "sha256:72b1b03fb4655c1960403c131740755ec19c5898c82abd3961c364c2afd59fe7", + "sha256:745f1ed5e2c687baefc3c5e7b4304e91bf3e2f32834d07baaee243e349624b24", + "sha256:776c8e959a01e5e8321f1dec77964cb6101020a69d5a94cd3d34db6d555e01f7", + "sha256:780df0d837276276226a1ff803f8d0fa5f8996c479aeef52eb040179f3156cbd", + "sha256:78e6e23b954644737e385befa0deb20233e2dfddf95dd11e9db752bdd2a294d3", + "sha256:7951decace76a9271a1ef181b04aa77d3cc309a02a51d73826039003210bdc86", + "sha256:7ba92a2d9ace559a0a14b03d87f47e021e4fa7681dc6970ebbc7b447c7d4b7cd", + "sha256:7f6428fee52d2bcf96a8aa7b62095b190ee341ab0e6b1bcf50c615d7966fd45b", + "sha256:87944bd16b7fe6160607f6a17808abd25f17f61ae1e26c47a491b970fb66d8cb", + "sha256:87a6e922b2b2401e0b0cf6b976b97f11ec7f136bfed445e16384fbf6fd5e8602", + "sha256:8cb0688a8d81c63d716e867d59a9ccc389e97ac7037ebef904c2b89334407180", + "sha256:8df6612df74409080575dca38a5237282865408016e65636a76a2eb9348c2567", + "sha256:911a6e91d08bb2c72938bc17f0a2d97864c531536b7832abee6429d5296e5b27", + "sha256:92b7ee222e2b903e0a4b329a9943d432b3767f2d5029dbe4ca59fb75223bbe2e", + "sha256:938f756c2b9374bbcc262a37eea521d8a0e6458162f2a9c26329cc87fdf06534", + "sha256:9756d9b9d4547e091f99d554fbba0d2a920aab98caa82a8fb3d3d9bee3c9ae85", + "sha256:98b88a2bf26965f2015a771381624dd4b0839034b70d406dc74fd8be4cc053e3", + "sha256:9b751a6306f330801665ae69270a8a3993654a85569b3469662efaad6cf5cc50", + "sha256:a2a450bcce4931b295fc0848f384834c3f9b00edfc2150baafb4488c27953de6", + "sha256:a3814760a1a700f3cfd2f977249f1032301d0a12c92aba74605cfa6ce9f78489", + "sha256:a5abcbba9f4b463a45c8ca8b7720891200658f6f46894f79517e6cd11f3405ca", + "sha256:a6db7458ab89c7d80bc1f4e930cc9df6edee2200127cfa6f6e080cf619eddfbd", + "sha256:ad497f38a0d6c329cb621774788583ee12321863cd4bd9feee1effd60f2ad133", + "sha256:ad9509ffb2396483ceacb1eee9134724443ee45b92141105a4645857244aecc8", + "sha256:bbcba75fe879ad6fd2e0d6a8d937f34a571f116a0e4db37df8079e738ea95c71", + "sha256:c10d85e81d0b9ef87970ecbdbfaeec14a361a7fa947118817fcea8e45335fa46", + "sha256:c15b2271c44da77ee9d822552201180779e5e942f3a71fb74e026bf6172ff287", + "sha256:ca37057625693d097543bd88076ceebeb248291df9d6ca8481349efc0b05dcd0", + "sha256:cc3a145479a76ad0ed646434d09216d33d08eef0d8c9a11f5ae5cdc37caa3540", + "sha256:ccf10f16ab498d20e28bc2b5c1306e9c1512f2840f7b6a67000a517a4b37d5ee", + "sha256:cd464ba806e27ee24a91362ba3621bfc39dbbb8b79f2e1340201615197370f7c", + "sha256:d007aa39a52d62373bd23428ba4a2546eed0e7643d7bf2e41ddcefd54519842c", + "sha256:d0666afbe984f6933fe72cd1f1c3560d8c55880a0bdd728ad774006eb4241ecd", + "sha256:d07502cc14ecd64f52b2a74ebbc106893d9a9717120057ea9ea1fd6568a747e7", + "sha256:d489d9778522fbd0f8d6a5c6e48e3514f11be81cb0a5954bdda06f7e1594b321", + "sha256:df7db76400bf46ec6a0a73192b14c8295bdb9812053f4fe53f4e789f3ea66bbb", + "sha256:e3538bc9fe1b902bef51372462e3d7c96fce2b566642512138a480b7adc9d508", + "sha256:e87fd812899aa78252866ae03a048e77bd11b80fb4878ce27c23cade239b42b2", + "sha256:ecdb8173e6c7aa09eee342ac62e193e6904923bd232e76b4157ac0bfa670609f", + "sha256:f244b8e541f414664889e2c87cac11a07b918cb4b540c36f7ada7bfa76571ea2", + "sha256:f4065145bf69de124accdd17ea5f4dc770da0a6a6e440c53f6e0a8c27b3e635c", + "sha256:f420bfe862fb357a6d76f2065447ef6f484bc489292ac91e29bc65d2d7a2c84d", + "sha256:f6ddd90d9fb4b501c97a4458f1c1720e42432c26cb76d28177c5b5ad4e332601", + "sha256:fa73e8c2656a3653ae6c307b3f4e878a21f87859a9afab228280ddccd7369d71", + "sha256:fadbb8f1d4140825069db3fedbbb843290fd5f5bc0a5dbd7eaf81d91bf1b003b", + "sha256:fb3d0cc5cdb926090748ea60172fa8a213cec728bd6c54eae18b96040fcd6227", + "sha256:fb46bb0f24813e6cede6cc07b1961d4b04f331f7112a23b5e21f567da4ee50aa", + "sha256:fd36c119c5d6551bce374fcb5c19269638f8d09862445f85a5a48596fd59f4bb" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==3.11.15" + "version": "==3.11.16" }, "aiosignal": { "hashes": [ @@ -625,101 +625,101 @@ }, "multidict": { "hashes": [ - "sha256:02a239ad4e35d3c033e701bc8b7beb05013fc6617b13948497cf50e9e9c12f7f", - "sha256:091f3dfe63e9f48ae6c7da8d638e8d8e050ff11e348f69bafc20e65d11f7aa48", - "sha256:0a1a5f50ccc57a317db68582411ce6aca076ee3bc386290b416a5783e807afa1", - "sha256:0ba7d12ff77cadb59519aba674cac3a0b16d0fc5abaa3ef79b5ff3806e52e991", - "sha256:0c4a6ec469c30f4162745d6485b778432c497032b8a2cb3a0332eea9d3b6aef6", - "sha256:150cc33d5d972c1bd7b0e5c446cccfa4dc6b8e185ef54dab3327db101149f797", - "sha256:162af9c2e0743465a47e2b32d9b0a7c260b7843629b5e6f0a8a92819b5a40d27", - "sha256:168a02178b7e980899f3475ff008436eaab035d50e39cb8f7de641bbe9bbc3a6", - "sha256:1aa6e1a605c602c119a22368f7d3b9dfb102a7cd69edae5a89e55da34fd64c2b", - "sha256:1b293804f4b53be6297bc2afdeaf15aff76c1b6be69f3a3da785143eebdfb656", - "sha256:1c8836280abc310ea6260dac93126645d21284885008c317c2ac4281a90f1398", - "sha256:2264957a0e0fb92d8d538a27738178c48628c65ef0ec6b068d64d2e5d11cc00d", - "sha256:257bd1540b7c32982b17e86f024985b9c591da8542a3fb350ed7dad42d725998", - "sha256:299070f503a9a99e4af38d07da784ced28377cc62b678084b9e2e48fa51c57d3", - "sha256:2a83896925e3a2ddec736c48255572e6f15a95339024c02b800dab28e63461a3", - "sha256:2cef02d3878804909283549bc10d4789a14c610fcd286f17cd94a195b21fe469", - "sha256:2cf3e0781febf9f093eff3eca2d6dd7954ef2969ff46f6cd95173a4db8397fd8", - "sha256:2e87a8635a7db577617b50bd2f2080744ed20e556750b97e4f9988e6d20d3941", - "sha256:31c68e103b253643cf9b4704f5d655997c116626b20ef3bb953992b7f447485d", - "sha256:34ef116022119d3053ecce8ba62109c8b54a650a537b183e79de1db4078894a8", - "sha256:38e60e400e07ba678a755cc89b09955a49acb0188d47aee2829ed4efc1ccb053", - "sha256:3ac6ea86ac161198653dba8f0af047d7b718318ba6d6bf4c719bc288ac21017b", - "sha256:3ad737617d38c55c0b72cd3ea01bf5cbab0d75123de5e52c39643ddc6465cb5f", - "sha256:3ae6ea8e610143348199c1db9fea5392f6b11a0e37ac8e8e7cae9c408625c5d0", - "sha256:3bcb8cdfeb08cef0138d696e52ec08fffaf009ef4b1c7c5a40340af672bd9b60", - "sha256:3d783be54d076843f58bf061fdaf1071789fb924fb35a0eb84dbc2c8b68499a2", - "sha256:3da30fb560b37cede31306b890c982213a23fa7335d368cdc16cf7034170860b", - "sha256:430cb9ee0cf2d5a2fa91e78f306544352009dbda9ebb4bd04c5785e67fc04953", - "sha256:43ad68da1385738a1e96a188029f092e88381352e697a0687784191c1d45845b", - "sha256:478d29a270785fc58632c9d1e0f59f595d3fb06c5e63ac117136dba2d0e5f4f9", - "sha256:4c3da8aa4b28f83382f0dee288d030eb0fa212df9632dc2fe4e4fc2a8e2577a4", - "sha256:560af476d03256a65bd4ff05c83e7869ec3c2b40579d4ed1ac74075ef19e02bf", - "sha256:56225de73d69f5ee6b783648eb1936e1bbe874a529cb1e15d64038904c54efb2", - "sha256:5737f40ffb1926b8bf38d32fdac48a27c441b757f1bf44cbaa100dafef049a01", - "sha256:5a1996d963016e6486b6a672f64f868e6b4e7e9e2caf710994df11b04790903e", - "sha256:5a922601cb94f427dd96eec3a7c776537ce7490f2beb69e88a81859e537343e4", - "sha256:5bd70d75b4bbfc0a26fdbfc72e260b70090637020b0d7d27eb26c7ae5edf16da", - "sha256:5e0db6ea39ac96ae2ccc582291633ee55ae93c9cc6dca1f7ab4dd9f0b7e08f8a", - "sha256:5eb2a8415a891564054447a327a7ef7ec90e69e0e63d85d1ffb03f82e102c740", - "sha256:6193564d51d02a4aa6fc60bb40f04b65840e70e124282a7337cd94a9ed1b0b81", - "sha256:65e763769cec2fa9c79b70555e3f2a7903747d127ab14ec9eaa5f00763bb4152", - "sha256:66c108d8e02da2febb0aa7d7002e14c4a0571460993c9edf8249393cdae7eeef", - "sha256:67caf9435b1f0115042cbc37e9d60475891b2d9b2a711ade0876580da2a5e0df", - "sha256:6989ea9326f9a9171edc920a459003b1deffc6cb48605b8f2610846c7fbd201a", - "sha256:69983ee3e649e41dc41ddea68f6c2ab64d7f19fcab4e21a72a1accf6482c5605", - "sha256:6b25953a1d6a97746becbd663b49e3b436a5001c995a62662d65835a2ba996a7", - "sha256:6b7e30e4246c2cd5e6c2c907486d235e4f3e8a39979744e9e0b8090629c62da4", - "sha256:6be1182387fb9a95fd8a8cbfab2f2b61d61ea0ab4699780d4300ea207c8f8d71", - "sha256:6befa3c621caf26f5affc6121bf863b8f049f862a7a10aabb0d19cce34c6e363", - "sha256:6fbe184451480c17f1f8dac160c9f3f6d243010fdb8416de4d3d7ee69ea65aa4", - "sha256:7074f10bf324e4d38208e1bcc2b6abd87901675b1a567507035ff1e7403378c0", - "sha256:71a8ce430f6c341725aefc0031626c484e0858fd95d1bf3625e0d27919d8edca", - "sha256:71d92e846541669ae1d11e00906c408c1dc9890196e13f11d4d62bd235ac9ddb", - "sha256:72574693fad34d075a54fa771984a1a8809a9eff880b731152078e81c7d8c80f", - "sha256:72a1159144e4ad7d152b2c3f75bed8c9b60ad06e9da322e1965981f8371c0dee", - "sha256:72d15a61b76fa4b814390c21defd772893d1152157e3297e6afb328ef32d1711", - "sha256:74e45386528db2d9346618276e8746507ec6ccb91512c5f02d2049ccafb0576e", - "sha256:7594756e9607e5ffbc16c7f3b1715c0f7224a82ac389f0087fa5faaa65fb96e2", - "sha256:767ed12b1662fac32d84eb43707e4f778b12554fc12ce3c8f7793a02111a9e32", - "sha256:77e0406dc247851a1e250fdcfd46d13cdecc2ac5b8d1d038dea216da2e7fa9b7", - "sha256:79658460926a1c48b2ac10196a673cc7d81857dc268ca593a66fd661ed1b77ea", - "sha256:7bf0d43f2c56b600c6895c25a420e4b46c6a5acf91d6c9a6300713496f70e63b", - "sha256:80935f26af0eec490c4e52381a28f39b08c2bc4ef4562448890027e4a4cfa3a4", - "sha256:82bd76a12588bd2bb27965aaf9fcff2258ffb03c9a290368288ed4571ed539ab", - "sha256:864684b36e0488715aac531785abe7514e872bfe83ecc768828e9ddaadeed320", - "sha256:883c07b404229e98d30b1ef64f07d4e3422d431ecd727c2ebba8549f70b2ba16", - "sha256:88548dec2f6f69e547252fe3113bf1b3b08c0879f5b44633927be07ed18c5cc0", - "sha256:8895999e0de5ddddddd146bb1bfc0316af808580637fea158873b84785f7a9e9", - "sha256:8ab4ea5f49166b990411c522c1f5f901014932ead15a463616ec93e10fff2c05", - "sha256:904895323a59dd50387cddd1337c3eac48ec0fe6cb4d2e4106dc1a3b80091727", - "sha256:90c3c60985e7da13e44aeaaf2e1c10fe1b7825788a18c82b0f9eaeb6c4e9d9c6", - "sha256:9584441b7a603a12aa382adf8c093ddc5a22328a108dabc6a4a112fa5b4facae", - "sha256:9ca652d9c6f68535537d75502b549ed0ca07fa6d3908f84f29f92148ec7310f2", - "sha256:9efe23b3d0671eeb8b1e70791612538dcdc1b39275563ca78f338aa0ce9619d2", - "sha256:a466c14574152b7caed5d76f1e46ae2963d33f5b0eb2dd915fa33870183b0f26", - "sha256:a48fd39ba69f399f39b911885469bdfedd1de4a095146211e39e8b5db0e3a937", - "sha256:a716344c6e92551bdf842b999c7d7b34a13e32facf3e6c5942690c9883d45e3a", - "sha256:b6df1b707adab4858dfaa74877f60f07d9d6be01a57015cf4e62aa8f00f3576b", - "sha256:b7d3053742a9a559dda8598a52e0c1bcbd18258cc199cba52137ce8c8e92c537", - "sha256:b95d96a0640decaa24cd9cf386fd4d8a96c973aafa42dd9c65609f9f0d66cc34", - "sha256:bc15e81587b652bbeba9d4d7d3707bcaaa1d7b4aab2024c14be477662003a211", - "sha256:be034aa2841c57ea43a55bc123d8f3f41cc2d3d102a22390c863791ba6bf23f1", - "sha256:c5223ab45639ce93c7233d518f6c3199422b49dbd0ebfb1d7917b5da2636712e", - "sha256:d9c2b1ca98e5454b78cd434f29fc33eb8f8a2f343efc5f975225d92070b9f7f6", - "sha256:db61c6ae9ee7268dc69a078ea22deaaf861350ad2e4c194c70798b8ec9789131", - "sha256:dc4e82c5db4e65703c842b0947699dd958a7262a8b854d1c19bbfe2d27be9333", - "sha256:e18db3b38ac30d8cc1ddbdfc7f6d3d814c1abb8936c57bd1c09c5da02873c8c4", - "sha256:e31697466812ff1cdabd7a9db7fb7f37d319e58e4c8a2ce1065012c1a5cfebde", - "sha256:eeca775446b00826ec8ca34eed8c902c6a1ae7dc42d78094b1f73ecd38d1dcf8", - "sha256:fa476e5f763f59270bda050695e22078b2461dc14bc62a0d27756c5906bca86c", - "sha256:fb3269a3641b868ab7856c3cd939782ee1c802fa120b470b597286d2f9e93aee", - "sha256:fd289ef26241bc2c0b7b047417a33786790bf2a01f6c92d9688eb2693c9116df" + "sha256:0085b0afb2446e57050140240a8595846ed64d1cbd26cef936bfab3192c673b8", + "sha256:042028348dc5a1f2be6c666437042a98a5d24cee50380f4c0902215e5ec41844", + "sha256:05fefbc3cddc4e36da209a5e49f1094bbece9a581faa7f3589201fd95df40e5d", + "sha256:063be88bd684782a0715641de853e1e58a2f25b76388538bd62d974777ce9bc2", + "sha256:07bfa8bc649783e703263f783f73e27fef8cd37baaad4389816cf6a133141331", + "sha256:08549895e6a799bd551cf276f6e59820aa084f0f90665c0f03dd3a50db5d3c48", + "sha256:095a2eabe8c43041d3e6c2cb8287a257b5f1801c2d6ebd1dd877424f1e89cf29", + "sha256:0b183a959fb88ad1be201de2c4bdf52fa8e46e6c185d76201286a97b6f5ee65c", + "sha256:0c383d28857f66f5aebe3e91d6cf498da73af75fbd51cedbe1adfb85e90c0460", + "sha256:0d57a01a2a9fa00234aace434d8c131f0ac6e0ac6ef131eda5962d7e79edfb5b", + "sha256:0dc25a3293c50744796e87048de5e68996104d86d940bb24bc3ec31df281b191", + "sha256:0e5a644e50ef9fb87878d4d57907f03a12410d2aa3b93b3acdf90a741df52c49", + "sha256:0f249badb360b0b4d694307ad40f811f83df4da8cef7b68e429e4eea939e49dd", + "sha256:0f74f2fc51555f4b037ef278efc29a870d327053aba5cb7d86ae572426c7cccc", + "sha256:125dd82b40f8c06d08d87b3510beaccb88afac94e9ed4a6f6c71362dc7dbb04b", + "sha256:13551d0e2d7201f0959725a6a769b6f7b9019a168ed96006479c9ac33fe4096b", + "sha256:14ed9ed1bfedd72a877807c71113deac292bf485159a29025dfdc524c326f3e1", + "sha256:163f4604e76639f728d127293d24c3e208b445b463168af3d031b92b0998bb90", + "sha256:19e2819b0b468174de25c0ceed766606a07cedeab132383f1e83b9a4e96ccb4f", + "sha256:1e2a2193d3aa5cbf5758f6d5680a52aa848e0cf611da324f71e5e48a9695cc86", + "sha256:1f3c099d3899b14e1ce52262eb82a5f5cb92157bb5106bf627b618c090a0eadc", + "sha256:214207dcc7a6221d9942f23797fe89144128a71c03632bf713d918db99bd36de", + "sha256:2325105e16d434749e1be8022f942876a936f9bece4ec41ae244e3d7fae42aaf", + "sha256:2529ddbdaa424b2c6c2eb668ea684dd6b75b839d0ad4b21aad60c168269478d7", + "sha256:256d431fe4583c5f1e0f2e9c4d9c22f3a04ae96009b8cfa096da3a8723db0a16", + "sha256:25bb96338512e2f46f615a2bb7c6012fe92a4a5ebd353e5020836a7e33120349", + "sha256:2e87f1926e91855ae61769ba3e3f7315120788c099677e0842e697b0bfb659f2", + "sha256:2fc6af8e39f7496047c7876314f4317736eac82bf85b54c7c76cf1a6f8e35d98", + "sha256:3157126b028c074951839233647bd0e30df77ef1fedd801b48bdcad242a60f4e", + "sha256:32c9b4878f48be3e75808ea7e499d6223b1eea6d54c487a66bc10a1871e3dc6a", + "sha256:32ed748ff9ac682eae7859790d3044b50e3076c7d80e17a44239683769ff485e", + "sha256:3501621d5e86f1a88521ea65d5cad0a0834c77b26f193747615b7c911e5422d2", + "sha256:437c33561edb6eb504b5a30203daf81d4a9b727e167e78b0854d9a4e18e8950b", + "sha256:48d39b1824b8d6ea7de878ef6226efbe0773f9c64333e1125e0efcfdd18a24c7", + "sha256:4ac3fcf9a2d369bd075b2c2965544036a27ccd277fc3c04f708338cc57533081", + "sha256:4ccfd74957ef53fa7380aaa1c961f523d582cd5e85a620880ffabd407f8202c0", + "sha256:52b05e21ff05729fbea9bc20b3a791c3c11da61649ff64cce8257c82a020466d", + "sha256:5389445f0173c197f4a3613713b5fb3f3879df1ded2a1a2e4bc4b5b9c5441b7e", + "sha256:5c5e7d2e300d5cb3b2693b6d60d3e8c8e7dd4ebe27cd17c9cb57020cac0acb80", + "sha256:5d26547423e5e71dcc562c4acdc134b900640a39abd9066d7326a7cc2324c530", + "sha256:5dd7106d064d05896ce28c97da3f46caa442fe5a43bc26dfb258e90853b39b44", + "sha256:5f8cb1329f42fadfb40d6211e5ff568d71ab49be36e759345f91c69d1033d633", + "sha256:61d5541f27533f803a941d3a3f8a3d10ed48c12cf918f557efcbf3cd04ef265c", + "sha256:639556758c36093b35e2e368ca485dada6afc2bd6a1b1207d85ea6dfc3deab27", + "sha256:641cf2e3447c9ecff2f7aa6e9eee9eaa286ea65d57b014543a4911ff2799d08a", + "sha256:6aed763b6a1b28c46c055692836879328f0b334a6d61572ee4113a5d0c859872", + "sha256:6e2a2d6749e1ff2c9c76a72c6530d5baa601205b14e441e6d98011000f47a7ac", + "sha256:7243c5a6523c5cfeca76e063efa5f6a656d1d74c8b1fc64b2cd1e84e507f7e2a", + "sha256:76b34c12b013d813e6cb325e6bd4f9c984db27758b16085926bbe7ceeaace626", + "sha256:781b5dd1db18c9e9eacc419027b0acb5073bdec9de1675c0be25ceb10e2ad133", + "sha256:7c611345bbe7cb44aabb877cb94b63e86f2d0db03e382667dbd037866d44b4f8", + "sha256:83b78c680d4b15d33042d330c2fa31813ca3974197bddb3836a5c635a5fd013f", + "sha256:84e87a7d75fa36839a3a432286d719975362d230c70ebfa0948549cc38bd5b46", + "sha256:89b3857652183b8206a891168af47bac10b970d275bba1f6ee46565a758c078d", + "sha256:8cd1a0644ccaf27e9d2f6d9c9474faabee21f0578fe85225cc5af9a61e1653df", + "sha256:8de4d42dffd5ced9117af2ce66ba8722402541a3aa98ffdf78dde92badb68932", + "sha256:94a7bb972178a8bfc4055db80c51efd24baefaced5e51c59b0d598a004e8305d", + "sha256:98aa8325c7f47183b45588af9c434533196e241be0a4e4ae2190b06d17675c02", + "sha256:9e658d1373c424457ddf6d55ec1db93c280b8579276bebd1f72f113072df8a5d", + "sha256:9f49585f4abadd2283034fc605961f40c638635bc60f5162276fec075f2e37a4", + "sha256:9f6cad071960ba1914fa231677d21b1b4a3acdcce463cee41ea30bc82e6040cf", + "sha256:a0cc398350ef31167e03f3ca7c19313d4e40a662adcb98a88755e4e861170bdd", + "sha256:a1133414b771619aa3c3000701c11b2e4624a7f492f12f256aedde97c28331a2", + "sha256:a33273a541f1e1a8219b2a4ed2de355848ecc0254264915b9290c8d2de1c74e1", + "sha256:a3c0ff89fe40a152e77b191b83282c9664357dce3004032d42e68c514ceff27e", + "sha256:a49994481b99cd7dedde07f2e7e93b1d86c01c0fca1c32aded18f10695ae17eb", + "sha256:abf5b17bc0cf626a8a497d89ac691308dbd825d2ac372aa990b1ca114e470151", + "sha256:ac380cacdd3b183338ba63a144a34e9044520a6fb30c58aa14077157a033c13e", + "sha256:ad81012b24b88aad4c70b2cbc2dad84018783221b7f923e926f4690ff8569da3", + "sha256:b2c00ad31fbc2cbac85d7d0fcf90853b2ca2e69d825a2d3f3edb842ef1544a2c", + "sha256:b4c153863dd6569f6511845922c53e39c8d61f6e81f228ad5443e690fca403de", + "sha256:b4f3d66dd0354b79761481fc15bdafaba0b9d9076f1f42cc9ce10d7fcbda205a", + "sha256:b99aac6bb2c37db336fa03a39b40ed4ef2818bf2dfb9441458165ebe88b793af", + "sha256:b9f6392d98c0bd70676ae41474e2eecf4c7150cb419237a41f8f96043fcb81d1", + "sha256:c537da54ce4ff7c15e78ab1292e5799d0d43a2108e006578a57f531866f64025", + "sha256:ca23db5fb195b5ef4fd1f77ce26cadefdf13dba71dab14dadd29b34d457d7c44", + "sha256:cc826b9a8176e686b67aa60fd6c6a7047b0461cae5591ea1dc73d28f72332a8a", + "sha256:cca83a629f77402cfadd58352e394d79a61c8015f1694b83ab72237ec3941f88", + "sha256:cf8d370b2fea27fb300825ec3984334f7dd54a581bde6456799ba3776915a656", + "sha256:d1175b0e0d6037fab207f05774a176d71210ebd40b1c51f480a04b65ec5c786d", + "sha256:d1996ee1330e245cd3aeda0887b4409e3930524c27642b046e4fae88ffa66c5e", + "sha256:d5a36953389f35f0a4e88dc796048829a2f467c9197265504593f0e420571547", + "sha256:da51d8928ad8b4244926fe862ba1795f0b6e68ed8c42cd2f822d435db9c2a8f4", + "sha256:e16e7297f29a544f49340012d6fc08cf14de0ab361c9eb7529f6a57a30cbfda1", + "sha256:e25b11a0417475f093d0f0809a149aff3943c2c56da50fdf2c3c88d57fe3dfbd", + "sha256:e4371591e621579cb6da8401e4ea405b33ff25a755874a3567c4075ca63d56e2", + "sha256:e653d36b1bf48fa78c7fcebb5fa679342e025121ace8c87ab05c1cefd33b34fc", + "sha256:e7d91a230c7f8af86c904a5a992b8c064b66330544693fd6759c3d6162382ecf", + "sha256:e851e6363d0dbe515d8de81fd544a2c956fdec6f8a049739562286727d4a00c3", + "sha256:ef7d48207926edbf8b16b336f779c557dd8f5a33035a85db9c4b0febb0706817", + "sha256:f7716f7e7138252d88607228ce40be22660d6608d20fd365d596e7ca0738e019", + "sha256:facaf11f21f3a4c51b62931feb13310e6fe3475f85e20d9c9fdce0d2ea561b87" ], "markers": "python_version >= '3.9'", - "version": "==6.3.0" + "version": "==6.2.0" }, "mutagen": { "hashes": [ diff --git a/README.md b/README.md index 7eb3c710..1ede081a 100644 --- a/README.md +++ b/README.md @@ -26,47 +26,6 @@ Web GUI for [yt-dlp](https://github.com/yt-dlp/yt-dlp) with playlist & channel s * Support for both advanced and basic mode for WebUI. * Bundled tools in container: curl-cffi, ffmpeg, ffprobe, aria2, rtmpdump, mkvtoolsnix, mp4box. -# Breaking changes - -Starting with versions tagged `*-20250330-*` I have deprecated the JSON yt-dlp config and all of it's related settings. - -To be frank, it was pain to manage and hard for users to understand how to map cli options to json options. So, I have -decided to just use the cli options directly. This means that you can now use the same options you would use in the command line -directly in the WebUI, presets, and tasks. - -## `ytdlp.json` vs `ytdlp.cli` - -I have also added a new `ytdlp.cli` file that will be used to store the global options for yt-dlp. This file is located in the `/config` directory -and will be used to store the global options for yt-dlp. This file is not required and presets can fill the gap for most of the -use cases. But, if you want to use the same options for all your downloads, you can use this file to store the global options. - -So, if you have `ytdlp.cli` file it will take priority over the `ytdlp.json` file if both exists. As mitigation, I have implemented -fallback to `ytdlp.json` file if `ytdlp.cli` file is not found. - -## Presets - -I have deprecated the `JSON yt-dlp config` and `JSON yt-dlp Post-Processors` fields, and added new `Command arguments for yt-dlp` -field to the presets. This field will be used to store the command line options for yt-dlp. I have also have added fallback, -if you have the `JSON yt-dlp config/Post-Processors` field set, the logic is, if `Command arguments for yt-dlp` is set -it will take priority over the `JSON yt-dlp config/Post-Processors` field. If not set, it will fallback to the `JSON yt-dlp config/Post-Processors` field. - -If you are adding new presets, the deprecated fields will not show up anymore, they will only show up if actually have content in them -and editing old preset. So, Please migrate your presets to the new format. - -## Tasks - -I have also removed the `JSON yt-dlp config` and replaced it with `Command arguments for yt-dlp` field. Sadly, there is -no fallback, and once you upgrade to any version after `*-20250330-*` your `tasks.json` file will be updated to remove the -`config` key. so, please make sure to backup your `tasks.json` file before upgrading. - -## closing statement - -I know it's a painful breaking change, but for the sake of maintainability and ease of use, I have decided to -to make it happen sooner than later, the `JSON yt-dlp config`, was hard to manage and some features weren't really working -as expected, for example `--match-filter` and `--date` arguments etc. - -So, Starting with `*-2025040*-*` tagged versions, the all the fallbacks and backwards compatibility will be removed. - # Run using docker command ```bash @@ -139,6 +98,7 @@ Certain configuration values can be set via environment variables, using the `-e | YTP_BASIC_MODE | Whether to run WebUI in basic mode | `false` | | YTP_PICTURES_BACKENDS | A comma separated list of pictures urls to use. | `empty string` | | YTP_BROWSER_ENABLED | Whether to enable the file browser | `false` | +| YTP_YTDLP_AUTO_UPDATE | Whether to enable the auto update for yt-dlp | `false` | # Browser extensions & bookmarklets diff --git a/app/library/PackageInstaller.py b/app/library/PackageInstaller.py index 3ceb01c9..570a0509 100644 --- a/app/library/PackageInstaller.py +++ b/app/library/PackageInstaller.py @@ -4,59 +4,61 @@ import os import subprocess import sys -from library.config import Config - LOG = logging.getLogger("package_installer") +class Packages: + def __init__(self, env: str | None, file: str | None, upgrade: bool = False): + from_env = env.split() if env else [] + from_file = [] + + if os.path.exists(file) and os.access(file, os.R_OK): + with open(file) as f: + from_file = [pkg.strip() for pkg in f if pkg.strip()] + + self.packages: list = list(set(from_env + from_file)) + self.upgrade = bool(upgrade) + + def has_packages(self) -> bool: + return len(self.packages) > 0 + + def allow_upgrade(self) -> bool: + return self.upgrade + + class PackageInstaller: """ This class is responsible for installing and upgrading pip packages. """ - def __init__(self, config: Config): - self.config: Config = config - - def from_env(self): - return self.config.pip_packages.split() if self.config.pip_packages else [] - - def from_file(self, file_path): - if not os.path.exists(file_path): - return [] - - if os.access(file_path, os.R_OK): - with open(file_path) as f: - return [pkg.strip() for pkg in f if pkg.strip()] - else: - LOG.error(f"Could not read pip packages from '{file_path}'.") - return [] - - def action(self, pkg: str): + def action(self, pkg: str, upgrade: bool = False): try: importlib.import_module(pkg) - if self.config.pip_ignore_updates: + if upgrade is False: LOG.info(f"'{pkg}' is already installed. Skipping upgrades. as requested.") return + LOG.info(f"'{pkg}' is already installed. Checking for upgrades...") subprocess.run([sys.executable, "-m", "pip", "install", "--upgrade", pkg], check=True) # noqa: S603 except ImportError: LOG.info(f"'{pkg}' is not installed. Installing...") subprocess.run([sys.executable, "-m", "pip", "install", pkg], check=True) # noqa: S603 - def check(self): + def check(self, pkgs: Packages): """ Checks for user supplied pip packages and installs them if they are not already installed. - """ - pip_file = os.path.join(self.config.config_path, "pip.txt") - packages = list(set(self.from_env() + self.from_file(pip_file))) - if not packages: + Args: + pkgs (GetPackages): the class with packages and their settings. + + """ + if not pkgs.has_packages(): return - LOG.info(f"Checking for user pip packages: {', '.join(packages)}") - for package in packages: + LOG.info(f"Checking for user pip packages: {', '.join(pkgs.packages)}") + for package in pkgs.packages: try: - self.action(package) + self.action(package, upgrade=pkgs.allow_upgrade()) except Exception as e: LOG.error(f"Failed to install or upgrade package '{package}'. Error message: {e!s}") LOG.exception(e) diff --git a/app/library/Scheduler.py b/app/library/Scheduler.py index 489fa892..eea92d59 100644 --- a/app/library/Scheduler.py +++ b/app/library/Scheduler.py @@ -57,7 +57,7 @@ class Scheduler(metaclass=Singleton): for job in self._jobs: try: - job.stop() + self._jobs[job].stop() except Exception as e: LOG.exception(e) LOG.error(f"Failed to stop job '{job}'. Error message '{e!s}'.") diff --git a/app/library/config.py b/app/library/config.py index 4f117760..5d172572 100644 --- a/app/library/config.py +++ b/app/library/config.py @@ -10,7 +10,6 @@ from pathlib import Path import coloredlogs from dotenv import load_dotenv -from yt_dlp.version import __version__ as YTDLP_VERSION from .Utils import arg_converter from .version import APP_VERSION @@ -116,9 +115,6 @@ class Config: new_version_available: bool = False "A new version of the application is available." - ytdlp_version: str = YTDLP_VERSION - "The version of yt-dlp." - started: int = 0 "The time the application was started." @@ -149,6 +145,9 @@ class Config: browser_enabled: bool = False "Enable file browser access." + ytdlp_auto_update: bool = False + """Enable in-place auto update of yt-dlp package.""" + pictures_backends: list[str] = [ "https://unsplash.it/1920/1080?random", "https://picsum.photos/1920/1080", @@ -171,7 +170,6 @@ class Config: "ytdl_options", "tasks", "new_version_available", - "ytdlp_version", "started", ) "The variables that are immutable." @@ -200,6 +198,7 @@ class Config: "file_logging", "console_enabled", "browser_enabled", + "ytdlp_auto_update", ) "The variables that are booleans." @@ -207,7 +206,6 @@ class Config: "download_path", "keep_archive", "output_template", - "ytdlp_version", "version", "started", "remove_files", @@ -419,5 +417,14 @@ class Config: data = {k: getattr(self, k) for k in self._frontend_vars} hasCookies = self.ytdl_options.get("cookiefile", None) data["has_cookies"] = hasCookies is not None and os.path.exists(hasCookies) + data["ytdlp_version"] = Config.ytdlp_version() return data + + def ytdlp_version(): + try: + from yt_dlp.version import __version__ as YTDLP_VERSION + + return YTDLP_VERSION + except ImportError: + return "0.0.0" diff --git a/app/main.py b/app/main.py index a49957bc..0c0718db 100644 --- a/app/main.py +++ b/app/main.py @@ -15,7 +15,6 @@ from library.Events import EventBus, Events from library.HttpAPI import HttpAPI from library.HttpSocket import HttpSocket from library.Notifications import Notification -from library.PackageInstaller import PackageInstaller from library.Presets import Presets from library.Scheduler import Scheduler from library.Tasks import Tasks @@ -32,12 +31,6 @@ class Main: self._check_folders() - try: - PackageInstaller(self._config).check() - except Exception as e: - LOG.exception(e) - LOG.error(f"Failed to check for packages. Error message '{e!s}'.") - caribou.upgrade(self._config.db_file, os.path.join(self.rootPath, "migrations")) connection = sqlite3.connect(database=self._config.db_file, isolation_level=None) diff --git a/app/upgrader.py b/app/upgrader.py new file mode 100644 index 00000000..9e189b3c --- /dev/null +++ b/app/upgrader.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 + +import logging +import os +from pathlib import Path + +from dotenv import load_dotenv +from library.PackageInstaller import PackageInstaller, Packages + +LOG = logging.getLogger("upgrader") + + +class Upgrader: + def __init__(self): + import argparse + + parser = argparse.ArgumentParser( + prog="upgrader.py", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + description="Upgrade packages and run the application.", + epilog="Example: upgrader.py --run", + ) + + parser.add_argument( + "-r", "--run", action="store_true", help="Run the application after upgrading the packages." + ) + + args, _ = parser.parse_known_args() + + rootPath = str(Path(__file__).parent.parent.absolute()) + config_path = os.environ.get("YTP_CONFIG_PATH", None) or os.path.join(rootPath, "var", "config") + if not Path(config_path).exists(): + LOG.error(f"config path '{config_path}' doesn't exists.") + + envFile = Path(config_path, ".env") + if envFile.exists(): + LOG.debug(f"loading environment variables from '{envFile}'.") + load_dotenv(str(envFile)) + + pkg_installer = PackageInstaller() + + ytdlp_auto_update: bool = bool(os.environ.get("YTP_YTDLP_AUTO_UPDATE", False)) + + if ytdlp_auto_update: + try: + LOG.info("Checking for newer versions of 'yt-dlp' package.") + pkg_installer.action(pkg="yt_dlp", upgrade=True) + + from yt_dlp.version import __version__ as YTDLP_VERSION + + LOG.info(f"yt-dlp version is '{YTDLP_VERSION}' ") + except Exception as e: + LOG.exception(e) + LOG.error(f"Failed to check/upgrade for yt-dlp package. '{e!s}'.") + + try: + pkg_installer.check( + Packages( + env=os.environ.get("YTP_PIP_PACKAGES", None), + file=str(Path(config_path, "pip.txt")), + upgrade=not bool(os.environ.get("YTP_PIP_IGNORE_UPDATES", False)), + ) + ) + except Exception as e: + LOG.exception(e) + LOG.error(f"Failed to check for packages. '{e!s}'.") + + if args.run: + from main import Main + + Main().start() + + +if __name__ == "__main__": + try: + import coloredlogs + + logging.basicConfig(level=logging.DEBUG) + coloredlogs.install( + level=logging.INFO, fmt="%(asctime)s [%(name)s] [%(levelname)-5.5s] %(message)s", datefmt="%H:%M:%S" + ) + except ImportError: + pass + + Upgrader() diff --git a/ui/package.json b/ui/package.json index 774df023..877246dc 100644 --- a/ui/package.json +++ b/ui/package.json @@ -12,7 +12,7 @@ "web-types": "./web-types.json", "dependencies": { "@pinia/nuxt": "^0.10.1", - "@sentry/nuxt": "^9.10.1", + "@sentry/nuxt": "^9.11.0", "@vueuse/core": "^13.0.0", "@vueuse/nuxt": "^13.0.0", "@xterm/addon-fit": "^0.10.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index b68ff3f4..061728b7 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1279,151 +1279,151 @@ estree-walker "^2.0.2" picomatch "^4.0.2" -"@rollup/rollup-android-arm-eabi@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz#6ba67cc0f3a2d7e3a208256a349c2cb2798f57be" - integrity sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg== +"@rollup/rollup-android-arm-eabi@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz#1d8cc5dd3d8ffe569d8f7f67a45c7909828a0f66" + integrity sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA== -"@rollup/rollup-android-arm64@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz#c8806f88fd6727d3cf144c4ffb00f40d451b6618" - integrity sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ== +"@rollup/rollup-android-arm64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz#9c136034d3d9ed29d0b138c74dd63c5744507fca" + integrity sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ== -"@rollup/rollup-darwin-arm64@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz#c4654989b97bba0de7205cf5b3342984d4451d5a" - integrity sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg== +"@rollup/rollup-darwin-arm64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz#830d07794d6a407c12b484b8cf71affd4d3800a6" + integrity sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q== -"@rollup/rollup-darwin-x64@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz#77ee357aeeefe3fe8bee33df18c240e391450476" - integrity sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg== +"@rollup/rollup-darwin-x64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz#b26f0f47005c1fa5419a880f323ed509dc8d885c" + integrity sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ== -"@rollup/rollup-freebsd-arm64@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz#ac8028c99221d1cef22788adda465077d5926911" - integrity sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA== +"@rollup/rollup-freebsd-arm64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz#2b60c81ac01ff7d1bc8df66aee7808b6690c6d19" + integrity sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ== -"@rollup/rollup-freebsd-x64@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz#64376ff0e1541cd8677e74898782ec4935277e02" - integrity sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg== +"@rollup/rollup-freebsd-x64@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz#4826af30f4d933d82221289068846c9629cc628c" + integrity sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q== -"@rollup/rollup-linux-arm-gnueabihf@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz#7de1584c09adcac08f90d1e500c679c428b6eb36" - integrity sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg== +"@rollup/rollup-linux-arm-gnueabihf@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz#a1f4f963d5dcc9e5575c7acf9911824806436bf7" + integrity sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g== -"@rollup/rollup-linux-arm-musleabihf@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz#1d5d0f28d93cdc37d60c381c6bbe649bed4960d5" - integrity sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg== +"@rollup/rollup-linux-arm-musleabihf@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz#e924b0a8b7c400089146f6278446e6b398b75a06" + integrity sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw== -"@rollup/rollup-linux-arm64-gnu@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz#a97f73a43a374e44bef4a9ed84899c26454831ea" - integrity sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA== +"@rollup/rollup-linux-arm64-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz#cb43303274ec9a716f4440b01ab4e20c23aebe20" + integrity sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ== -"@rollup/rollup-linux-arm64-musl@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz#00e3b646a7976752052ebc72d005808b9e7f2801" - integrity sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ== +"@rollup/rollup-linux-arm64-musl@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz#531c92533ce3d167f2111bfcd2aa1a2041266987" + integrity sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA== -"@rollup/rollup-linux-loongarch64-gnu@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz#0d6dcaa3671cf987faace4b34ab7320ee3c18b65" - integrity sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg== +"@rollup/rollup-linux-loongarch64-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz#53403889755d0c37c92650aad016d5b06c1b061a" + integrity sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw== -"@rollup/rollup-linux-powerpc64le-gnu@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz#54c2d7a4d86767001475f0157c408fd042f7fd8f" - integrity sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw== +"@rollup/rollup-linux-powerpc64le-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz#f669f162e29094c819c509e99dbeced58fc708f9" + integrity sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ== -"@rollup/rollup-linux-riscv64-gnu@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz#8cb565417b29851a0c549614898bdab689f23187" - integrity sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg== +"@rollup/rollup-linux-riscv64-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz#4bab37353b11bcda5a74ca11b99dea929657fd5f" + integrity sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ== -"@rollup/rollup-linux-riscv64-musl@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz#8bc00b75fd07b15c35a54b41a5f052c01dbf925b" - integrity sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA== +"@rollup/rollup-linux-riscv64-musl@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz#4d66be1ce3cfd40a7910eb34dddc7cbd4c2dd2a5" + integrity sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA== -"@rollup/rollup-linux-s390x-gnu@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz#1fe4a88b97e36d64dbf1f01cfa7842d269a094cf" - integrity sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q== +"@rollup/rollup-linux-s390x-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz#7181c329395ed53340a0c59678ad304a99627f6d" + integrity sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA== -"@rollup/rollup-linux-x64-gnu@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz#11c32c463e68a86e279cda090a9405a7558f9406" - integrity sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w== +"@rollup/rollup-linux-x64-gnu@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz#00825b3458094d5c27cb4ed66e88bfe9f1e65f90" + integrity sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA== -"@rollup/rollup-linux-x64-musl@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.38.0.tgz#520c2a8547672ec6c56a6833f6d38e9380d63dc7" - integrity sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g== +"@rollup/rollup-linux-x64-musl@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz#81caac2a31b8754186f3acc142953a178fcd6fba" + integrity sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg== -"@rollup/rollup-win32-arm64-msvc@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz#d27ab565009357014c9f2d6393ee58bd63a63cb8" - integrity sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg== +"@rollup/rollup-win32-arm64-msvc@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz#3a3f421f5ce9bd99ed20ce1660cce7cee3e9f199" + integrity sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ== -"@rollup/rollup-win32-ia32-msvc@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz#6c02847c60fcc7a6d74e00a60f350d079558d84d" - integrity sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA== +"@rollup/rollup-win32-ia32-msvc@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz#a44972d5cdd484dfd9cf3705a884bf0c2b7785a7" + integrity sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ== -"@rollup/rollup-win32-x64-msvc@4.38.0": - version "4.38.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz#38197da22c1af7b6b5d1cc7541757379193b8e83" - integrity sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw== +"@rollup/rollup-win32-x64-msvc@4.39.0": + version "4.39.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz#bfe0214e163f70c4fec1c8f7bb8ce266f4c05b7e" + integrity sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug== -"@sentry-internal/browser-utils@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-9.10.1.tgz#64daffa273dd50571752d4b5c781892548d12157" - integrity sha512-O/ibpHbKfpG+xtZuEzbLNtLcbanRcDYGxT+QbslVItmcS9GjMSwvMpp1jnD9Y7/LIFtv7O1gJZ9Hrz///lLprw== +"@sentry-internal/browser-utils@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-9.11.0.tgz#b4d89fbf1a41ee04ddf5a0058433b6b996d39a41" + integrity sha512-XS71kRf7lw5St/Jc9G2Viy1cKgqGoPHqUAykXEtFt38JVXdf1TY/dSbKv/PAgNqMvC1xvdTsN0HF/81o7DNUEA== dependencies: - "@sentry/core" "9.10.1" + "@sentry/core" "9.11.0" -"@sentry-internal/feedback@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-9.10.1.tgz#e151daff4bfa89af7293ce651649448b6abf9794" - integrity sha512-DM32eAzRvXk36iGBWtlLZA88QzOFBODd+kbz55X4Py+1bDNdRc3Vl6214uuAr7iweHcOQy1rIvmAeO8Xusp7tQ== +"@sentry-internal/feedback@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-9.11.0.tgz#fefbfb318aef251c3dd02540ce524807dbb59bc3" + integrity sha512-50KiRmrF1Ldr+KoRawqcCYVk7TAVP8K/I81Jk9YWwlp1+Pu1ArpYDmTNCLXTgoyiyO38aHefKGZJX6AKFuSsUQ== dependencies: - "@sentry/core" "9.10.1" + "@sentry/core" "9.11.0" -"@sentry-internal/replay-canvas@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-9.10.1.tgz#dc3d04aba6aa08059bfe515505e5f16b1591341c" - integrity sha512-fxrpqElqdsAQrzVly0V/XaljhAlwwMk+iGyf+wZeK6RwEPVxtoxXVfx7fEEtPn+gortqQR09N/zH179hefjuaw== +"@sentry-internal/replay-canvas@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-9.11.0.tgz#56db491058dc7005291c45f3e1777afc87637db5" + integrity sha512-ZcRg8TWfF0ucjK2i+4TY/blRNJ7YKrgMpx19pFj6eCOJ1K8geSkAFPIfDHcQEwIU1ZTN+HiCwx0JvTI9YZxjfg== dependencies: - "@sentry-internal/replay" "9.10.1" - "@sentry/core" "9.10.1" + "@sentry-internal/replay" "9.11.0" + "@sentry/core" "9.11.0" -"@sentry-internal/replay@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-9.10.1.tgz#8255b0359027bf6ea06f15cbe1271f05720a8a27" - integrity sha512-nqG33NwojtteL8e3Qg/SOu0BsTJ9R7AjpmQIlOpFGL007nzKgcJHOngewd7FEHyB+F3iOI0MoI9iEWhRFEGRLw== +"@sentry-internal/replay@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-9.11.0.tgz#ef591263b516415a40b0954e17b29c7a1a83b4c0" + integrity sha512-0k24h58O/2VQw1dwT/zQiWvUzLNQxpxbrVN/MYPT7czSEhI+1bX8fxMHXZORl2JqhetImMXzxH3XkuHQPEqQMg== dependencies: - "@sentry-internal/browser-utils" "9.10.1" - "@sentry/core" "9.10.1" + "@sentry-internal/browser-utils" "9.11.0" + "@sentry/core" "9.11.0" "@sentry/babel-plugin-component-annotate@3.2.4": version "3.2.4" resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-3.2.4.tgz#c0877df6e5ce227bf51754bf27da2fa5227af847" integrity sha512-yBzRn3GEUSv1RPtE4xB4LnuH74ZxtdoRJ5cmQ9i6mzlmGDxlrnKuvem5++AolZTE9oJqAD3Tx2rd1PqmpWnLoA== -"@sentry/browser@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-9.10.1.tgz#071908d8e1082c9e6d24024a73d96fa09943f14c" - integrity sha512-9RWjcyskhnDK2Q6LntFR90EqZD5+DXcXNqeTlE+mpVf65y7wz+9SIuVjAMP7qiDBwfxNbmTxiVCXeCuQnnATsQ== +"@sentry/browser@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-9.11.0.tgz#3126223289949d4b63bfad1fc2c0fc2fdc035cbe" + integrity sha512-DSDj8wQJoiLqqOcntl+7phjd8l8KN9A0vaV7mZNHWbrHU3MVwXqTyLyERRLC6wi0t7F5kqczqa3xLmKjK/fMZg== dependencies: - "@sentry-internal/browser-utils" "9.10.1" - "@sentry-internal/feedback" "9.10.1" - "@sentry-internal/replay" "9.10.1" - "@sentry-internal/replay-canvas" "9.10.1" - "@sentry/core" "9.10.1" + "@sentry-internal/browser-utils" "9.11.0" + "@sentry-internal/feedback" "9.11.0" + "@sentry-internal/replay" "9.11.0" + "@sentry-internal/replay-canvas" "9.11.0" + "@sentry/core" "9.11.0" "@sentry/bundler-plugin-core@3.2.4": version "3.2.4" @@ -1493,15 +1493,15 @@ "@sentry/cli-win32-i686" "2.42.2" "@sentry/cli-win32-x64" "2.42.2" -"@sentry/core@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-9.10.1.tgz#c5fff1d45378ea2937f88bd542230232eec89e65" - integrity sha512-TE2zZV3Od4131mZNgFo2Mv4aKU8FXxL0s96yqRvmV+8AU57mJoycMXBnmNSYfWuDICbPJTVAp+3bYMXwX7N5YA== +"@sentry/core@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-9.11.0.tgz#4cedb0d549e98f4e259f9a48b129e3a46001aba4" + integrity sha512-qfb4ahGZubbrNh1MnbEqyHFp87rIwQIZapyQLCaYpudXrP1biEpLOV3mMDvDJWCdX460hoOwQ3SkwipV3We/7w== -"@sentry/node@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-9.10.1.tgz#03029fa0d47f81f4bb989198b2558d0ec88daf54" - integrity sha512-salNc4R0GiZZNNScNpdAB3OI3kz+clmgXL1rl5O2Kh1IW5vftf5I69n+qqZLJ3kaUp0Sm6V+deCHyUOnw9GozA== +"@sentry/node@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-9.11.0.tgz#5d42d698a7e2a53075288806a2ad1b31c68f89da" + integrity sha512-luDsNDHsHkoXbL2Rf1cEKijh6hBfjzGQe09iP6kdZr+HB0bO+qoLe+nZLzSIQTWgWSt2XYNQyiLAsaMlbJZhJg== dependencies: "@opentelemetry/api" "^1.9.0" "@opentelemetry/context-async-hooks" "^1.30.1" @@ -1534,30 +1534,30 @@ "@opentelemetry/sdk-trace-base" "^1.30.1" "@opentelemetry/semantic-conventions" "^1.30.0" "@prisma/instrumentation" "6.5.0" - "@sentry/core" "9.10.1" - "@sentry/opentelemetry" "9.10.1" + "@sentry/core" "9.11.0" + "@sentry/opentelemetry" "9.11.0" import-in-the-middle "^1.13.0" -"@sentry/nuxt@^9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry/nuxt/-/nuxt-9.10.1.tgz#9142b1164652030ab79e4ed3316b647be7c853ff" - integrity sha512-gTByxDnFZeEglKRiAbycm9GmSMd3K2pD111mOjiWE0DGbVphDqCeOxMmvuoZfVjDU66kcJ6z+zpomCDqLQBtiQ== +"@sentry/nuxt@^9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry/nuxt/-/nuxt-9.11.0.tgz#25ef9b0db2d3b225764b0315b90a56a830e59444" + integrity sha512-A8upXU0iuCexgm2vBKox0d8rIuomRZfGUXa5LQKNgHuBZNt/uRU3ZsUeedN/7PWelODy/vmxGmxWWdVeWLH9xw== dependencies: "@nuxt/kit" "^3.13.2" - "@sentry/browser" "9.10.1" - "@sentry/core" "9.10.1" - "@sentry/node" "9.10.1" - "@sentry/opentelemetry" "9.10.1" + "@sentry/browser" "9.11.0" + "@sentry/core" "9.11.0" + "@sentry/node" "9.11.0" + "@sentry/opentelemetry" "9.11.0" "@sentry/rollup-plugin" "3.2.4" "@sentry/vite-plugin" "3.2.4" - "@sentry/vue" "9.10.1" + "@sentry/vue" "9.11.0" -"@sentry/opentelemetry@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-9.10.1.tgz#629c10f80b4ca8837c2e0b3b0d58b56d054dcff8" - integrity sha512-qqcsbIyoOPI91Tm6w0oFzsx/mlu+lywRGSVbPRFhk4zCXBOhCCp4Mg7nwKK0wGJ7AZRl6qtELrRSGClAthC55g== +"@sentry/opentelemetry@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-9.11.0.tgz#5e3215cc98ee58d458f504d368fd3e15600814a9" + integrity sha512-B6RumUFGb1+Q4MymY7IZbdl1Ayz2srqf46itFr1ohE/IpwY7OWKMntop8fxyccUW3ptmPp9cPkBJOaa9UdJhSg== dependencies: - "@sentry/core" "9.10.1" + "@sentry/core" "9.11.0" "@sentry/rollup-plugin@3.2.4": version "3.2.4" @@ -1575,13 +1575,13 @@ "@sentry/bundler-plugin-core" "3.2.4" unplugin "1.0.1" -"@sentry/vue@9.10.1": - version "9.10.1" - resolved "https://registry.yarnpkg.com/@sentry/vue/-/vue-9.10.1.tgz#c9fe579fc065fdeb7a543fa6da954428d2ee6d4f" - integrity sha512-lJ8Fmc/wdHBw0EUOw8ndpZ1iWi+5m9usRWPiCU8i46NOY4apna1Qbl2R0h8qtzJh1ras22wBV65iQeYI9vHtTg== +"@sentry/vue@9.11.0": + version "9.11.0" + resolved "https://registry.yarnpkg.com/@sentry/vue/-/vue-9.11.0.tgz#fa9814b79f56db6f80647dc4bf1363c6610aa2fc" + integrity sha512-ta43z7Ai7/TACitXtzdkDEkMMQvk0bkKgEs7cj7CBBNoZdt61oFrLh073W9mpQqvDNGVbLR+6MBKcsvwoo64fg== dependencies: - "@sentry/browser" "9.10.1" - "@sentry/core" "9.10.1" + "@sentry/browser" "9.11.0" + "@sentry/core" "9.11.0" "@sindresorhus/is@^7.0.1": version "7.0.1" @@ -1635,11 +1635,11 @@ "@types/node" "*" "@types/node@*": - version "22.13.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.17.tgz#9ca6a81a0180cdcfd3719b9cf6c09186756e1754" - integrity sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g== + version "22.14.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.0.tgz#d3bfa3936fef0dbacd79ea3eb17d521c628bb47e" + integrity sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA== dependencies: - undici-types "~6.20.0" + undici-types "~6.21.0" "@types/parse-path@^7.0.0": version "7.0.3" @@ -1694,12 +1694,12 @@ integrity sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA== "@unhead/vue@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@unhead/vue/-/vue-2.0.2.tgz#02a3463db63b6923973e249b736a002eef9be041" - integrity sha512-pUGcbmPNCALOVWnQRtIjJ5ubNaZus3nHfCBDPEVwhbiLzeLF6wbhgTakwksZ1EegKNOZwRAkmVbV6i+23OYEUQ== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@unhead/vue/-/vue-2.0.3.tgz#4e4375dd074885876a16f827770d4686ed23f3f0" + integrity sha512-6Yci+MTunYuJLYwujBA68hEr5PabBl87yEhImrG4AUogaYWqIwtMHukn0bQvcjaBksXartLJtGUhxhmKgBdyPw== dependencies: hookable "^5.5.3" - unhead "2.0.2" + unhead "2.0.3" "@vercel/nft@^0.29.2": version "0.29.2" @@ -2169,21 +2169,21 @@ bundle-name@^4.1.0: run-applescript "^7.0.0" c12@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/c12/-/c12-3.0.2.tgz#5ceba55cf081ff4cf95b22c593c80b34cf1f3d2e" - integrity sha512-6Tzk1/TNeI3WBPpK0j/Ss4+gPj3PUJYbWl/MWDJBThFvwNGNkXtd7Cz8BJtD4aRwoGHtzQD0SnxamgUiBH0/Nw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/c12/-/c12-3.0.3.tgz#4d6d4d35f084606ff616d1bcae60e6676eacd4bd" + integrity sha512-uC3MacKBb0Z15o5QWCHvHWj5Zv34pGQj9P+iXKSpTuSGFS0KKhUWf4t9AJ+gWjYOdmWCPEGpEzm8sS0iqbpo1w== dependencies: chokidar "^4.0.3" - confbox "^0.1.8" + confbox "^0.2.2" defu "^6.1.4" dotenv "^16.4.7" - exsolve "^1.0.0" + exsolve "^1.0.4" giget "^2.0.0" jiti "^2.4.2" - ohash "^2.0.5" + ohash "^2.0.11" pathe "^2.0.3" perfect-debounce "^1.0.0" - pkg-types "^2.0.0" + pkg-types "^2.1.0" rc9 "^2.1.2" cac@^6.7.14: @@ -2202,9 +2202,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001688, caniuse-lite@^1.0.30001702: - version "1.0.30001707" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz#c5e104d199e6f4355a898fcd995a066c7eb9bf41" - integrity sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw== + version "1.0.30001709" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001709.tgz#61b34187b52851ef34c44d90f39a94dc5b0acb43" + integrity sha512-NgL3vUTnDrPCZ3zTahp4fsugQ4dc7EKTSzwQDPEel6DMoMnfH2jhry9n2Zm8onbSR+f/QtKHFOA+iAQu4kbtWA== chokidar@^3.5.3: version "3.6.0" @@ -2321,10 +2321,10 @@ confbox@^0.1.8: resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06" integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w== -confbox@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.2.1.tgz#ae39f2c99699afa451d00206479f15f9a1208a8b" - integrity sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg== +confbox@^0.2.1, confbox@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.2.2.tgz#8652f53961c74d9e081784beed78555974a9c110" + integrity sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ== consola@^3.2.3, consola@^3.4.0, consola@^3.4.2: version "3.4.2" @@ -2582,9 +2582,9 @@ depd@2.0.0: integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== destr@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449" - integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== + version "2.0.4" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.4.tgz#019388c4b9c455503b62b331c9bc655a10294f7c" + integrity sha512-FCAorltMy7QwX0QU38jOkhrv20LBpsHA8ogzvMhhPHCCKVCaN6GxrB0GGaWEWBUYI4eEjjfJ95RdP6dk9IdMQA== destroy@1.2.0: version "1.2.0" @@ -2669,9 +2669,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.73: - version "1.5.129" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.129.tgz#fafa835aea5d15fcd5cbe9bd6bf1cb5d4b3aa06e" - integrity sha512-JlXUemX4s0+9f8mLqib/bHH8gOHf5elKS6KeWG3sk3xozb/JTq/RLXIv8OKUWiK4Ah00Wm88EFj5PYkFr4RUPA== + version "1.5.130" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.130.tgz#19f5dd2cf166a8dd1350b08230a33faba0d8f4ec" + integrity sha512-Ou2u7L9j2XLZbhqzyX0jWDj6gA8D3jIfVzt4rikLf3cGBa0VdReuFimBKS9tQJA4+XpeCxj1NoWlfBXzbMa9IA== emoji-regex@^8.0.0: version "8.0.0" @@ -2825,7 +2825,7 @@ execa@^8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" -exsolve@^1.0.0, exsolve@^1.0.1, exsolve@^1.0.4: +exsolve@^1.0.1, exsolve@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/exsolve/-/exsolve-1.0.4.tgz#7de5c75af82ecd15998328fbf5f2295883be3a39" integrity sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw== @@ -2977,9 +2977,9 @@ giget@^2.0.0: pathe "^2.0.3" git-up@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-8.0.1.tgz#2a82cfbc77b5eb04074ab1e48593911981654fc7" - integrity sha512-2XFu1uNZMSjkyetaF+8rqn6P0XqpMq/C+2ycjI6YwrIKcszZ5/WR4UubxjN0lILOKqLkLaHDaCr2B6fP1cke6g== + version "8.1.0" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-8.1.0.tgz#1494a4b2b20a8cdef1b32539f12cb546a199fc5e" + integrity sha512-cT2f5ERrhFDMPS5wLHURcjRiacC8HonX0zIAWBTwHv1fS6HheP902l6pefOX/H9lNmvCHDwomw0VeN7nhg5bxg== dependencies: is-ssh "^1.4.0" parse-url "^9.2.0" @@ -3557,9 +3557,9 @@ mime@^3.0.0: integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== mime@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-4.0.6.tgz#ca83bec0bcf2a02353d0e02da99be05603d04839" - integrity sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A== + version "4.0.7" + resolved "https://registry.yarnpkg.com/mime/-/mime-4.0.7.tgz#0b7a98b08c63bd3c10251e797d67840c9bde9f13" + integrity sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ== mimic-fn@^4.0.0: version "4.0.0" @@ -3921,7 +3921,7 @@ ofetch@^1.4.1: node-fetch-native "^1.6.4" ufo "^1.5.4" -ohash@^2.0.11, ohash@^2.0.4, ohash@^2.0.5: +ohash@^2.0.11, ohash@^2.0.4: version "2.0.11" resolved "https://registry.yarnpkg.com/ohash/-/ohash-2.0.11.tgz#60b11e8cff62ca9dee88d13747a5baa145f5900b" integrity sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ== @@ -4608,32 +4608,32 @@ rollup-plugin-visualizer@^5.14.0: yargs "^17.5.1" rollup@^4.30.1, rollup@^4.36.0: - version "4.38.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.38.0.tgz#e1ef4939aef0e1295f750ae4f73d1c8b7fc3abb8" - integrity sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw== + version "4.39.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.39.0.tgz#9dc1013b70c0e2cb70ef28350142e9b81b3f640c" + integrity sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g== dependencies: "@types/estree" "1.0.7" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.38.0" - "@rollup/rollup-android-arm64" "4.38.0" - "@rollup/rollup-darwin-arm64" "4.38.0" - "@rollup/rollup-darwin-x64" "4.38.0" - "@rollup/rollup-freebsd-arm64" "4.38.0" - "@rollup/rollup-freebsd-x64" "4.38.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.38.0" - "@rollup/rollup-linux-arm-musleabihf" "4.38.0" - "@rollup/rollup-linux-arm64-gnu" "4.38.0" - "@rollup/rollup-linux-arm64-musl" "4.38.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.38.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.38.0" - "@rollup/rollup-linux-riscv64-gnu" "4.38.0" - "@rollup/rollup-linux-riscv64-musl" "4.38.0" - "@rollup/rollup-linux-s390x-gnu" "4.38.0" - "@rollup/rollup-linux-x64-gnu" "4.38.0" - "@rollup/rollup-linux-x64-musl" "4.38.0" - "@rollup/rollup-win32-arm64-msvc" "4.38.0" - "@rollup/rollup-win32-ia32-msvc" "4.38.0" - "@rollup/rollup-win32-x64-msvc" "4.38.0" + "@rollup/rollup-android-arm-eabi" "4.39.0" + "@rollup/rollup-android-arm64" "4.39.0" + "@rollup/rollup-darwin-arm64" "4.39.0" + "@rollup/rollup-darwin-x64" "4.39.0" + "@rollup/rollup-freebsd-arm64" "4.39.0" + "@rollup/rollup-freebsd-x64" "4.39.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.39.0" + "@rollup/rollup-linux-arm-musleabihf" "4.39.0" + "@rollup/rollup-linux-arm64-gnu" "4.39.0" + "@rollup/rollup-linux-arm64-musl" "4.39.0" + "@rollup/rollup-linux-loongarch64-gnu" "4.39.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.39.0" + "@rollup/rollup-linux-riscv64-gnu" "4.39.0" + "@rollup/rollup-linux-riscv64-musl" "4.39.0" + "@rollup/rollup-linux-s390x-gnu" "4.39.0" + "@rollup/rollup-linux-x64-gnu" "4.39.0" + "@rollup/rollup-linux-x64-musl" "4.39.0" + "@rollup/rollup-win32-arm64-msvc" "4.39.0" + "@rollup/rollup-win32-ia32-msvc" "4.39.0" + "@rollup/rollup-win32-x64-msvc" "4.39.0" fsevents "~2.3.2" run-applescript@^7.0.0: @@ -5068,9 +5068,9 @@ tslib@^2.4.0: integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== type-fest@^4.18.2: - version "4.39.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.39.0.tgz#c7758be50a83a5b879e7a59ea52421e9816b3928" - integrity sha512-w2IGJU1tIgcrepg9ZJ82d8UmItNQtOFJG0HCUE3SzMokKkTsruVDALl2fAdiEzJlfduoU+VyXJWIIUZ+6jV+nw== + version "4.39.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.39.1.tgz#7521f6944e279abaf79cf60cfbc4823f4858083e" + integrity sha512-uW9qzd66uyHYxwyVBYiwS4Oi0qZyUqwjU+Oevr6ZogYiXt99EOYtwvzMSLw1c3lYo2HzJsep/NB23iEVEgjG/w== ufo@^1.1.2, ufo@^1.5.4: version "1.5.4" @@ -5097,10 +5097,10 @@ unctx@^2.4.1: magic-string "^0.30.17" unplugin "^2.1.0" -undici-types@~6.20.0: - version "6.20.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" - integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== unenv@^2.0.0-rc.15: version "2.0.0-rc.15" @@ -5113,10 +5113,10 @@ unenv@^2.0.0-rc.15: pathe "^2.0.3" ufo "^1.5.4" -unhead@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unhead/-/unhead-2.0.2.tgz#7f65e3feebaadb0408806029c1e4f19698b28aed" - integrity sha512-1pcK/rSA70sezpdgmupQPd/yrul8pVFJRwMvWjEthbsXoTXMqjNQlV7NBXWeWt5r2uje1lZJsvRTHF7IvdOhcg== +unhead@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unhead/-/unhead-2.0.3.tgz#7797c1e0ddbfb2aab8fc21224a0a554b957c8b0e" + integrity sha512-l2O1DSzEid8Fp+I+FMMhFnl1IewyAvBhbdYipaq9Jh2AMndv//yWZ2amjzDLpYpUmDr9E8WTcdoAXkm9wH60Aw== dependencies: hookable "^5.5.3" @@ -5335,9 +5335,9 @@ vite-plugin-vue-tracer@^0.1.3: source-map-js "^1.2.1" "vite@^5.0.0 || ^6.0.0", vite@^6.2.4: - version "6.2.4" - resolved "https://registry.yarnpkg.com/vite/-/vite-6.2.4.tgz#05809de3f918fded87f73a838761995a4d66a680" - integrity sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw== + version "6.2.5" + resolved "https://registry.yarnpkg.com/vite/-/vite-6.2.5.tgz#d093b5fe8eb96e594761584a966ab13f24457820" + integrity sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA== dependencies: esbuild "^0.25.0" postcss "^8.5.3"