Part of EPIC #698.
Current loop (measured 4.1–4.9s per edit on a small module, warm instance): vite watch rebuild (dual client+SSR) → yarn pack → POST dist/package.tgz to the provisioning API → full OSGi bundle restart → GraalVM context recycling → manual browser refresh. It is a module redeploy, not code replacement. Astro's equivalent loop is 0.08–0.21s with HMR and no refresh.
Proposals, in increasing ambition:
- Skip
yarn pack + provisioning for dev: POST only changed files, or mount the module's dist/ and reload from disk.
- Engine dev mode: reload a module's server bundle in place (new GraalVM source, re-run registrations) without the OSGi restart.
- A true
jahia dev front server: vite middleware serves client bundles + CSS with real HMR (islands and styles patch in place), proxying page rendering to the Jahia instance. Server-view edits trigger an in-place bundle reload (2).
Target: sub-second for client/CSS changes, ≤1s for server view changes, no manual refresh (auto-reload signal at minimum).
Part of EPIC #698.
Current loop (measured 4.1–4.9s per edit on a small module, warm instance): vite watch rebuild (dual client+SSR) →
yarn pack→ POSTdist/package.tgzto the provisioning API → full OSGi bundle restart → GraalVM context recycling → manual browser refresh. It is a module redeploy, not code replacement. Astro's equivalent loop is 0.08–0.21s with HMR and no refresh.Proposals, in increasing ambition:
yarn pack+ provisioning for dev: POST only changed files, or mount the module'sdist/and reload from disk.jahia devfront server: vite middleware serves client bundles + CSS with real HMR (islands and styles patch in place), proxying page rendering to the Jahia instance. Server-view edits trigger an in-place bundle reload (2).Target: sub-second for client/CSS changes, ≤1s for server view changes, no manual refresh (auto-reload signal at minimum).