chore: added deno as sidecar as per new yt-dlp requirement, bumped up bins and deps

This commit is contained in:
2025-10-07 21:02:07 +05:30
parent e9c5d13cb7
commit 9ca568ec2e
29 changed files with 999 additions and 914 deletions

View File

@@ -47,9 +47,10 @@ After installing the extension you can do the following directly from the browse
### 🤝 External Dependencies ### 🤝 External Dependencies
- [YT-DLP](https://github.com/yt-dlp/yt-dlp) (Latest Nightly) - The core CLI tool used to download video/audio from the web (Hero of the show 😎) - [YT-DLP](https://github.com/yt-dlp/yt-dlp) - The core CLI tool used to download video/audio from the web (Hero of the show 😎)
- [FFmpeg & FFprobe](https://www.ffmpeg.org) (v7.1.1) - Used for video/audio post-processing - [FFmpeg & FFprobe](https://www.ffmpeg.org) - Used for video/audio post-processing
- [Aria2](https://aria2.github.io) (v1.37.0) - Used as an external downloader for blazing fast downloads with yt-dlp (Not included with NeoDLP MacOS builds) - [Aria2](https://aria2.github.io) - Used as an external downloader for blazing fast downloads with yt-dlp (Not included with NeoDLP MacOS builds)
- [Deno](https://deno.com) - Provides sandboxed javascript runtime environment for yt-dlp (Required for YT downloads, as per the new yt-dlp [announcement](https://github.com/yt-dlp/yt-dlp/issues/14404))
### ⬇️ Download and Installation ### ⬇️ Download and Installation
@@ -132,11 +133,11 @@ Noticed any Bug? or Want to give me some suggetion? Always feel free to open a [
### 💫 Credits ### 💫 Credits
- NeoDLP's 'Format Selection' options are inspired from the [Seal](https://github.com/JunkFood02/Seal) app by [@JunkFood02](https://github.com/JunkFood02) - NeoDLP's 'Format Selection' options are inspired from the [Seal](https://github.com/JunkFood02/Seal) app by [@JunkFood02](https://github.com/JunkFood02)
- Aria2 Windows x86_64 and Linux x86_64 static binaries are built by [@q3aql](https://github.com/q3aql/aria2-static-builds) - Aria2 Windows x86_64 and Linux x86_64 static binaries are built by [@asdo92](https://github.com/asdo92/aria2-static-builds)
### 📝 License ### 📝 License
NeoDLP is Licensed under the [MIT license](https://github.com/neosubhamoy/neodlp/blob/main/LICENSE). Anyone can view, modify, use (personal and commercial) or distribute it's sources without any attribution and extra permissions. NeoDLP is Licensed under the [MIT license](https://github.com/neosubhamoy/neodlp/blob/main/LICENSE). Anyone can view, modify, use (personal and commercial) or distribute it's sources without any attribution and extra permissions.
**** ****
An Open Sourced Project - Developed with ❤️ by **Subhamoy** An Open Sourced Project - Developed with ❤️ by **Subhamoy**

609
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@
"tauri": "tauri" "tauri": "tauri"
}, },
"dependencies": { "dependencies": {
"@hookform/resolvers": "^5.2.1", "@hookform/resolvers": "^5.2.2",
"@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-alert-dialog": "^1.1.15", "@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-aspect-ratio": "^1.1.7", "@radix-ui/react-aspect-ratio": "^1.1.7",
@@ -38,15 +38,15 @@
"@radix-ui/react-toggle": "^1.1.10", "@radix-ui/react-toggle": "^1.1.10",
"@radix-ui/react-toggle-group": "^1.1.11", "@radix-ui/react-toggle-group": "^1.1.11",
"@radix-ui/react-tooltip": "^1.2.8", "@radix-ui/react-tooltip": "^1.2.8",
"@tanstack/react-query": "^5.85.5", "@tanstack/react-query": "^5.90.2",
"@tanstack/react-query-devtools": "^5.85.5", "@tanstack/react-query-devtools": "^5.90.2",
"@tauri-apps/api": "^2.8.0", "@tauri-apps/api": "^2.8.0",
"@tauri-apps/plugin-dialog": "^2.3.3", "@tauri-apps/plugin-dialog": "^2.4.0",
"@tauri-apps/plugin-fs": "^2.4.2", "@tauri-apps/plugin-fs": "^2.4.2",
"@tauri-apps/plugin-opener": "^2.5.0", "@tauri-apps/plugin-opener": "^2.5.0",
"@tauri-apps/plugin-os": "^2.3.1", "@tauri-apps/plugin-os": "^2.3.1",
"@tauri-apps/plugin-process": "^2.3.0", "@tauri-apps/plugin-process": "^2.3.0",
"@tauri-apps/plugin-shell": "^2.3.0", "@tauri-apps/plugin-shell": "^2.3.1",
"@tauri-apps/plugin-sql": "^2.3.0", "@tauri-apps/plugin-sql": "^2.3.0",
"@tauri-apps/plugin-updater": "^2.9.0", "@tauri-apps/plugin-updater": "^2.9.0",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
@@ -55,34 +55,34 @@
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"embla-carousel-react": "^8.6.0", "embla-carousel-react": "^8.6.0",
"input-otp": "^1.4.2", "input-otp": "^1.4.2",
"lucide-react": "^0.541.0", "lucide-react": "^0.545.0",
"next-themes": "^0.4.6", "next-themes": "^0.4.6",
"react": "^19.1.1", "react": "^19.2.0",
"react-day-picker": "^9.9.0", "react-day-picker": "^9.11.0",
"react-dom": "^19.1.1", "react-dom": "^19.2.0",
"react-hook-form": "^7.62.0", "react-hook-form": "^7.64.0",
"react-resizable-panels": "^3.0.4", "react-resizable-panels": "^3.0.6",
"react-router-dom": "^7.8.2", "react-router-dom": "^7.9.3",
"recharts": "^3.1.2", "recharts": "^3.2.1",
"sonner": "^2.0.7", "sonner": "^2.0.7",
"tailwind-merge": "^3.3.1", "tailwind-merge": "^3.3.1",
"ulid": "^3.0.1", "ulid": "^3.0.1",
"vaul": "^1.1.2", "vaul": "^1.1.2",
"zod": "^4.1.0", "zod": "^4.1.12",
"zustand": "^5.0.8" "zustand": "^5.0.8"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/postcss": "^4.1.12", "@tailwindcss/postcss": "^4.1.14",
"@tailwindcss/vite": "^4.1.12", "@tailwindcss/vite": "^4.1.14",
"@tauri-apps/cli": "^2.8.1", "@tauri-apps/cli": "^2.8.4",
"@types/node": "^24.3.0", "@types/node": "^24.7.0",
"@types/react": "^19.1.11", "@types/react": "^19.2.2",
"@types/react-dom": "^19.1.7", "@types/react-dom": "^19.2.1",
"@vitejs/plugin-react": "^5.0.1", "@vitejs/plugin-react": "^5.0.4",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"tailwindcss": "^4.1.12", "tailwindcss": "^4.1.14",
"tw-animate-css": "^1.3.7", "tw-animate-css": "^1.4.0",
"typescript": "~5.9.2", "typescript": "~5.9.3",
"vite": "^7.1.3" "vite": "^7.1.9"
} }
} }

1140
src-tauri/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -29,7 +29,7 @@ sqlx = { version = "0.8", features = [ "sqlite", "runtime-tokio", "tls-native-tl
base64 = "0.22" base64 = "0.22"
directories = "6.0" directories = "6.0"
futures-util = "0.3" futures-util = "0.3"
tauri-plugin-opener = "2.5.0" tauri-plugin-opener = "2"
tauri-plugin-shell = "2" tauri-plugin-shell = "2"
tauri-plugin-fs = "2" tauri-plugin-fs = "2"
tauri-plugin-os = "2" tauri-plugin-os = "2"
@@ -38,7 +38,7 @@ tauri-plugin-sql = { version = "2", features = ["sqlite"] }
tauri-plugin-process = "2" tauri-plugin-process = "2"
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
tauri-plugin-single-instance = "2.3.3" tauri-plugin-single-instance = "2"
tauri-plugin-updater = "2" tauri-plugin-updater = "2"
[workspace] [workspace]

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1037b241d626483d0048c5ef459aa9fa13cd6bc2bc57d2c7a2aaf7e3b7515f78
size 91614816

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:510c9d6ded38568a13dfb0acdaa178f060ee5cacb37aeb9ae500724e460a8e79
size 102745408

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:522e54fc5ca4cb42bc9bb7ed952327481c8b6d20149a8d8e7f7b7a604f9ed199
size 117758936

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df96c25d1804cee25e463d5084a7ded48b6d9d58f8b0d819644a960aa13a7230
size 113525240

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:f908be736c63cfc624ac1e4bce65eb70f167865f7df6e4e66e473043acfe164a oid sha256:81eb29b0678f4749cc01934b954f57cdd858c9afce5adf6872394adb5ffb2be2
size 80263264 size 80268888

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:f908be736c63cfc624ac1e4bce65eb70f167865f7df6e4e66e473043acfe164a oid sha256:81eb29b0678f4749cc01934b954f57cdd858c9afce5adf6872394adb5ffb2be2
size 80263264 size 80268888

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:418ba93234679b06c3a8e2f653422a78dd855b4bc5800c960623374468b85216 oid sha256:7d3403afa6d8510aca69d4b3c99619d972fb4651e4787c2de019f1404a139019
size 140249600 size 175262208

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:7a5290ae0ef64702228565b65295ab0a006671c54fdc150f9e5247f5206ea439 oid sha256:1058b4d448ddcdd2a7e560f928f0c18197c6f8b8cc25a489a95c5e1989b82d88
size 141267400 size 176215272

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:2890fc88a6b99fb7761dae6acd8ac531083a60d75ac82c09c5fe93d10f67cc81 oid sha256:2559a63f05e35f2d2d771a2044c1463d6be1e7f0279e67869d5d9bc658556894
size 80089672 size 80086968

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:2890fc88a6b99fb7761dae6acd8ac531083a60d75ac82c09c5fe93d10f67cc81 oid sha256:2559a63f05e35f2d2d771a2044c1463d6be1e7f0279e67869d5d9bc658556894
size 80089672 size 80086968

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:99cc32fddcde37108bba108993ae5091609d493970583719385099270bd279b7 oid sha256:b49251407a2e2e1a9d00722a89a4163a1f89e128108155585f4ef6c79bcfbd85
size 140052992 size 175064064

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:165e68e3df3ba78296b6e4d060906abb0e8f235e103180d0f058cb7f5dea3513 oid sha256:cbdef955953b157ee366c162746ccafdb4e2bc1a154e8d6d97bf57751b7e6918
size 141063880 size 176011752

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:fc5bd50ef656f1727d6f1c6c55688b21434e70cb5fb3e439701d1061ae094bf0 oid sha256:c5d493c97561527824d64327b60221bc2646747c30953423e818715f3cea5c3a
size 34391824 size 35709136

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:fc5bd50ef656f1727d6f1c6c55688b21434e70cb5fb3e439701d1061ae094bf0 oid sha256:c5d493c97561527824d64327b60221bc2646747c30953423e818715f3cea5c3a
size 34391824 size 35709136

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:12a8c87dec3b3aa26745d9b54c409f8cc8719b0545a7a619ed49677c7743991f oid sha256:619d7fa15ff4cdafbf912530799acf32bb4227b363bc8144cb377d82a9ecb6ac
size 18351669 size 18332203

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:0aa0afe3d2b32c047b73083f3c8e56081d71bb33fe047357820d51d153d1d54f oid sha256:ab4161f2fa57092a8d5f4448ed5aef1c814aa38cddc37d068aaf91b0a517c2ea
size 34608400 size 37574216

View File

@@ -30,6 +30,11 @@
"args": true, "args": true,
"sidecar": true "sidecar": true
}, },
{
"name": "binaries/deno",
"args": true,
"sidecar": true
},
{ {
"name": "aria2c", "name": "aria2c",
"cmd": "aria2c", "cmd": "aria2c",
@@ -65,6 +70,11 @@
"args": true, "args": true,
"sidecar": true "sidecar": true
}, },
{
"name": "binaries/deno",
"args": true,
"sidecar": true
},
{ {
"name": "aria2c", "name": "aria2c",
"cmd": "aria2c", "cmd": "aria2c",
@@ -78,4 +88,4 @@
"macOS", "macOS",
"linux" "linux"
] ]
} }

View File

@@ -39,7 +39,8 @@
"binaries/yt-dlp", "binaries/yt-dlp",
"binaries/ffmpeg", "binaries/ffmpeg",
"binaries/ffprobe", "binaries/ffprobe",
"binaries/aria2c" "binaries/aria2c",
"binaries/deno"
], ],
"linux": { "linux": {
"deb": { "deb": {
@@ -64,4 +65,4 @@
} }
} }
} }
} }

