{"id":22770,"library":"vite-plugin-pagefind","title":"vite-plugin-pagefind","description":"A Vite plugin that integrates Pagefind search indexing into Vite projects. v1.1.1 (stable) supports Vite >=4.0.0 and enables Pagefind to work during development with configurable strategies (lazy/eager). Unlike manual Pagefind setup, this plugin provides seamless Vite integration, TypeScript types, and inline configuration (removed JSON config support in v1.0.0). Release cadence: ~2-3 months. Key differentiator: fully inlined config and dev-mode indexing.","status":"active","version":"1.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/Hugos68/vite-plugin-pagefind","tags":["javascript","typescript"],"install":[{"cmd":"npm install vite-plugin-pagefind","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-pagefind","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-pagefind","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Runtime peer dependency — Pagefind binary is used for indexing during build and dev","package":"pagefind","optional":true},{"reason":"Peer dependency — plugin requires Vite >=4.0.0","package":"vite","optional":false}],"imports":[{"note":"Named export, not default. Since v1.0.0 only inline config is supported.","wrong":"import pagefind from 'vite-plugin-pagefind'","symbol":"pagefind","correct":"import { pagefind } from 'vite-plugin-pagefind'"},{"note":"Type-only export from '/types' subpath. Only available in TypeScript.","wrong":"import { Pagefind } from 'vite-plugin-pagefind'","symbol":"Pagefind","correct":"import type { Pagefind } from 'vite-plugin-pagefind/types'"},{"note":"CommonJS requires destructuring the named export.","wrong":"import pagefind from 'vite-plugin-pagefind'","symbol":"default","correct":"const plugin = require('vite-plugin-pagefind'); plugin.pagefind({...})"}],"quickstart":{"code":"// pnpm add -D pagefind vite-plugin-pagefind\n// vite.config.ts\nimport { defineConfig } from 'vite';\nimport { pagefind } from 'vite-plugin-pagefind';\n\nexport default defineConfig({\n  plugins: [\n    pagefind({\n      outputDirectory: 'dist',\n      assetsDirectory: 'public',\n      bundleDirectory: 'pagefind',\n      buildScript: 'build',\n      developStrategy: 'lazy',\n    }),\n  ],\n});\n\n// package.json\n{\n  \"scripts\": {\n    \"build\": \"vite build && pagefind --site 'dist'\"\n  }\n}","lang":"typescript","description":"Configures Vite with the Pagefind plugin using inline options and sets up the build script to run Pagefind after Vite build."},"warnings":[{"fix":"Move any pagefind.json settings into the plugin options object in vite.config.ts.","message":"v1.0.0 removed support for pagefind.json config. All options must be passed inline to the plugin.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Set developStrategy: 'eager' in plugin options.","message":"The 'developStrategy' option defaults to 'lazy', which only indexes if the bundle directory is missing. Use 'eager' if you need indexing on every dev start.","severity":"gotcha","affected_versions":">=0.3.0"},{"fix":"Install pagefind separately: pnpm add -D pagefind.","message":"The 'pagefind' package is required as a dependency; it is not automatically installed.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Use named import: import { pagefind } from 'vite-plugin-pagefind'.","message":"Importing 'pagefind' as default will result in undefined because the export is named.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Remove pagefind.json and pass options inline.","message":"v0.x used pagefind.json for configuration; that file is ignored in v1.0.0+.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Ensure plugin is installed: pnpm add -D vite-plugin-pagefind, and use correct import path: 'vite-plugin-pagefind'.","cause":"Package not installed or import path incorrect.","error":"Error: Cannot find module 'vite-plugin-pagefind'"},{"fix":"Change to import { pagefind } from 'vite-plugin-pagefind'.","cause":"Default import instead of named import.","error":"TypeError: pagefind is not a function"},{"fix":"Define the script in package.json scripts, or set buildScript to 'build' (default) and ensure it exists.","cause":"The buildScript option refers to a script that does not exist in package.json.","error":"Error: build script not found"},{"fix":"Install pagefind: pnpm add -D pagefind.","cause":"Missing runtime dependency.","error":"The 'pagefind' package is not installed"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}