HMR API
Org-press uses Vite's HMR system for instant updates during development.
Automatic HMR
Changes to org files automatically trigger HMR:
- Content changes reload the page content
- CSS changes apply instantly
- Code block changes re-execute
Custom HMR Handling
In your code blocks, you can handle HMR:
if (import.meta.hot) {
import.meta.hot.accept((newModule) => {
// Handle update
});
import.meta.hot.dispose(() => {
// Cleanup before update
});
}
HMR Events
if (import.meta.hot) {
import.meta.hot.on('vite:beforeUpdate', () => {
console.log('About to update');
});
import.meta.hot.on('vite:afterUpdate', () => {
console.log('Update complete');
});
}
Plugin HMR
Plugins can implement custom HMR behavior in their wrappers:
// In wrapper component
useEffect(() => {
if (import.meta.hot) {
import.meta.hot.accept();
}
}, []);