UNPKG

@ts-for-gir/cli

Version:

TypeScript type definition generator for GObject introspection GIR files

38 lines 1.6 kB
/** * Everything you need for the `ts-for-gir generate` command is located here */ import { Logger, ERROR_NO_MODULES_FOUND } from '@ts-for-gir/lib'; import { GeneratorType } from '@ts-for-gir/generator-base'; import { GenerationHandler } from '../generation-handler.js'; import { Config } from '../config.js'; import { ModuleLoader } from '../module-loader.js'; const command = 'doc [modules..]'; const description = 'The HTML documentation generator is not yet implemented, but feel free to implement it 🤗'; const builder = (yargs) => { const optionNames = Object.keys(Config.docOptions); for (const optionName of optionNames) { yargs = yargs.option(optionName, Config.docOptions[optionName]); } return yargs.example(examples); }; const handler = async (args) => { const config = await Config.load(args); const generateConfig = Config.getOptionsGeneration(config); const moduleLoader = new ModuleLoader(generateConfig); const { keep } = await moduleLoader.getModulesResolved(config.modules, config.ignore || [], config.ignoreVersionConflicts); if (keep.length === 0) { return Logger.error(ERROR_NO_MODULES_FOUND(config.girDirectories)); } const tsForGir = new GenerationHandler(generateConfig, GeneratorType.HTML_DOC); const registry = moduleLoader.dependencyManager; await tsForGir.start(Array.from(keep).map((girModuleResolvedBy) => girModuleResolvedBy.module), registry); }; const examples = []; export const doc = { command, description, builder, handler, examples, }; //# sourceMappingURL=doc.js.map