Keep package rows in their existing visible order across runtime state changes and remove obsolete automatic progress grouping. Require an active usable provider before starting or resuming downloads, recover temporary disk-write blocks without consuming normal retries, and surface disk waits and extraction failures at package level. Add focused regression coverage and prepare the v2.0.24 release metadata and changelog.
110 lines
3.5 KiB
JSON
110 lines
3.5 KiB
JSON
{
|
|
"name": "real-debrid-downloader",
|
|
"version": "2.0.24",
|
|
"description": "Desktop downloader",
|
|
"main": "build/main/main/main.js",
|
|
"author": "Sucukdeluxe",
|
|
"license": "MIT",
|
|
"scripts": {
|
|
"dev": "concurrently -k \"npm:dev:main:watch\" \"npm:dev:renderer\" \"npm:dev:electron\"",
|
|
"dev:renderer": "vite --port 5180 --strictPort",
|
|
"visual:dev": "vite --config tests/visual/vite.config.mts --host 127.0.0.1 --port 5174 --strictPort",
|
|
"dev:main:watch": "tsup src/main/main.ts src/preload/preload.ts --out-dir build/main --format cjs --target node20 --external electron --sourcemap --watch",
|
|
"dev:electron": "wait-on tcp:5180 file:build/main/main/main.js && cross-env NODE_ENV=development DEV_SERVER_PORT=5180 tsx scripts/run-dev-electron.ts",
|
|
"build": "npm run build:main && npm run build:renderer",
|
|
"build:main": "tsup src/main/main.ts src/preload/preload.ts --out-dir build/main --format cjs --target node20 --external electron --sourcemap",
|
|
"build:renderer": "vite build",
|
|
"start": "cross-env NODE_ENV=production electron .",
|
|
"test": "npm run test:client && npm run test:backup-api",
|
|
"test:client": "vitest run",
|
|
"test:backup-api": "npm --prefix services/backup-api test",
|
|
"start:backup-api": "npm --prefix services/backup-api start",
|
|
"self-check": "tsx tests/self-check.ts",
|
|
"release:win": "npm run build && electron-builder --publish never --win nsis portable",
|
|
"verify:release": "node scripts/verify_public_release.mjs"
|
|
},
|
|
"dependencies": {
|
|
"adm-zip": "0.6.0",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"uuid": "11.1.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/adm-zip": "^0.5.7",
|
|
"@types/node": "^24.0.13",
|
|
"@types/react": "^18.3.12",
|
|
"@types/react-dom": "^18.3.1",
|
|
"@types/uuid": "^10.0.0",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"concurrently": "^9.0.1",
|
|
"cross-env": "^7.0.3",
|
|
"electron": "^31.7.7",
|
|
"electron-builder": "^25.1.8",
|
|
"rcedit": "^5.0.2",
|
|
"tsup": "^8.3.6",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.7.3",
|
|
"vite": "^6.0.5",
|
|
"vitest": "^2.1.8",
|
|
"wait-on": "^8.0.1",
|
|
"yaml": "^2.9.0"
|
|
},
|
|
"build": {
|
|
"appId": "com.sucukdeluxe.realdebrid",
|
|
"productName": "Real-Debrid-Downloader",
|
|
"directories": {
|
|
"buildResources": "assets",
|
|
"output": "release"
|
|
},
|
|
"publish": {
|
|
"provider": "github",
|
|
"owner": "Sucukdeluxe",
|
|
"repo": "multi-debrid-downloader"
|
|
},
|
|
"files": [
|
|
"build/main/**/*",
|
|
"build/renderer/**/*",
|
|
"resources/extractor-jvm/**/*",
|
|
"LICENSE",
|
|
"THIRD_PARTY_NOTICES.md",
|
|
"package.json"
|
|
],
|
|
"extraResources": [
|
|
{
|
|
"from": "LICENSE",
|
|
"to": "LICENSE"
|
|
},
|
|
{
|
|
"from": "THIRD_PARTY_NOTICES.md",
|
|
"to": "THIRD_PARTY_NOTICES.md"
|
|
},
|
|
{
|
|
"from": "assets/app_icon.ico",
|
|
"to": "assets/app_icon.ico"
|
|
}
|
|
],
|
|
"asarUnpack": [
|
|
"resources/extractor-jvm/**/*"
|
|
],
|
|
"win": {
|
|
"target": [
|
|
"nsis",
|
|
"portable"
|
|
],
|
|
"icon": "assets/app_icon.ico",
|
|
"signAndEditExecutable": false
|
|
},
|
|
"nsis": {
|
|
"artifactName": "${productName}-Setup-${version}.${ext}",
|
|
"oneClick": false,
|
|
"perMachine": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"createDesktopShortcut": true
|
|
},
|
|
"portable": {
|
|
"artifactName": "${productName}-${version}-portable.${ext}"
|
|
},
|
|
"afterPack": "scripts/afterPack.cjs"
|
|
}
|
|
}
|