963 markdown files reformatted with the repository's pinned prettier so pnpm format:check covers the folded tree like every other repo file. The formatter's embedded-language pass also normalized code fences (TS semicolons, closed HTML tags in examples, lowercased CSS hex colors, one renumbered list that skipped an index). Alphanumeric token deltas vs the fold commit were audited file-by-file; all are formatter-equivalent markup normalizations plus the four sanitized skills.
1.4 KiB
1.4 KiB
name, description
| name | description |
|---|---|
| hot-module-replacement | Enable HMR to preserve store state during development |
Hot Module Replacement (HMR)
Pinia supports HMR to edit stores without page reload, preserving existing state.
Setup
Add this snippet after each store definition:
import { defineStore, acceptHMRUpdate } from 'pinia';
export const useAuth = defineStore('auth', {
// store options...
});
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useAuth, import.meta.hot));
}
Setup Store Example
import { defineStore, acceptHMRUpdate } from 'pinia';
export const useCounterStore = defineStore('counter', () => {
const count = ref(0);
const increment = () => count.value++;
return { count, increment };
});
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useCounterStore, import.meta.hot));
}
Bundler Support
- Vite: Officially supported via
import.meta.hot - Webpack: Uses
import.meta.webpackHot - Any bundler implementing the
import.meta.hotspec should work
Nuxt
With @pinia/nuxt, acceptHMRUpdate is auto-imported but you still need to add the HMR snippet manually.
Benefits
- Edit store logic without losing state
- Add/remove state, actions, and getters on the fly
- Faster development iteration