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:
@@ -2,6 +2,7 @@ import { app, shell, BrowserWindow } from 'electron'
|
||||
import { join } from 'path'
|
||||
import { electronApp, optimizer, is } from '@electron-toolkit/utils'
|
||||
import icon from '../../resources/icon.png?asset'
|
||||
import { registerProjectsIpc } from './ipc/projects'
|
||||
|
||||
function createWindow(): void {
|
||||
// Create the browser window.
|
||||
@@ -50,6 +51,8 @@ app.whenReady().then(() => {
|
||||
optimizer.watchWindowShortcuts(window)
|
||||
})
|
||||
|
||||
registerProjectsIpc()
|
||||
|
||||
createWindow()
|
||||
|
||||
app.on('activate', function () {
|
||||
|
||||
Reference in New Issue
Block a user