Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d72caee44 | ||
|
|
661165bd65 | ||
|
|
e8cd89d7e4 |
14
.github/workflows/release.yml
vendored
14
.github/workflows/release.yml
vendored
@@ -30,8 +30,18 @@ jobs:
|
|||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: pnpm install
|
run: pnpm install
|
||||||
|
|
||||||
- name: Type check
|
- name: Download yt-dlp binaries
|
||||||
run: pnpm run typecheck
|
run: |
|
||||||
|
# Download yt-dlp.exe for Windows
|
||||||
|
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe -o resources/yt-dlp.exe
|
||||||
|
|
||||||
|
# Download yt-dlp for macOS (for cross-platform builds)
|
||||||
|
# curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos -o resources/yt-dlp_macos
|
||||||
|
# chmod +x resources/yt-dlp_macos
|
||||||
|
|
||||||
|
# Download yt-dlp for Linux (for cross-platform builds)
|
||||||
|
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o resources/yt-dlp_linux
|
||||||
|
chmod +x resources/yt-dlp_linux
|
||||||
|
|
||||||
- name: Lint and format check
|
- name: Lint and format check
|
||||||
run: pnpm run check
|
run: pnpm run check
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "vidbee",
|
"name": "vidbee",
|
||||||
"version": "0.1.7",
|
"version": "0.1.8",
|
||||||
"description": "A modern Electron application for downloading videos and audios",
|
"description": "A modern Electron application for downloading videos and audios",
|
||||||
"main": "./out/main/index.js",
|
"main": "./out/main/index.js",
|
||||||
"author": "VidBee",
|
"author": "VidBee",
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
"build": "pnpm run typecheck && electron-vite build",
|
"build": "pnpm run typecheck && electron-vite build",
|
||||||
"postinstall": "electron-builder install-app-deps",
|
"postinstall": "electron-builder install-app-deps",
|
||||||
"build:unpack": "pnpm run build && electron-builder --dir",
|
"build:unpack": "pnpm run build && electron-builder --dir",
|
||||||
"build:win": "pnpm run build && electron-builder --win",
|
"build:win": "node scripts/check-ytdlp.js win && pnpm run build && electron-builder --win",
|
||||||
"build:mac": "pnpm run build && electron-builder --mac",
|
"build:mac": "node scripts/check-ytdlp.js mac && pnpm run build && electron-builder --mac",
|
||||||
"build:linux": "pnpm run build && electron-builder --linux",
|
"build:linux": "node scripts/check-ytdlp.js linux && pnpm run build && electron-builder --linux",
|
||||||
"release": "pnpm run check && bumpp"
|
"release": "pnpm run check && bumpp"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
48
scripts/check-ytdlp.js
Normal file
48
scripts/check-ytdlp.js
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
const fs = require('node:fs')
|
||||||
|
const path = require('node:path')
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if yt-dlp binary exists in resources directory
|
||||||
|
* Usage: node scripts/check-ytdlp.js [platform]
|
||||||
|
* Platform options: win, mac, linux
|
||||||
|
* Exit with error code 1 if not found
|
||||||
|
*/
|
||||||
|
function checkYtDlpExists(platform) {
|
||||||
|
const platformMap = {
|
||||||
|
win: 'yt-dlp.exe',
|
||||||
|
mac: 'yt-dlp_macos',
|
||||||
|
linux: 'yt-dlp_linux'
|
||||||
|
}
|
||||||
|
|
||||||
|
const filename = platformMap[platform]
|
||||||
|
if (!filename) {
|
||||||
|
console.error('❌ Error: Invalid platform specified!')
|
||||||
|
console.error('Usage: node scripts/check-ytdlp.js [win|mac|linux]')
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
const ytdlpPath = path.join(__dirname, '..', 'resources', filename)
|
||||||
|
|
||||||
|
if (!fs.existsSync(ytdlpPath)) {
|
||||||
|
console.error(`❌ Error: resources/${filename} not found!`)
|
||||||
|
console.error(`Please download ${filename} to the resources/ directory first.`)
|
||||||
|
console.error('You can download it from: https://github.com/yt-dlp/yt-dlp/releases/latest')
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`✅ ${filename} found in resources/ directory`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get platform from command line arguments
|
||||||
|
const platform = process.argv[2]
|
||||||
|
|
||||||
|
if (!platform) {
|
||||||
|
console.error('❌ Error: Platform argument is required!')
|
||||||
|
console.error('Usage: node scripts/check-ytdlp.js [win|mac|linux]')
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run the check
|
||||||
|
checkYtDlpExists(platform)
|
||||||
Reference in New Issue
Block a user