Crate baobao_codegen_typescript

Crate baobao_codegen_typescript 

Source
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 boune
  • src/context.ts - Shared context (database pools, HTTP clients)
  • src/index.ts - Entry point
  • src/commands/*.ts - Command definitions
  • src/handlers/*.ts - Handler stubs for implementation
  • package.json, tsconfig.json, bao.toml, .gitignore

Modules§

files
TypeScript file generators.

Structs§

GenerateResult
Result of code generation
Generator
TypeScript code generator that produces boune-based CLI code for Bun.
PreviewFile
A generated file for preview
TypeScriptTypeMapper
TypeScript type mapper implementation.

Constants§

TS_NAMING
TypeScript naming conventions.

Traits§

LanguageCodegen
Trait for language-specific code generators.