{"id":22784,"library":"vite-plugin-prerender","title":"vite-plugin-prerender","description":"A flexible, framework-agnostic Vite plugin for prerendering static HTML from single-page applications. Version 1.0.8 supports any framework (Vue, React, etc.) and offers customizable configuration including route selection, post-processing, minification, and server options. It uses Puppeteer under the hood via the prerenderer library. Release cadence is irregular; the plugin is largely feature-complete with occasional bug fixes. Differentiators include full Vite compatibility, ease of use, and support for custom renderers.","status":"active","version":"1.0.8","language":"javascript","source_language":"en","source_url":"https://github.com/Rudeus3Greyrat/vite-plugin-prerender","tags":["javascript","vite","vite-plugin","prerender","Rudeus3Greyrat","typescript"],"install":[{"cmd":"npm install vite-plugin-prerender","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-prerender","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-prerender","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required at >=2.0.0 for plugin functionality","package":"vite","optional":false}],"imports":[{"note":"Default export only; named import will fail.","wrong":"import { vitePrerender } from 'vite-plugin-prerender'","symbol":"default","correct":"import vitePrerender from 'vite-plugin-prerender'"},{"note":"PuppeteerRenderer is a property on the default export, not a named export.","wrong":"import { PuppeteerRenderer } from 'vite-plugin-prerender'","symbol":"PuppeteerRenderer","correct":"import vitePrerender from 'vite-plugin-prerender'; const PuppeteerRenderer = vitePrerender.PuppeteerRenderer"},{"note":"CJS is supported for Node.js <12? ESM is recommended. Use .mjs or type: module for ESM.","wrong":"","symbol":"CommonJS require","correct":"const vitePrerender = require('vite-plugin-prerender')"}],"quickstart":{"code":"import vitePrerender from 'vite-plugin-prerender';\nimport path from 'path';\n\nexport default () => ({\n  plugins: [\n    vitePrerender({\n      staticDir: path.join(__dirname, 'dist'),\n      routes: ['/', '/about', '/contact'],\n    }),\n  ],\n});","lang":"typescript","description":"Basic Vite configuration to prerender three routes into static HTML files."},"warnings":[{"fix":"Use vite build to generate prerendered output.","message":"Plugin only works during vite build, not dev server. Hot reload won't trigger prerendering.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade to v1.0.8 or ensure postProcess always returns a renderedRoute object.","message":"The `postProcess` function in v1.0.7 had a bug: if it didn't return a value, the route was dropped. This was fixed in v1.0.8.","severity":"deprecated","affected_versions":"1.0.7"},{"fix":"","message":"Default export changed from named to default? Verify if any breaking changes between major versions (none identified so far).","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"npm install puppeteer --save-dev","message":"Puppeteer is required as a peer dependency but not listed; must be installed separately.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"List all routes explicitly or generate them programmatically.","message":"Routes must exactly match the client-side router paths; wildcards or glob patterns are not supported.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.0.8':22 'agnost':9 'applic':20 'bug':66 'cadenc':54 'compat':72 'complet':63 'configur':32 'custom':79 'customiz':31 'differenti':68 'eas':73 'etc':28 'featur':62 'feature-complet':61 'fix':67 'flexibl':6 'framework':8,25 'framework-agnost':7 'full':70 'hood':48 'html':15 'includ':33,69 'irregular':56 'javascript':81 'larg':60 'librari':52 'minif':39 'occasion':65 'offer':30 'option':42 'page':19 'plugin':3,11,58,85 'post':37 'post-process':36 'prerend':4,13,86 'prerender':51 'process':38 'puppet':45 'react':27 'releas':53 'render':80 'rout':34 'rudeus3greyrat':87 'select':35 'server':41 'singl':18 'single-pag':17 'static':14 'support':23,77 'typescript':88 'use':44,75 'version':21 'via':49 'vite':2,10,71,82,84 'vite-plugin':83 'vite-plugin-prerend':1 'vue':26","created_at":"2026-04-27T17:07:00.423010+00:00","updated_at":"2026-04-27T17:07:00.423010+00:00","problems":[{"fix":"npm install puppeteer --save-dev","cause":"Puppeteer not installed (it's a peer dependency).","error":"Error: Cannot find module 'puppeteer'"},{"fix":"Change import from `import { vitePrerender } from 'vite-plugin-prerender'` to `import vitePrerender from 'vite-plugin-prerender'`","cause":"Using named import instead of default import.","error":"TypeError: vitePrerender is not a function"},{"fix":"Add staticDir: path.join(__dirname, 'dist') to the options object.","cause":"Missing staticDir in plugin configuration.","error":"Error: The 'staticDir' option is required."},{"fix":"Provide an array of route strings in the options, e.g., routes: ['/', '/about'].","cause":"Missing or empty routes array.","error":"Error: No routes provided. Please specify at least one route to prerender."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/Rudeus3Greyrat/vite-plugin-prerender","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/vite-plugin-prerender","openapi_spec":null,"status_page":null,"smithery":null,"categories":["web-framework","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-18","next_check":"2026-07-26","install_tag":null}}