Registry / web-framework / vite-plugin-solid-pages

vite-plugin-solid-pages

JSON →
library0.4.3jsnpmunverified

A Vite plugin for SolidJS that generates file-based routes for SPAs, following solid-start routing conventions. Version 0.4.3 is the latest stable release with no fixed release cadence (in-progress). Key differentiators: lightweight alternative to solid-start, provides virtual modules for routes and route info, supports lazy/eager loading, auto code-splits route config and component, and integrates with MDX and frontmatter.

npm install vite-plugin-solid-pages
INSTALL
IMPORT
SIG · VITE-PLUGIN-SOLID-
V
vite-plugin-solid-pages
web-frameworkjavascriptv0.4.3
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import solidPages from 'vite-plugin-solid-pages'
const solidPages = require('vite-plugin-solid-pages')
ESM-only; CommonJS require will fail as the package has no default export in CJS
virtual:pages
import routes from 'virtual:pages'
import routes from 'vite-plugin-solid-pages/virtual:pages'
virtual:pages is a virtual module, not a file path. It must be imported directly, without any prefix
virtual:route-info
import routeInfo from 'virtual:route-info'
import routeInfo from 'vite-plugin-solid-pages'
virtual:route-info is a separate virtual module providing route metadata; do not import from the package itself

Sets up the Vite plugin with file-based routing from src/pages, includes TypeScript declarations, and mounts routes via @solidjs/router.

// vite.config.ts import { defineConfig } from 'vite' import solidPlugin from 'vite-plugin-solid' import solidPages from 'vite-plugin-solid-pages' export default defineConfig({ plugins: [ solidPlugin(), solidPages({ dir: 'src/pages', extensions: ['tsx'], }) ] }) // src/env.d.ts /// <reference types="vite/client" /> /// <reference types="vite-plugin-solid-pages/client" /> // src/index.tsx import { Router } from '@solidjs/router' import { render } from 'solid-js/web' import routes from 'virtual:pages' render(() => ( <Router> {routes} </Router> ), document.getElementById('root')!)
Debug
Known issues
gotchaThe plugin uses virtual modules (virtual:pages, virtual:route-info) that are only available after the Vite dev server runs. TypeScript may complain about missing modules unless you add the provided env.d.ts declarations.
fix
Add the reference directive to your env.d.ts as shown in the quickstart.
affects: >=0.0.0
deprecatedSolidJS older versions may not be compatible. The plugin requires @solidjs/router ^0.16.1, which may differ from newer SolidJS versions.
fix
Ensure @solidjs/router version matches ^0.16.1.
affects: 0.4.3
gotchaThe plugin is focused on SPA routing and does not support SSR or file-based layout like solid-start. Do not use for SSR projects.
fix
Use solid-start for SSR needs.
affects: >=0.0.0
gotchaRoute configuration using exported const in files may not be recognized if the export is not correctly defined. Ensure file exports follow the expected pattern (e.g., export const route = { ... }).
fix
Check documentation for the exact route config export syntax.
affects: >=0.0.0
gotchaEager loading mode may increase bundle size. Use lazy loading for production to enable code splitting.
fix
Set lazy: true in the plugin options or per route.
affects: >=0.0.0
Errors
Common errors & fixes
Module not found: Can't resolve 'virtual:pages' in '...'
Missing or incorrect TypeScript declarations for virtual modules.
fix
Add /// <reference types="vite-plugin-solid-pages/client" /> to your env.d.ts file.
TypeError: Cannot read properties of undefined (reading 'forEach')
routes from virtual:pages is undefined because the virtual module was not generated (e.g., no pages in configured directory).
fix
Ensure the pages directory (default src/pages) contains at least one route file with valid extension.
Error: @solidjs/router is not installed
Missing peer dependency @solidjs/router.
fix
Run 'pnpm add @solidjs/router' (version ^0.16.1).
SyntaxError: Unexpected token 'export'
ESM syntax used in a CommonJS context (e.g., using require() to import the plugin).
fix
Use ESM imports (import solidPages from ...). If you must use require(), use dynamic import: const solidPages = (await import('vite-plugin-solid-pages')).default
Upgrade
Version history
0.4.3latest on npm
Audit
Dependencies
@solidjs/routerrequiredRequired peer dependency for routing; must be installed separately, version ^0.16.1
viterequiredRequired peer dependency; version ^7.0.0 || ^8.0.0
Agent activity
7 hits · last 30 days
node
6
OpenAI (training)
1
Resources
vite-plugin-solid-pages — npm install vite-plugin-solid-pages · libregistry