Zero-config PWA Plugin for VitePress
🚀
Features
-
📖 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
📦
Install
npm i @vite-pwa/vitepress -D
# yarn
yarn add @vite-pwa/vitepress -D
# pnpm
pnpm add @vite-pwa/vitepress -D
🦄
Usage
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
👀
Full config
Check out the type declaration src/types.ts and the following links for more details.
📄
License
MIT License © 2022-PRESENT Anthony Fu