⚠️Early Alpha — Org-press is experimental. Perfect for hackers and tinkerers, not ready for production. Documentation may be incomplete or inaccurate.

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();
  }
}, []);