Expand description
TypeScript code generator for Bao CLI generator.
This crate generates TypeScript CLI applications using boune a CLI library targeting Bun runtime.
§Usage
This crate is used internally by the baobao CLI tool. You typically don’t need
to use it directly.
ⓘ
use baobao_codegen_typescript::Generator;
use baobao_codegen::LanguageCodegen;
use baobao_manifest::Manifest;
use std::path::Path;
let manifest = Manifest::from_file("bao.toml")?;
let generator = Generator::new(&manifest);
// Preview files without writing
let files = generator.preview();
// Generate files to disk
let result = generator.generate(Path::new("output"))?;§Generated Output
The generator produces a TypeScript CLI project structure:
src/cli.ts- Main CLI setup with bounesrc/context.ts- Shared context (database pools, HTTP clients)src/index.ts- Entry pointsrc/commands/*.ts- Command definitionssrc/handlers/*.ts- Handler stubs for implementationpackage.json,tsconfig.json,bao.toml,.gitignore
Modules§
- files
- TypeScript file generators.
Structs§
- Generate
Result - Result of code generation
- Generator
- TypeScript code generator that produces boune-based CLI code for Bun.
- Preview
File - A generated file for preview
- Type
Script Type Mapper - TypeScript type mapper implementation.
Constants§
- TS_
NAMING - TypeScript naming conventions.
Traits§
- Language
Codegen - Trait for language-specific code generators.