Apply account enablement changes optimistically and persist rapid toggles sequentially without losing clicks. Refresh Mega-Debrid API and Web account pools during active downloads, isolate per-account cancellation budgets, rotate within the same conversion attempt, and keep pause, stop, resume, reset, and no-account gates consistent. Use the native Electron clipboard under Remote Desktop and make support bundle export bounded, redacted, responsive, guarded, visible, and atomic. Add end-to-end regressions for live account switching, persisted partial recovery, support export, native copy, availability preservation, and the 500 ms telemetry cadence.
110 lines
3.5 KiB
JSON
110 lines
3.5 KiB
JSON
{
|
|
"name": "real-debrid-downloader",
|
|
"version": "2.0.29",
|
|
"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"
|
|
}
|
|
}
|