import type { CommandModule } from 'yargs'; export type CliExtensionFactory = () => CommandModule[]; interface CliExtensionModule { cliExtension?: unknown; default?: { cliExtension?: unknown; }; } export const getCliExtensionFactory = ( cliExtensionModule: CliExtensionModule, ): CliExtensionFactory | undefined => { const cliExtension = cliExtensionModule.cliExtension ?? cliExtensionModule.default?.cliExtension; return typeof cliExtension === 'function' ? (cliExtension as CliExtensionFactory) : undefined; };