View File

@@ -38,7 +38,8 @@
"externalBin": [ "externalBin": [
"binaries/yt-dlp", "binaries/yt-dlp",
"binaries/ffmpeg", "binaries/ffmpeg",
"binaries/ffprobe" "binaries/ffprobe",
"binaries/deno"
], ],
"resources": { "resources": {
"target/aarch64-apple-darwin/release/neodlp-msghost": "neodlp-msghost", "target/aarch64-apple-darwin/release/neodlp-msghost": "neodlp-msghost",
@@ -50,4 +51,4 @@
"providerShortName": "neosubhamoy" "providerShortName": "neosubhamoy"
} }
} }
} }

View File

@@ -38,7 +38,8 @@
"externalBin": [ "externalBin": [
"binaries/yt-dlp", "binaries/yt-dlp",
"binaries/ffmpeg", "binaries/ffmpeg",
"binaries/ffprobe" "binaries/ffprobe",
"binaries/deno"
], ],
"resources": { "resources": {
"target/x86_64-apple-darwin/release/neodlp-msghost": "neodlp-msghost", "target/x86_64-apple-darwin/release/neodlp-msghost": "neodlp-msghost",
@@ -50,4 +51,4 @@
"providerShortName": "neosubhamoy" "providerShortName": "neosubhamoy"
} }
} }
} }

