UNPKG

@router-cli/react-router-dev

Version:

File based routing cli for react-router-dom.

29 lines (27 loc) 929 B
import { Plugin } from 'vite' import { RouterCliConfig } from './schema' import { Generator } from './generator' export default function RouteGenerator(config: RouterCliConfig, verbose: boolean = false): Plugin { const generator = new Generator(config, verbose); return { name: 'router-cli', enforce: 'pre', configureServer(server) { const listener = (path: string) => { if ( path.includes(config.source) && ( path.endsWith('.page.tsx') || path.endsWith('_layout.tsx') )) { generator.generate(); } } server.watcher.on('add', listener) server.watcher.on('unlink', listener) }, buildStart() { generator.generate(); }, } }