Load the stored archive password list through a dedicated trusted IPC channel when extraction settings are opened. Preserve write-only drafts across settings and account updates, guard unsaved edits against late responses, and invalidate stale loads during backup imports. Prepare version 2.0.46 with public release notes.
110 lines
3.5 KiB
JSON
110 lines
3.5 KiB
JSON
{
|
|
"name": "multi-debrid-downloader",
|
|
"version": "2.0.46",
|
|
"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": "Multi-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"
|
|
}
|
|
}
|