@@ -11,7 +11,7 @@ import {
1111 generateMultiTargetContextCommand ,
1212} from './infra-generator' ;
1313import { generateTableCommand } from './table-command-generator' ;
14- import { generateUtilsFile , generateNodeFetchFile } from './utils-generator' ;
14+ import { generateUtilsFile , generateNodeFetchFile , generateEntryPointFile } from './utils-generator' ;
1515
1616export interface GenerateCliOptions {
1717 tables : CleanTable [ ] ;
@@ -91,6 +91,13 @@ export function generateCli(options: GenerateCliOptions): GenerateCliResult {
9191 ) ;
9292 files . push ( commandMapFile ) ;
9393
94+ // Generate entry point if configured
95+ const generateEntryPoint =
96+ typeof cliConfig === 'object' && ! ! cliConfig . entryPoint ;
97+ if ( generateEntryPoint ) {
98+ files . push ( generateEntryPointFile ( ) ) ;
99+ }
100+
94101 return {
95102 files,
96103 stats : {
@@ -123,6 +130,8 @@ export interface GenerateMultiTargetCliOptions {
123130 targets : MultiTargetCliTarget [ ] ;
124131 /** Enable NodeHttpAdapter for *.localhost subdomain routing */
125132 nodeHttpAdapter ?: boolean ;
133+ /** Generate a runnable index.ts entry point */
134+ entryPoint ?: boolean ;
126135}
127136
128137export function resolveBuiltinNames (
@@ -232,6 +241,11 @@ export function generateMultiTargetCli(
232241 } ) ;
233242 files . push ( commandMapFile ) ;
234243
244+ // Generate entry point if configured
245+ if ( options . entryPoint ) {
246+ files . push ( generateEntryPointFile ( ) ) ;
247+ }
248+
235249 return {
236250 files,
237251 stats : {
@@ -267,5 +281,5 @@ export {
267281export type { MultiTargetDocsInput } from './docs-generator' ;
268282export { resolveDocsConfig } from '../docs-utils' ;
269283export type { GeneratedDocFile , McpTool } from '../docs-utils' ;
270- export { generateUtilsFile } from './utils-generator' ;
284+ export { generateUtilsFile , generateEntryPointFile } from './utils-generator' ;
271285export type { GeneratedFile , MultiTargetExecutorInput } from './executor-generator' ;
0 commit comments