Skip to content
PluginStats

vite-plugin-prerender weekly downloads statistics

By Rudeus3Greyrat · npm · Vite plugins

Flexible, framework-agnostic static site generation for sites and SPAs built with vite.

View on npm Fresh · Oct 17, 2026

vite-plugin-prerender has 3,963 recorded weekly downloads on npm, a decrease of 54.4% over the past 30 days.

It ranks #1148 of 2,251 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by -69.0%.

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
3,963
Official API · Oct 17, 2026
7-day growth
-53.2%
-4.5K weekly downloads
30-day growth
-54.4%
-4.7K weekly downloads
90-day growth
-69.0%
-8.8K weekly downloads
Rank
#1148
Among tracked npm listings

About vite-plugin-prerender

vite-plugin-prerender

[![npm][npm-img]][npm-url] [![downloads][downloads-img]][downloads-url] [![github][github-img]][github-url] [![license][license-img]][license-url]

_Flexible, framework-agnostic static site generation for sites and SPAs built with Vite._

It is inspired by prerender-spa-plugin

✅ Support any framework including Vue, React

✅ Flexible customised configuration

Install (yarn or npm)

node version: >=12.0.0

vite version: >=2.0.0

or

Basic Usage (vite.config.js)

Advanced Usage (vite.config.js)

Documentation

Plugin Options

| Option | Type | Required? | Default | Description |

| staticDir | String | Yes | None | The root path to serve your app from. | | outputDir | String | No | None | Where the prerendered pages should be output. If not set, defaults to staticDir. | | indexPath | String | No | staticDir/index.html | The index file to fall back on for SPAs. | | postProcess | Function(Object context): [Object \| Promise] | No | None | See the Using the postProcess Option section. | | minify | Object | No | None | Minifies the resulting HTML using html-minifier. Full list of options available here. | | server | Object | No | None | App server configuration options (See below) | | renderer | Renderer Instance or Configuration Object | No | new PuppeteerRenderer() | The renderer you'd like to use to prerender the app. It's recommended that you specify this, but if not it will default to @prerenderer/renderer-puppeteer. |

Server Options

| Option | Type | Required? | Default | Description |

| port | Integer | No | First free port after 8000 | The port for the app server to run on. | | proxy | Object | No | No proxying | Proxy configuration. |

Using The postProcess Option

The postProcess(Object context): Object | Promise function in your renderer configuration allows you to adjust the output of prerender-spa-plugin before writing it to a file. It is called once per rendered route and is passed a context object in the form of:

You can modify context.html to change what gets written to the prerendered files and/or modify context.route or context.outputPath to change the output location.

You are expected to adjust those properties as needed, then return the context object, or a promise that resolves to it like so:

@prerenderer/renderer-puppeteer options

| Option | Type | Required? | Default | Description |

| maxConcurrentRoutes | Number | No | 0 (No limit) | The number of routes allowed to be rendered at the same time. Useful for breaking down massive batches of routes into smaller chunks. | | inject | Object | No | None | An object to inject into the global scope of the rendered page before it finishes loading. Must be JSON.stringifiy-able. The property injected to is window['__PRERENDER_INJECTED'] by default. | | injectProperty | String | No | __PRERENDER_INJECTED | The property to mount inject to during rendering. | | renderAfterDocumentEvent | String | No | None | Wait to render until the specified event is fired on the document. (You can fire an event like so: document.dispatchEvent(new Event('custom-render-trigger')) | | renderAfterElementExists | String (Selector) | No | None | Wait to render until the specified element is detected using document.querySelector | | renderAfterTime | Integer (Milliseconds) | No | None | Wait to render until a certain amount of time has passed. | | skipThirdPartyRequests | Boolean | No | false | Automatically block any third-party requests. (This can make your pages load faster by not loading non-essential scripts, styles, or fonts.) | | consoleHandler | function(route: String, message: ConsoleMessage) | No | None | Allows you to provide a custom console.\* handler for pages. Argument one to your function is the route being rendered, argument two is the Puppeteer ConsoleMessage object. | | [[Puppeteer Launch Options]](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerlaunchoptions) | ? | No | None | Any additional options will be passed to puppeteer.launch(), such as headless: false. |

@prerenderer/renderer-jsdom options

| Option | Type | Required? | Default | Description |

| maxConcurrentRoutes | Number | No | 0 (No limit) | The number of routes allowed to be rendered at the same time. Useful for breaking down massive batches of routes into smaller chunks. | | inject | Object | No | None | An object to inject into the global scope of the rendered page before it finishes loading. Must be JSON.stringifiy-able. The property injected to is window['__PRERENDER_INJECTED'] by default. | | injectProperty | String | No | __PRERENDER_INJECTED | The property to mount inject to during rendering. | | renderAfterDocumentEvent | String | No | None | Wait to render until the specified event is fired on the document. (You can fire an event like so: document.dispatchEvent(new Event('custom-render-trigger')) | | renderAfterElementExists | String (Selector) | No | None | Wait to render until the specified element is detected using document.querySelector | | renderAfterTime | Integer (Milliseconds) | No | None | Wait to render until a certain amount of time has passed. |

License

MIT

Description from the npm listing.

  • vite
  • vite-plugin
  • prerender
  • Rudeus3Greyrat

Where vite-plugin-prerender sits in the listing

Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

All npm2,248 listings · 113 pages · page 58, #8 (overall #1148)
All npm: every listing in weekly downloads order
PNG SVG
Vite plugins250 listings · 13 pages · page 11, #15 (overall #215)
Vite plugins: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

vite-plugin-prerender weekly downloads on npm, last 90 days: 3,963 weekly downloads as of Oct 17, 2026, -69.0% over 90 days.vite-plugin-prerenderWeekly downloads on npm · Last 90 days3,963downloads / week-69.0% over 90 days02K4K6K8K10K12K14KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
vite-plugin-prerender weekly downloads on npm, last 90 days: 3,963 weekly downloads as of Oct 17, 2026, -69.0% over 90 days.
PNG SVG

7/30/90-day growth

vite-plugin-prerender weekly downloads growth on npm: -53.2% over 7 days, -54.4% over 30 days, -69.0% over 90 days.vite-plugin-prerenderWeekly downloads growth on npm3,963downloads / week now7-day growth-4,513 weekly downloads-53.2%30-day growth-4,733 weekly downloads-54.4%90-day growth-8,835 weekly downloads-69.0%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
vite-plugin-prerender weekly downloads growth on npm: -53.2% over 7 days, -54.4% over 30 days, -69.0% over 90 days.
PNG SVG

Ranking history

vite-plugin-prerender npm ranking history: currently #1148 (by weekly downloads).vite-plugin-prerendernpm ranking · by weekly downloads · Last 90 days#1148current rank#1146#1147#1148#1149#1150Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 18, 2026 – Oct 18, 2026 · 1 observations · Updated Oct 17, 2026pluginstats.com
vite-plugin-prerender npm ranking history: currently #1148 (by weekly downloads).
PNG SVG

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Recent observations

Full history (121)
Recent weekly downloads observations for vite-plugin-prerender
Date (UTC)Weekly downloadsChange vs. previous
3,963-1.1K
5,065-95
5,160-1.4K
6,574-1.7K
8,2650
8,265-259
8,524+48
8,476-50
8,526-1
8,527-250
8,777+62
8,715-1.4K
10,087+209
9,878—

Similar npm Vite plugins plugins

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/vite-plugin-prerender. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.