UNPKG

@tanstack/router-generator

Version:

Modern and scalable routing for React applications

47 lines (46 loc) 1.47 kB
import { TransformPlugin } from '../transform/types.js'; import { HandleNodeAccumulator, ImportDeclaration, RouteNode } from '../types.js'; import { Generator } from '../generator.js'; export type GeneratorPlugin = GeneratorPluginBase | GeneratorPluginWithTransform; export interface GeneratorPluginBase { name: string; onRouteTreesChanged?: (opts: { routeTrees: Array<{ sortedRouteNodes: Array<RouteNode>; acc: HandleNodeAccumulator; exportName: string; }>; rootRouteNode: RouteNode; generator: Generator; }) => void; } export interface GeneratorPluginWithTransform extends GeneratorPluginBase { transformPlugin: TransformPlugin; moduleAugmentation: (opts: { generator: Generator; }) => { module: string; interfaceName: string; }; imports: (opts: { rootRouteNode: RouteNode; sortedRouteNodes: Array<RouteNode>; acc: HandleNodeAccumulator; generator: Generator; }) => Array<ImportDeclaration>; routeModuleAugmentation: (opts: { routeNode: RouteNode; }) => string | undefined; createRootRouteCode: () => string; createVirtualRouteCode: (opts: { node: RouteNode; }) => string; config: (opts: { generator: Generator; rootRouteNode: RouteNode; sortedRouteNodes: Array<RouteNode>; }) => { virtualRootRoute?: boolean; }; } export {};