Add core DDEV project management (list/describe/start/stop/restart)
Wire up the full stack for step 2 of the build plan: a ddev.ts CLI wrapper in the main process (execFile + JSON envelope parsing, with a PATH fallback since GUI apps on macOS don't inherit Homebrew's PATH), IPC handlers exposed through a typed preload window.api surface, TanStack Query hooks for polling/mutations, and a two-pane UI (project list sidebar + detail panel with URLs, services, and DB credentials). Verified end-to-end against a real scratch DDEV project: typecheck, lint, and tests pass, and the running app correctly displays live project data and reflects state changes (start/stop) via polling.
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
import { ipcMain } from 'electron'
|
||||
import { describeProject, listProjects, restartProject, startProject, stopProject } from '../ddev'
|
||||
|
||||
export function registerProjectsIpc(): void {
|
||||
ipcMain.handle('projects:list', () => listProjects())
|
||||
ipcMain.handle('projects:describe', (_event, name: string) => describeProject(name))
|
||||
ipcMain.handle('projects:start', (_event, name: string) => startProject(name))
|
||||
ipcMain.handle('projects:stop', (_event, name: string) => stopProject(name))
|
||||
ipcMain.handle('projects:restart', (_event, name: string) => restartProject(name))
|
||||
}
|
||||
Reference in New Issue
Block a user