UNPKG

@adonisjs/inertia

Version:

Official Inertia.js adapter for AdonisJS

64 lines (63 loc) 5.18 kB
/** * Creates an AdonisJS assembler hook to automatically generate TypeScript definitions * for Inertia.js pages based on the specified framework. * * This function scans page components in the 'inertia/pages' directory and generates * type definitions that map page names to their component props. * * @param config - Configuration object specifying the frontend framework * @param config.framework - The frontend framework ('vue3' or 'react') * @param config.source - The path to Inertia pages (default: inertia/pages) * @returns Assembler hook object with run method for generating page types * * @example * ```js * // In your adonisrc.ts file * export default defineConfig({ * assembler: { * onBuildStarting: [indexPages({ framework: 'vue3' })] * } * }) * ``` */ export declare const indexPages: (config: { framework: "vue3" | "react"; source?: string; }) => { /** * Executes the page indexing process to generate TypeScript definitions. * * @param _ - Unused first parameter (assembler context) * @param __ - Unused second parameter (hooks instance) * @param indexGenerator - The index generator instance used to register the pages type generation */ run(_: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner | import("@adonisjs/assembler").Bundler, __: import("@poppinss/hooks").default<{ init: [[parent: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner | import("@adonisjs/assembler").Bundler, hooks: import("@poppinss/hooks").default</*elided*/ any>, indexGenerator: import("@adonisjs/assembler/index_generator").IndexGenerator], [parent: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner | import("@adonisjs/assembler").Bundler, hooks: import("@poppinss/hooks").default</*elided*/ any>, indexGenerator: import("@adonisjs/assembler/index_generator").IndexGenerator]]; fileChanged: [[relativePath: string, absolutePath: string, info: { source: "hot-hook" | "watcher"; hotReloaded: boolean; fullReload: boolean; }, parent: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner], [relativePath: string, absolutePath: string, info: { source: "hot-hook" | "watcher"; hotReloaded: boolean; fullReload: boolean; }, parent: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner]]; fileAdded: [[relativePath: string, absolutePath: string, server: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner], [relativePath: string, absolutePath: string, server: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner]]; fileRemoved: [[relativePath: string, absolutePath: string, server: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner], [relativePath: string, absolutePath: string, server: import("@adonisjs/assembler").DevServer | import("@adonisjs/assembler").TestRunner]]; devServerStarting: [[server: import("@adonisjs/assembler").DevServer], [server: import("@adonisjs/assembler").DevServer]]; devServerStarted: [[server: import("@adonisjs/assembler").DevServer, info: { port: number; host: string; }, uiInstructions: import("@poppinss/cliui").Instructions], [server: import("@adonisjs/assembler").DevServer, info: { port: number; host: string; }, uiInstructions: import("@poppinss/cliui").Instructions]]; buildStarting: [[server: import("@adonisjs/assembler").Bundler], [server: import("@adonisjs/assembler").Bundler]]; buildFinished: [[server: import("@adonisjs/assembler").Bundler, uiInstructions: import("@poppinss/cliui").Instructions], [server: import("@adonisjs/assembler").Bundler, uiInstructions: import("@poppinss/cliui").Instructions]]; testsStarting: [[server: import("@adonisjs/assembler").TestRunner], [server: import("@adonisjs/assembler").TestRunner]]; testsFinished: [[server: import("@adonisjs/assembler").TestRunner], [server: import("@adonisjs/assembler").TestRunner]]; routesCommitted: [[parent: import("@adonisjs/assembler").DevServer, routes: Record<string, import("@adonisjs/assembler/types").RoutesListItem[]>], [parent: import("@adonisjs/assembler").DevServer, routes: Record<string, import("@adonisjs/assembler/types").RoutesListItem[]>]]; routesScanning: [[parent: import("@adonisjs/assembler").DevServer, routesScanner: import("@adonisjs/assembler/routes_scanner").RoutesScanner], [parent: import("@adonisjs/assembler").DevServer, routesScanner: import("@adonisjs/assembler/routes_scanner").RoutesScanner]]; routesScanned: [[parent: import("@adonisjs/assembler").DevServer, routesScanner: import("@adonisjs/assembler/routes_scanner").RoutesScanner], [parent: import("@adonisjs/assembler").DevServer, routesScanner: import("@adonisjs/assembler/routes_scanner").RoutesScanner]]; }>, indexGenerator: import("@adonisjs/assembler/index_generator").IndexGenerator): void; };