@tanstack/router-plugin
Version:
Modern and scalable routing for React applications
29 lines (28 loc) • 1.04 kB
text/typescript
import { default as babel } from '@babel/core';
import { Config, DeletableNodes } from '../config.cjs';
import { CodeSplitGroupings } from '../constants.cjs';
import type * as t from '@babel/types';
export type CompileCodeSplitReferenceRouteOptions = {
codeSplitGroupings: CodeSplitGroupings;
deleteNodes?: Set<DeletableNodes>;
targetFramework: Config['target'];
filename: string;
id: string;
addHmr?: boolean;
sharedBindings?: Set<string>;
};
export type ReferenceRouteCompilerPluginContext = {
programPath: babel.NodePath<t.Program>;
callExpressionPath: babel.NodePath<t.CallExpression>;
insertionPath: babel.NodePath;
routeOptions: t.ObjectExpression;
createRouteFn: string;
opts: CompileCodeSplitReferenceRouteOptions;
};
export type ReferenceRouteCompilerPluginResult = {
modified?: boolean;
};
export type ReferenceRouteCompilerPlugin = {
name: string;
onUnsplittableRoute?: (ctx: ReferenceRouteCompilerPluginContext) => void | ReferenceRouteCompilerPluginResult;
};