160 lines
5.5 KiB
JSON
160 lines
5.5 KiB
JSON
{
|
|
"name": "forgeflow",
|
|
"version": "0.10.0",
|
|
"private": true,
|
|
"description": "Desktop release cockpit for local Git, Gitea Actions and controlled exact-commit deployments.",
|
|
"main": "main.cjs",
|
|
"type": "module",
|
|
"scripts": {
|
|
"start": "electron .",
|
|
"dev": "electron . --dev",
|
|
"demo": "node scripts/serve-demo.mjs",
|
|
"test": "node --test tests/*.test.mjs",
|
|
"lint": "eslint .",
|
|
"coverage": "c8 --check-coverage --lines 75 --functions 75 --branches 65 --statements 75 node --test tests/*.test.mjs",
|
|
"verify": "node scripts/verify.mjs",
|
|
"dist:win": "electron-builder --win nsis portable && node scripts/write-release-checksums.mjs && node scripts/verify-release-signatures.mjs && node scripts/prune-dist.mjs",
|
|
"dist:win:signed": "node scripts/validate-signing-environment.mjs && electron-builder --config scripts/signed-electron-builder-config.cjs --win nsis portable && node scripts/write-release-checksums.mjs && node scripts/verify-release-signatures.mjs && node scripts/prune-dist.mjs",
|
|
"dist:linux": "electron-builder --linux AppImage && node scripts/prune-dist.mjs",
|
|
"dist:mac": "electron-builder --mac dmg && node scripts/prune-dist.mjs",
|
|
"doctor": "node scripts/doctor.mjs",
|
|
"acceptance": "node scripts/acceptance.mjs",
|
|
"acceptance:isolated": "node --test tests/production-acceptance.test.mjs",
|
|
"architecture:audit": "node scripts/architecture-audit.mjs",
|
|
"test:browser": "playwright test",
|
|
"test:browser:ci": "playwright test --reporter=line,html",
|
|
"test:signing": "powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/test-authenticode-chain.ps1",
|
|
"connections:check": "electron scripts/validate-installed-connections.cjs",
|
|
"deployments:audit": "electron scripts/audit-installed-deployments.cjs",
|
|
"release:binary": "electron scripts/publish-binary-release.cjs",
|
|
"manifest": "node scripts/generate-source-manifest.mjs",
|
|
"check": "npm run verify && npm run lint && npm test",
|
|
"quality": "npm run check && npm run coverage"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "9.39.5",
|
|
"@playwright/test": "1.62.0",
|
|
"c8": "12.0.0",
|
|
"electron": "43.2.0",
|
|
"electron-builder": "26.15.3",
|
|
"eslint": "9.39.5"
|
|
},
|
|
"build": {
|
|
"appId": "be.jenscaers.forgeflow",
|
|
"productName": "ForgeFlow",
|
|
"asar": true,
|
|
"files": [
|
|
"main.cjs",
|
|
"preload.cjs",
|
|
"src/**/*",
|
|
"package.json",
|
|
"build/icon.png",
|
|
"build/icon.ico",
|
|
"docs/SETUP_GUIDE.md",
|
|
"docs/DIAGNOSTICS.md",
|
|
"docs/STATUS_ENDPOINT.md",
|
|
"examples/gitea-actions/**/*",
|
|
"examples/server/**/*",
|
|
"README.md",
|
|
"START_HERE.md",
|
|
"docs/DEPLOYMENT_SETUP.md",
|
|
"docs/SECURITY.md",
|
|
"docs/TEST_MATRIX.md",
|
|
"docs/RELEASE_NOTES_0.3.0.md",
|
|
"docs/RELEASE_NOTES_0.3.1.md",
|
|
"docs/RELEASE_NOTES_0.3.2.md",
|
|
"docs/UPDATING.md",
|
|
"scripts/apply-source-update.ps1",
|
|
"scripts/apply-binary-update.ps1",
|
|
"scripts/prune-dist.mjs",
|
|
"docs/RELEASE_NOTES_0.4.0.md",
|
|
"docs/LUMAOPS_SERVER_AUDIT.md",
|
|
"docs/SSH_UNRAID_DEPLOYMENT.md",
|
|
"docs/RELEASE_NOTES_0.4.1.md",
|
|
"docs/RELEASE_NOTES_0.4.2.md",
|
|
"docs/RELEASE_NOTES_0.4.3.md",
|
|
"docs/RELEASE_NOTES_0.4.4.md",
|
|
"docs/RELEASE_NOTES_0.4.5.md",
|
|
"docs/RELEASE_NOTES_0.5.0.md",
|
|
"docs/RELEASE_NOTES_0.5.1.md",
|
|
"PUBLISH-AND-ENABLE-UPDATE.cmd",
|
|
"Publish-ForgeFlow-Release.ps1",
|
|
"Publish-Missing-Binary-Release.ps1",
|
|
"docs/RELEASE_NOTES_0.5.2.md",
|
|
"docs/RELEASE_NOTES_0.5.3.md",
|
|
"docs/RELEASE_NOTES_0.5.4.md",
|
|
"START-FORGEFLOW-OVERLAY.ps1",
|
|
"docs/RELEASE_NOTES_0.6.0.md",
|
|
"docs/RELEASE_AUDIT_0.6.0.md",
|
|
"docs/RELEASE_NOTES_0.6.1.md",
|
|
"docs/RELEASE_NOTES_0.7.0.md",
|
|
"docs/RELEASE_NOTES_0.8.0.md",
|
|
"docs/RELEASE_NOTES_0.8.1.md",
|
|
"docs/RELEASE_NOTES_0.8.2.md",
|
|
"docs/RELEASE_NOTES_0.8.3.md",
|
|
"docs/RELEASE_NOTES_0.8.4.md",
|
|
"docs/RELEASE_NOTES_0.8.5.md",
|
|
"docs/RELEASE_NOTES_0.8.6.md",
|
|
"docs/RELEASE_NOTES_0.8.7.md",
|
|
"docs/RELEASE_NOTES_0.8.8.md",
|
|
"docs/RELEASE_NOTES_0.8.9.md",
|
|
"docs/RELEASE_NOTES_0.9.0.md",
|
|
"docs/RELEASE_NOTES_0.9.1.md",
|
|
"docs/ACCEPTANCE.md",
|
|
"docs/RELEASE_NOTES_0.9.2.md",
|
|
"docs/RELEASE_NOTES_0.9.3.md",
|
|
"docs/RELEASE_NOTES_0.9.4.md",
|
|
"docs/RELEASE_NOTES_0.9.5.md",
|
|
"docs/RELEASE_NOTES_0.10.0.md",
|
|
"docs/CURRENT_STATE.md",
|
|
"docs/MUTATION_MODEL.md",
|
|
"docs/RELEASING.md",
|
|
"docs/COVERAGE_POLICY.md",
|
|
"docs/DEPENDENCY_AUDIT.md",
|
|
"docs/PRODUCTION_READINESS_1.0.md",
|
|
"docs/ERROR_CODES.md"
|
|
],
|
|
"asarUnpack": [
|
|
"scripts/apply-binary-update.ps1"
|
|
],
|
|
"directories": {
|
|
"output": "dist"
|
|
},
|
|
"win": {
|
|
"target": [
|
|
"nsis",
|
|
"portable"
|
|
],
|
|
"icon": "build/icon.ico"
|
|
},
|
|
"nsis": {
|
|
"artifactName": "${productName}-Setup-${version}-${os}-${arch}.${ext}"
|
|
},
|
|
"portable": {
|
|
"artifactName": "${productName}-Portable-${version}-${os}-${arch}.${ext}"
|
|
},
|
|
"linux": {
|
|
"target": [
|
|
"AppImage"
|
|
],
|
|
"category": "Development",
|
|
"icon": "build/icon.png"
|
|
},
|
|
"mac": {
|
|
"target": [
|
|
"dmg"
|
|
],
|
|
"category": "public.app-category.developer-tools",
|
|
"icon": "build/icon.png"
|
|
},
|
|
"artifactName": "${productName}-${version}-${os}-${arch}.${ext}"
|
|
},
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"author": "Jens",
|
|
"dependencies": {
|
|
"ssh2": "1.17.0"
|
|
}
|
|
}
|