View File

@@ -39,7 +39,8 @@
"binaries/yt-dlp", "binaries/yt-dlp",
"binaries/ffmpeg", "binaries/ffmpeg",
"binaries/ffprobe", "binaries/ffprobe",
"binaries/aria2c" "binaries/aria2c",
"binaries/deno"
], ],
"resources": { "resources": {
"target/release/neodlp-msghost.exe": "neodlp-msghost.exe", "target/release/neodlp-msghost.exe": "neodlp-msghost.exe",
@@ -56,4 +57,4 @@
} }
} }
} }
} }

View File

@@ -525,7 +525,7 @@ export default function App({ children }: { children: React.ReactNode }) {
const downloadedFileExt = downloadFilePath.split('.').pop(); const downloadedFileExt = downloadFilePath.split('.').pop();
// Update completion status after a short delay to ensure database states are propagated correctly // Update completion status after a short delay to ensure database states are propagated correctly
console.log(`Download completed with ID: ${downloadId}, updating filepath and status after 1s delay...`); console.log(`Download completed with ID: ${downloadId}, updating filepath and status after 2s delay...`);
setTimeout(() => { setTimeout(() => {
LOG.info('NEODLP', `yt-dlp download completed with id: ${downloadId}`); LOG.info('NEODLP', `yt-dlp download completed with id: ${downloadId}`);
downloadFilePathUpdater.mutate({ download_id: downloadId, filepath: downloadFilePath as string, ext: downloadedFileExt as string }, { downloadFilePathUpdater.mutate({ download_id: downloadId, filepath: downloadFilePath as string, ext: downloadedFileExt as string }, {
@@ -547,7 +547,7 @@ export default function App({ children }: { children: React.ReactNode }) {
console.error("Failed to update download status:", error); console.error("Failed to update download status:", error);
} }
}); });
}, 1000); }, 2000);
} }
} }
}); });

