ID:WORK-096Status:ready
Vite plugin — dev server HMR
Implement hot module replacement for .md file changes during development. When a markdown file is saved, re-transform it and trigger a page update.
Priority:mediumComplexity:simpleMilestone:v1.0.0Source:SPEC-031
Acceptance Criteria
- File watcher detects
.mdchanges in dev mode - Changed file is re-transformed through the full pipeline (parse → transform → render)
- Vite module graph is invalidated for the changed file via
server.moduleGraph.invalidateModule() - Browser receives update (full reload — same approach as existing sveltekit HMR)
- Level 2 warnings for cross-page runes display in terminal on file change
- No unnecessary re-transforms of unchanged files in Level 1 mode
Approach
- Implement
src/hmr.ts— hooks into Vite'sconfigureServerandhandleHotUpdate - On
.mdfile change: invalidate module, send full reload - Reference
packages/sveltekit/src/content-hmr.tsfor existing pattern
Dependencies
- Create @refrakt-md/vite plugin — Level 1 static transform — core plugin must exist first
References
- Vite Plugin — Framework-Agnostic Rune Integration (Dev Server section)
packages/sveltekit/src/content-hmr.ts— existing HMR implementation