@adonisjs/inertia
Version:
Official Inertia.js adapter for AdonisJS
64 lines (63 loc) • 5.18 kB
TypeScript
/**
* 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;
};