Teach ESLint the classic renderer and mixed CommonJS harness runtimes while retaining actionable rules. Add deterministic credential, lockfile, release-manifest, and lint contracts plus equivalent GitHub and Gitea Windows pipelines. Gate clean installs, focused offline smoke coverage, builds, packaged launches, and silent installer verification without enabling authenticated network tests.
105 lines
4.1 KiB
JSON
105 lines
4.1 KiB
JSON
{
|
|
"name": "twitch-vod-manager",
|
|
"version": "1.0.5",
|
|
"description": "Twitch VOD Manager - Download Twitch VODs easily",
|
|
"main": "dist/main.js",
|
|
"author": "Sucukdeluxe",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=22.13.0"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"lint": "eslint .",
|
|
"security:check": "node scripts/security-check.js && node scripts/smoke-test-public-release-config.js",
|
|
"start": "npm run build && electron .",
|
|
"dev": "node scripts/dev.mjs",
|
|
"test:unit": "vitest run --passWithNoTests",
|
|
"test:unit:watch": "vitest",
|
|
"test:e2e:update-logic": "node scripts/smoke-test-update-version-logic.js",
|
|
"test:e2e:public-release": "node scripts/smoke-test-public-release-config.js",
|
|
"test:e2e": "node scripts/smoke-test.js",
|
|
"test:e2e:guide": "node scripts/smoke-test-template-guide.js",
|
|
"test:e2e:full": "node scripts/smoke-test-full.js",
|
|
"test:e2e:workspace-ui": "npm run build && node scripts/smoke-test-workspace-ui.js",
|
|
"test:e2e:cutter": "npm run build && node scripts/smoke-test-cutter.js",
|
|
"test:e2e:isolation": "node scripts/smoke-test-e2e-isolation-contract.js",
|
|
"test:capability-contract": "node scripts/smoke-test-file-capability-contract.js",
|
|
"test:e2e:settings-autosave": "node scripts/smoke-test-settings-autosave.js",
|
|
"test:e2e:focused": "npm run test:e2e:isolation && npm run test:e2e:workspace-ui",
|
|
"test:security": "node --test scripts/security-check.test.js",
|
|
"test:lint-config": "node --test scripts/lint-config.test.mjs",
|
|
"test:ci-contract": "node scripts/smoke-test-ci-contract.js",
|
|
"test:packaged-launch": "node scripts/smoke-test-packaged-launch.js",
|
|
"test:installer": "node scripts/smoke-test-installer.js",
|
|
"test:e2e:release": "npm run build && npm run test:unit && npm run test:capability-contract && npm run test:e2e:update-logic && npm run test:merge-split && npm run test:e2e:public-release && npm run test:e2e:workspace-ui && node scripts/smoke-test-cutter.js && npm run test:e2e:isolation && npm run test:e2e && npm run test:e2e:guide && npm run test:e2e:full && npm run test:e2e:settings-autosave",
|
|
"test:e2e:stress": "npm run test:e2e:release && npm run test:e2e:release && npm run test:e2e:release",
|
|
"pack": "npm run build && electron-builder --dir",
|
|
"dist": "npm run build && electron-builder",
|
|
"dist:win": "npm run test:e2e:release && electron-builder --win",
|
|
"dist:ci": "electron-builder --win nsis",
|
|
"test:merge-split": "node scripts/smoke-test-merge-split-logic.js"
|
|
},
|
|
"dependencies": {
|
|
"axios": "^1.16.1",
|
|
"better-sqlite3": "^13.0.3",
|
|
"electron-updater": "^6.8.9"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/node": "^20.10.0",
|
|
"electron": "^43.3.0",
|
|
"electron-builder": "^26.15.7",
|
|
"eslint": "^10.4.0",
|
|
"eslint-plugin-security": "^4.0.0",
|
|
"globals": "^16.4.0",
|
|
"playwright": "^1.60.0",
|
|
"typescript": "^5.3.0",
|
|
"typescript-eslint": "^8.59.4",
|
|
"vitest": "^4.1.6"
|
|
},
|
|
"build": {
|
|
"appId": "io.github.sucukdeluxe.twitch-vod-manager",
|
|
"productName": "Twitch VOD Manager",
|
|
"files": [
|
|
"dist/**/*",
|
|
"src/index.html",
|
|
"src/styles.css",
|
|
"src/workspace.css",
|
|
"build/icon.png",
|
|
"package.json"
|
|
],
|
|
"extraResources": [
|
|
{
|
|
"from": "build/icon.ico",
|
|
"to": "app-icons/icon-${version}.ico"
|
|
}
|
|
],
|
|
"directories": {
|
|
"output": "release"
|
|
},
|
|
"win": {
|
|
"target": "nsis",
|
|
"icon": "build/icon.ico",
|
|
"signExecutable": false,
|
|
"artifactName": "Twitch-VOD-Manager-Setup-${version}.${ext}"
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"deleteAppDataOnUninstall": false,
|
|
"createDesktopShortcut": true,
|
|
"createStartMenuShortcut": true,
|
|
"shortcutName": "Twitch VOD Manager v${version}",
|
|
"installerIcon": "build/icon.ico",
|
|
"uninstallerIcon": "build/icon.ico",
|
|
"include": "build/installer.nsh"
|
|
},
|
|
"publish": {
|
|
"provider": "generic",
|
|
"url": "https://github.com/Sucukdeluxe/Twitch-VOD-Manager/releases/latest/download/"
|
|
}
|
|
}
|
|
}
|