Zero-config PWA Plugin for VitePress
- π Documentation & guides
- π Zero-Config: sensible built-in default configs for common use cases
- π© Extensible: expose the full ability to customize the behavior of the plugin
- π¦Ύ Type Strong: written in TypeScript
- π Offline Support: generate service worker with offline support (via Workbox)
- β‘ Fully tree shakable: auto inject Web App Manifest
- π¬ Prompt for new content: built-in support for Vanilla JavaScript, Vue 3, React, Svelte, SolidJS and Preact
- βοΈ Stale-while-revalidate: automatic reload when new content is available
- β¨ Static assets handling: configure static assets for offline support
- π Development Support: debug your custom service worker logic as you develop your application
Requires Vite 3.1.0+
npm i @vite-pwa/vitepress -D
# yarn
yarn add @vite-pwa/vitepress -D
# pnpm
pnpm add @vite-pwa/vitepress -D
You will need wrap your VitePress config with withPwa
:
// .vitepress/config.ts
import { defineConfig } from 'vitepress'
import { withPwa } from '@vite-pwa/vitepress'
export default withPwa(defineConfig({
/* your VitePress options */
/* Vite PWA Options */
pwa: {}
}))
Read the π documentation for a complete guide on how to configure and use this plugin.
Check out the type declaration src/types.ts and the following links for more details.
MIT License Β© 2022-PRESENT Anthony Fu