View File

@@ -379,7 +379,7 @@ export default function LibraryPage() {
</div> </div>
)} )}
<div className="text-xs text-muted-foreground">{ state.download_status && ( <div className="text-xs text-muted-foreground">{ state.download_status && (
`${state.download_status === 'downloading' && state.status === 'finished' ? 'Processing' : state.download_status.charAt(0).toUpperCase() + state.download_status.slice(1)} ${state.download_status === 'downloading' && state.status !== 'finished' && state.speed ? `• Speed: ${formatSpeed(state.speed)}` : ""} ${state.download_status === 'downloading' && state.eta ? `• ETA: ${formatSecToTimeString(state.eta)}` : ""} • ID: ${state.download_id.toUpperCase()}` `${state.download_status === 'downloading' && state.status === 'finished' ? 'Processing' : state.download_status.charAt(0).toUpperCase() + state.download_status.slice(1)} ${state.download_id ? `• ID: ${state.download_id.toUpperCase()}` : ""} ${state.download_status === 'downloading' && state.status !== 'finished' && state.speed ? `• Speed: ${formatSpeed(state.speed)}` : ""} ${state.download_status === 'downloading' && state.eta ? `• ETA: ${formatSecToTimeString(state.eta)}` : ""}`
)}</div> )}</div>
</div> </div>
<div className="w-full flex items-center gap-2 mt-2"> <div className="w-full flex items-center gap-2 mt-2">

View File

@@ -21,7 +21,6 @@
"noFallthroughCasesInSwitch": true, "noFallthroughCasesInSwitch": true,
/* Paths */ /* Paths */
"baseUrl": ".",
"paths": { "paths": {
"@/*": ["./src/*"] "@/*": ["./src/*"]
} }