{ "name": "twitch-vod-manager", "version": "1.0.21", "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": "node scripts/dev.mjs --once", "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:queue-cards": "npm run build && node scripts/smoke-test-queue-cards.js", "test:e2e:cutter": "npm run build && node scripts/smoke-test-cutter.js", "test:e2e:cutter-matrix": "npm run build && node scripts/smoke-test-cutter-media-matrix.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 && npm run test:e2e:queue-cards", "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:installer-contract": "node --test scripts/smoke-test-installer.test.js", "test:managed-tools-contract": "node --test scripts/smoke-test-managed-tools-live.test.js", "test:cutter-matrix-contract": "node --test scripts/smoke-test-cutter-media-matrix.test.js", "test:managed-tools-live": "node scripts/smoke-test-managed-tools-live.js", "test:live-integration-contract": "npm run build && node --test scripts/smoke-test-live-integration.test.js", "test:live:twitch": "node scripts/smoke-test-live-integration.js twitch", "test:live:updater-postpublish": "node scripts/smoke-test-live-integration.js updater", "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:installer-contract && npm run test:managed-tools-contract && npm run test:cutter-matrix-contract && npm run test:live-integration-contract && 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 && node scripts/smoke-test-cutter-media-matrix.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/**/*", "!dist/**/*.test.js", "!dist/main/dev-executable.js", "!dist/main/index.js", "!dist/types.js", "src/index.html", "src/styles.css", "src/styles-workflows.css", "src/styles-overlays.css", "src/workspace.css", "src/workspace-refinements.css", "build/icon.png", "package.json", "!node_modules/better-sqlite3/build/**", "!node_modules/better-sqlite3/deps/**", "!node_modules/better-sqlite3/src/**", "!node_modules/{agent-base,axios,builder-util-runtime,electron-updater,https-proxy-agent,js-yaml,lazy-val}/**/*.map", "!node_modules/agent-base/src/{index,promisify}.ts", "!node_modules/{call-bind-apply-helpers,dunder-proto,es-define-property,es-set-tostringtag,function-bind,get-intrinsic,get-proto,has-symbols,has-tostringtag,hasown}/.nycrc", "!node_modules/delayed-stream/Makefile", "!node_modules/node-addon-api/{common,except,noexcept}.gypi", "!node_modules/node-addon-api/{node_addon_api,node_api}.gyp", "!node_modules/node-addon-api/nothing.c", "!node_modules/node-addon-api/{napi-inl.deprecated,napi-inl,napi}.h", "!node_modules/better-sqlite3/prebuilds/{darwin-arm64,darwin-x64,linux-arm64,linux-x64,linuxmusl-arm64,linuxmusl-x64,win32-arm64}.node" ], "extraResources": [ { "from": "build/icon.ico", "to": "app-icons/icon-${version}.ico" } ], "directories": { "output": "release" }, "win": { "target": "nsis", "icon": "build/icon.ico", "artifactName": "Twitch-VOD-Manager-Setup-${version}.${ext}" }, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true, "deleteAppDataOnUninstall": false, "createDesktopShortcut": true, "createStartMenuShortcut": true, "shortcutName": "Twitch VOD Manager", "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/" } } }