bb5dd6c438
Phase A of the Seal feature-parity roadmap: configurable post-processing via a shared DownloadOptions model (src/shared/ipc.ts), editable as persisted defaults in Settings and overridable per-download in the download bar. - audio formats (mp3/m4a/opus/flac/wav/aac), video container (mp4/mkv/webm), preferred-codec sort (-S vcodec) - subtitles (download/embed/langs/auto), SponsorBlock (remove/mark + categories + force-keyframes-at-cuts), embed chapters/metadata/thumbnail, square-crop audio artwork - playlist downloads: probe via `-J --flat-playlist`, inline selection UI (checkbox list, select-all/none, live count); each entry enqueued as its own single-video download, reusing the existing queue/concurrency/history - reusable DownloadOptionsForm shared by Settings and the download bar so the defaults and per-download override never drift - ROADMAP.md tracking full Seal parity (phases A-E) Also includes in-tree security hardening that landed alongside: preload sandbox (CJS preload output), http(s)-only window-open + blocked renderer navigation, argv-injection guard for URLs (src/main/url.ts), extension-allowlisted file open/reveal (src/main/reveal.ts), yt-dlp version-check timeout, and a minimal window.electron presence marker. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
45 lines
1.4 KiB
JSON
45 lines
1.4 KiB
JSON
{
|
|
"name": "aerofetch",
|
|
"version": "0.1.0",
|
|
"description": "A yt-dlp frontend for Windows",
|
|
"main": "./out/main/index.js",
|
|
"author": "AeroFetch",
|
|
"homepage": "https://github.com/yt-dlp/yt-dlp",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "electron-vite dev",
|
|
"dev:watch": "electron-vite dev --watch",
|
|
"ui": "vite",
|
|
"ui:build": "vite build",
|
|
"ui:preview": "vite preview",
|
|
"build": "electron-vite build",
|
|
"build:win": "electron-vite build && electron-builder --win",
|
|
"start": "electron-vite preview",
|
|
"typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
|
|
"typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false",
|
|
"typecheck": "npm run typecheck:node && npm run typecheck:web"
|
|
},
|
|
"dependencies": {
|
|
"@electron-toolkit/utils": "^4.0.0",
|
|
"@fluentui/react-components": "^9.74.1",
|
|
"@fluentui/react-icons": "^2.0.330",
|
|
"electron-store": "^11.0.2",
|
|
"react": "^19.2.7",
|
|
"react-dom": "^19.2.7",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@electron-toolkit/tsconfig": "^2.0.0",
|
|
"@types/node": "^26.0.0",
|
|
"@types/react": "^19.2.17",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react": "^5.2.0",
|
|
"electron": "^42.4.1",
|
|
"electron-builder": "^26.15.3",
|
|
"electron-vite": "^5.0.0",
|
|
"typescript": "^6.0.3",
|
|
"vite": "^7.3.5"
|
|
}
|
|
}
|