UNPKG

@tanstack/router-plugin

Version:

Modern and scalable routing for React applications

170 lines (169 loc) 8.12 kB
import { z } from 'zod'; import { RegisteredRouter, RouteIds } from '@tanstack/router-core'; import { CodeSplitGroupings } from './constants.cjs'; export declare const splitGroupingsSchema: z.ZodEffects<z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodLiteral<"loader">, z.ZodLiteral<"component">, z.ZodLiteral<"pendingComponent">, z.ZodLiteral<"errorComponent">, z.ZodLiteral<"notFoundComponent">]>, "many">, "many">, ("loader" | "component" | "pendingComponent" | "errorComponent" | "notFoundComponent")[][], ("loader" | "component" | "pendingComponent" | "errorComponent" | "notFoundComponent")[][]>; export type CodeSplittingOptions = { /** * Use this function to programmatically control the code splitting behavior * based on the `routeId` for each route. * * If you just need to change the default behavior, you can use the `defaultBehavior` option. * @param params */ splitBehavior?: (params: { routeId: RouteIds<RegisteredRouter['routeTree']>; }) => CodeSplitGroupings | undefined | void; /** * The default/global configuration to control your code splitting behavior per route. * @default [['component'],['pendingComponent'],['errorComponent'],['notFoundComponent']] */ defaultBehavior?: CodeSplitGroupings; }; export declare const configSchema: z.ZodObject<z.objectUtil.extendShape<{ target: z.ZodDefault<z.ZodOptional<z.ZodEnum<["react", "solid"]>>>; virtualRouteConfig: z.ZodOptional<z.ZodUnion<[z.ZodType<import('@tanstack/virtual-file-routes').VirtualRootRoute, z.ZodTypeDef, import('@tanstack/virtual-file-routes').VirtualRootRoute>, z.ZodString]>>; routeFilePrefix: z.ZodOptional<z.ZodString>; routeFileIgnorePrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>; routeFileIgnorePattern: z.ZodOptional<z.ZodString>; routesDirectory: z.ZodDefault<z.ZodOptional<z.ZodString>>; generatedRouteTree: z.ZodDefault<z.ZodOptional<z.ZodString>>; quoteStyle: z.ZodDefault<z.ZodOptional<z.ZodEnum<["single", "double"]>>>; semicolons: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; disableTypes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; addExtensions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; disableLogging: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; disableManifestGeneration: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; enableRouteTreeFormatting: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; __enableAPIRoutesGeneration: z.ZodOptional<z.ZodBoolean>; apiBase: z.ZodDefault<z.ZodOptional<z.ZodString>>; routeTreeFileHeader: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; routeTreeFileFooter: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>; autoCodeSplitting: z.ZodOptional<z.ZodBoolean>; indexToken: z.ZodDefault<z.ZodOptional<z.ZodString>>; routeToken: z.ZodDefault<z.ZodOptional<z.ZodString>>; pathParamsAllowedCharacters: z.ZodOptional<z.ZodArray<z.ZodEnum<[";", ":", "@", "&", "=", "+", "$", ","]>, "many">>; customScaffolding: z.ZodOptional<z.ZodObject<{ routeTemplate: z.ZodOptional<z.ZodString>; lazyRouteTemplate: z.ZodOptional<z.ZodString>; apiTemplate: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { routeTemplate?: string | undefined; lazyRouteTemplate?: string | undefined; apiTemplate?: string | undefined; }, { routeTemplate?: string | undefined; lazyRouteTemplate?: string | undefined; apiTemplate?: string | undefined; }>>; experimental: z.ZodOptional<z.ZodObject<{ enableCodeSplitting: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { enableCodeSplitting?: boolean | undefined; }, { enableCodeSplitting?: boolean | undefined; }>>; }, { enableRouteGeneration: z.ZodOptional<z.ZodBoolean>; codeSplittingOptions: z.ZodOptional<z.ZodType<CodeSplittingOptions, z.ZodTypeDef, CodeSplittingOptions>>; }>, "strip", z.ZodTypeAny, { target: "react" | "solid"; routeFileIgnorePrefix: string; routesDirectory: string; generatedRouteTree: string; quoteStyle: "single" | "double"; semicolons: boolean; disableTypes: boolean; addExtensions: boolean; disableLogging: boolean; disableManifestGeneration: boolean; enableRouteTreeFormatting: boolean; apiBase: string; routeTreeFileHeader: string[]; routeTreeFileFooter: string[]; indexToken: string; routeToken: string; enableRouteGeneration?: boolean | undefined; codeSplittingOptions?: CodeSplittingOptions | undefined; virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined; routeFilePrefix?: string | undefined; routeFileIgnorePattern?: string | undefined; __enableAPIRoutesGeneration?: boolean | undefined; autoCodeSplitting?: boolean | undefined; pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined; customScaffolding?: { routeTemplate?: string | undefined; lazyRouteTemplate?: string | undefined; apiTemplate?: string | undefined; } | undefined; experimental?: { enableCodeSplitting?: boolean | undefined; } | undefined; }, { enableRouteGeneration?: boolean | undefined; codeSplittingOptions?: CodeSplittingOptions | undefined; target?: "react" | "solid" | undefined; virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined; routeFilePrefix?: string | undefined; routeFileIgnorePrefix?: string | undefined; routeFileIgnorePattern?: string | undefined; routesDirectory?: string | undefined; generatedRouteTree?: string | undefined; quoteStyle?: "single" | "double" | undefined; semicolons?: boolean | undefined; disableTypes?: boolean | undefined; addExtensions?: boolean | undefined; disableLogging?: boolean | undefined; disableManifestGeneration?: boolean | undefined; enableRouteTreeFormatting?: boolean | undefined; __enableAPIRoutesGeneration?: boolean | undefined; apiBase?: string | undefined; routeTreeFileHeader?: string[] | undefined; routeTreeFileFooter?: string[] | undefined; autoCodeSplitting?: boolean | undefined; indexToken?: string | undefined; routeToken?: string | undefined; pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined; customScaffolding?: { routeTemplate?: string | undefined; lazyRouteTemplate?: string | undefined; apiTemplate?: string | undefined; } | undefined; experimental?: { enableCodeSplitting?: boolean | undefined; } | undefined; }>; export declare const getConfig: (inlineConfig: Partial<Config>, root: string) => { target: "react" | "solid"; routeFileIgnorePrefix: string; routesDirectory: string; generatedRouteTree: string; quoteStyle: "single" | "double"; semicolons: boolean; disableTypes: boolean; addExtensions: boolean; disableLogging: boolean; disableManifestGeneration: boolean; enableRouteTreeFormatting: boolean; apiBase: string; routeTreeFileHeader: string[]; routeTreeFileFooter: string[]; indexToken: string; routeToken: string; enableRouteGeneration?: boolean | undefined; codeSplittingOptions?: CodeSplittingOptions | undefined; virtualRouteConfig?: string | import('@tanstack/virtual-file-routes').VirtualRootRoute | undefined; routeFilePrefix?: string | undefined; routeFileIgnorePattern?: string | undefined; __enableAPIRoutesGeneration?: boolean | undefined; autoCodeSplitting?: boolean | undefined; pathParamsAllowedCharacters?: (";" | ":" | "@" | "&" | "=" | "+" | "$" | ",")[] | undefined; customScaffolding?: { routeTemplate?: string | undefined; lazyRouteTemplate?: string | undefined; apiTemplate?: string | undefined; } | undefined; experimental?: { enableCodeSplitting?: boolean | undefined; } | undefined; }; export type Config = z.infer<typeof configSchema>;