refactor: split renderer ipc and unraid domains

This commit is contained in:
NuklearRabbit
2026-07-29 18:11:07 +02:00
parent 5d3731a853
commit 7b05c953b6
36 changed files with 9316 additions and 8330 deletions
+669
View File
@@ -0,0 +1,669 @@
{
"generatedAt": "2026-07-29T16:10:50.148Z",
"thresholds": {
"preferredMaximumLines": 750,
"justificationRequiredLines": 1000
},
"over750": [],
"over1000": [],
"cyclomaticHotspots": [
{
"file": "src/main/server-inventory.cjs",
"lines": 578,
"branches": 89,
"functions": 104,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 119
},
{
"file": "src/renderer/actions/shell.js",
"lines": 481,
"branches": 89,
"functions": 81,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer"
],
"hotspotScore": 109
},
{
"file": "src/main/git-service.cjs",
"lines": 632,
"branches": 98,
"functions": 109,
"ipcHandlers": 0,
"responsibilities": [
"git"
],
"hotspotScore": 98
}
],
"mixedResponsibilityModules": [
{
"file": "src/main/server-inventory.cjs",
"lines": 578,
"branches": 89,
"functions": 104,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 119
},
{
"file": "src/renderer/app.js",
"lines": 669,
"branches": 74,
"functions": 110,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"security",
"updates"
],
"hotspotScore": 114
},
{
"file": "src/renderer/actions/shell.js",
"lines": 481,
"branches": 89,
"functions": 81,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer"
],
"hotspotScore": 109
},
{
"file": "src/main/ipc.cjs",
"lines": 749,
"branches": 55,
"functions": 79,
"ipcHandlers": 27,
"responsibilities": [
"inventory",
"deployment",
"git",
"ipc",
"renderer",
"security",
"updates"
],
"hotspotScore": 105
},
{
"file": "src/main/unraid-deployment-methods.cjs",
"lines": 577,
"branches": 69,
"functions": 31,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 99
},
{
"file": "src/renderer/views.js",
"lines": 695,
"branches": 52,
"functions": 138,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"security",
"updates"
],
"hotspotScore": 92
},
{
"file": "src/renderer/actions/setup-and-settings.js",
"lines": 427,
"branches": 58,
"functions": 58,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"renderer",
"security",
"updates"
],
"hotspotScore": 88
},
{
"file": "src/main/gitea-service.cjs",
"lines": 618,
"branches": 66,
"functions": 57,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 86
},
{
"file": "src/main/unraid-inventory-methods.cjs",
"lines": 580,
"branches": 56,
"functions": 75,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 86
},
{
"file": "src/renderer/actions/deployment-profile.js",
"lines": 402,
"branches": 56,
"functions": 43,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"security"
],
"hotspotScore": 86
},
{
"file": "main.cjs",
"lines": 442,
"branches": 33,
"functions": 53,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"ipc",
"renderer",
"security",
"updates"
],
"hotspotScore": 83
},
{
"file": "src/main/unraid-preflight-methods.cjs",
"lines": 594,
"branches": 38,
"functions": 42,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"security",
"updates"
],
"hotspotScore": 78
},
{
"file": "src/main/config-store.cjs",
"lines": 615,
"branches": 47,
"functions": 82,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 77
},
{
"file": "src/main/unraid-runtime-methods.cjs",
"lines": 388,
"branches": 37,
"functions": 38,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"security",
"updates"
],
"hotspotScore": 77
},
{
"file": "src/renderer/actions/recovery.js",
"lines": 356,
"branches": 56,
"functions": 38,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"renderer",
"updates"
],
"hotspotScore": 76
},
{
"file": "src/renderer/dialogs.js",
"lines": 320,
"branches": 34,
"functions": 65,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"security",
"updates"
],
"hotspotScore": 74
},
{
"file": "src/main/unraid-access-methods.cjs",
"lines": 448,
"branches": 43,
"functions": 42,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 73
},
{
"file": "src/main/ssh-service.cjs",
"lines": 333,
"branches": 41,
"functions": 69,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 61
},
{
"file": "src/main/deploy-key-lifecycle-service.cjs",
"lines": 192,
"branches": 31,
"functions": 38,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 61
},
{
"file": "src/renderer/events.js",
"lines": 170,
"branches": 30,
"functions": 25,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"security"
],
"hotspotScore": 60
},
{
"file": "src/main/unraid-deployment-service.cjs",
"lines": 525,
"branches": 35,
"functions": 48,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security"
],
"hotspotScore": 55
},
{
"file": "src/main/diagnostics-service.cjs",
"lines": 357,
"branches": 34,
"functions": 50,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 54
},
{
"file": "src/renderer/actions/inventory.js",
"lines": 186,
"branches": 24,
"functions": 32,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"updates"
],
"hotspotScore": 54
},
{
"file": "src/renderer/actions/deployment-operation.js",
"lines": 184,
"branches": 34,
"functions": 26,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"renderer",
"updates"
],
"hotspotScore": 54
},
{
"file": "src/main/ipc/deployment-handlers.cjs",
"lines": 285,
"branches": 13,
"functions": 38,
"ipcHandlers": 24,
"responsibilities": [
"inventory",
"deployment",
"git",
"ipc",
"security",
"updates"
],
"hotspotScore": 53
},
{
"file": "preload.cjs",
"lines": 158,
"branches": 2,
"functions": 119,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"ipc",
"renderer",
"security",
"updates"
],
"hotspotScore": 52
},
{
"file": "src/renderer/mock-deployment-bridge.js",
"lines": 661,
"branches": 11,
"functions": 83,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"renderer",
"security",
"updates"
],
"hotspotScore": 51
},
{
"file": "src/main/inventory-classifier.cjs",
"lines": 72,
"branches": 20,
"functions": 11,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 50
},
{
"file": "src/renderer/operations.js",
"lines": 212,
"branches": 19,
"functions": 26,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"renderer",
"security",
"updates"
],
"hotspotScore": 49
},
{
"file": "src/main/unraid-state-methods.cjs",
"lines": 283,
"branches": 15,
"functions": 20,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 45
},
{
"file": "src/main/preflight-service.cjs",
"lines": 209,
"branches": 24,
"functions": 34,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"renderer",
"security"
],
"hotspotScore": 44
},
{
"file": "src/renderer/mock-bridge.js",
"lines": 590,
"branches": 17,
"functions": 54,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 37
},
{
"file": "src/renderer/mock-repository-bridge.js",
"lines": 636,
"branches": 13,
"functions": 89,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 33
},
{
"file": "src/main/repository-service.cjs",
"lines": 200,
"branches": 12,
"functions": 32,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 32
},
{
"file": "src/main/deployment-identity.cjs",
"lines": 36,
"branches": 0,
"functions": 11,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 30
},
{
"file": "src/main/ipc/operations-handlers.cjs",
"lines": 101,
"branches": 8,
"functions": 14,
"ipcHandlers": 9,
"responsibilities": [
"deployment",
"git",
"ipc",
"renderer"
],
"hotspotScore": 28
},
{
"file": "src/main/inventory-review-service.cjs",
"lines": 32,
"branches": 8,
"functions": 4,
"ipcHandlers": 0,
"responsibilities": [
"inventory",
"deployment",
"git",
"updates"
],
"hotspotScore": 28
},
{
"file": "src/main/unraid-deploy-key-host.cjs",
"lines": 77,
"branches": 7,
"functions": 22,
"ipcHandlers": 0,
"responsibilities": [
"deployment",
"git",
"security",
"updates"
],
"hotspotScore": 27
}
],
"ipcHotspots": [
{
"file": "src/main/ipc.cjs",
"lines": 749,
"branches": 55,
"functions": 79,
"ipcHandlers": 27,
"responsibilities": [
"inventory",
"deployment",
"git",
"ipc",
"renderer",
"security",
"updates"
],
"hotspotScore": 105
},
{
"file": "src/main/ipc/deployment-handlers.cjs",
"lines": 285,
"branches": 13,
"functions": 38,
"ipcHandlers": 24,
"responsibilities": [
"inventory",
"deployment",
"git",
"ipc",
"security",
"updates"
],
"hotspotScore": 53
},
{
"file": "src/main/ipc/repository-handlers.cjs",
"lines": 390,
"branches": 16,
"functions": 75,
"ipcHandlers": 47,
"responsibilities": [
"git",
"ipc"
],
"hotspotScore": 16
}
]
}
+27
View File
@@ -0,0 +1,27 @@
# ForgeFlow architecture audit
Generated 2026-07-29T16:10:50.148Z. Complexity is a deterministic decision-point count used for hotspot ranking, not a claim of exact McCabe complexity.
## Files above 750 lines
| File | Lines | Decisions | Functions | IPC handlers | Responsibilities |
|---|---:|---:|---:|---:|---|
No findings.
## Files above 1,000 lines
| File | Lines | Decisions | Functions | IPC handlers | Responsibilities |
|---|---:|---:|---:|---:|---|
No findings.
## Cyclomatic hotspots
| File | Lines | Decisions | Functions | IPC handlers | Responsibilities |
|---|---:|---:|---:|---:|---|
| `src/main/server-inventory.cjs` | 578 | 89 | 104 | 0 | inventory, deployment, git, security, updates |
| `src/renderer/actions/shell.js` | 481 | 89 | 81 | 0 | inventory, deployment, git, renderer |
| `src/main/git-service.cjs` | 632 | 98 | 109 | 0 | git |
## Interpretation
Files above 750 lines require decomposition. Files above 1,000 lines are release blockers unless a concrete technical exception is documented. Mixed responsibility and IPC hotspot lists are available in the JSON report.