@vite-pwa/vitepress

Zero-config PWA for VitePress
2,407,115 50
Install
npm install @vite-pwa/vitepress
Latest Version:2.0.1
Vue:3
License:MIT
Last Updated:Oct 26, 2026
Links: GitHub  ·  npm
Maintainer: antfu

@vite-pwa/vitepress - Zero-config PWA for VitePress

NPM version NPM Downloads Docs & Guides
GitHub stars


Anthony Fu SVG sponsors image

🚀 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: client virtual modules are strictly optimized for Dead Code Elimination.
  • 📄 Web Manifest: auto-inject Web App Manifest and PWA assets seamlessly.
  • 💬 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
  • 🔍 Inspector: visually inspect your resolved configuration, web manifest and service worker during development, via middleware or DevFrame
  • 🧩 Modular: use the ready-to-use plugins or compose your own integration from the building blocks in @unplugin-pwa/core and @unplugin-pwa/vite
  • 📦 Universal Bundlers: native integration with Vite, Rolldown, Webpack (WIP), Rspack (WIP), and Rsbuild (WIP).
  • 🛠️ Meta-Frameworks: seamless integration with îles, SvelteKit, VitePress, Astro, Nuxt 3/4/5, React Router, TanStack and Next (WIP).
  • 💥 PWA Assets Generator: generate all the PWA assets from a single command and a single source image
  • 🚀 PWA Assets Integration: serving, generating and injecting PWA Assets on the fly in your application

📦 Install

From v2.0.0 @vite-pwa/vitepress using @unplugin-pwa/vite and @vite-pwa/workbox-build. Requires Node 22.14.0 or above.

From v0.3.0, @vite-pwa/vitepress requires Vite 5 and VitePress 1.0.0-rc.26 or above.

Using any version older than v0.3 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

🦄 Usage

You will need to wrap your VitePress config with withPwa:

// .vitepress/config.ts
import { withPwa } from '@vite-pwa/vitepress'
import { defineConfig } from '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.

👀 Full config

Check out the type declaration src/types.ts and the following links for more details.

📄 License

MIT License © 2022-PRESENT Anthony Fu

Related Packages

@vite-pwa/astro

Zero-config PWA for Astro

713,343 321
vite-plugin-pwa

Zero-config PWA for Vite

140,031,941 4,301
vitepress

Vite & Vue powered static site generator

31,068,469 18,441
@brc-dd/vitepress

Vite & Vue powered static site generator

6,020
vitepress-zhoulujun

Vite & Vue powered static site generator。等不及官方修复,个人适配版本。比如死链...

4,914 4

Version History

Version Released License
2.0.1 MIT
2.0.0 MIT
1.1.0 MIT
1.0.1 MIT
1.0.0 MIT