CLI tool for various TypeBox and JSON Schema operations.
npm install -g typebox-cli
Input file (i.e. types.ts
):
export type T = "test";
Run TypeBox Codegen:
typebox codegen TypeBox --source types.ts
Outputs:
import { Type, Static } from '@sinclair/typebox'
export type T = Static<typeof T>
export const T = Type.String()
Input file (i.e. typebox.ts
):
import { Type } from "@sinclair/typebox";
export const T = Type.String();
Run JSON Schema extraction:
typebox extract json --module typebox.ts -e T
Outputs:
{
"$id": "T",
"type": "string"
}
# Extract - Extract JSON schema from exported TypeBox variables:
typebox extract json --module <module path>
# Codegen -- Generate Schema from either TypeScript types (using --source) or TypeBox schema (using --module):
typebox codegen <model-name> --source <source file> # Generate from TypeScript Types.
typebox codegen <model-name> --module <module path> # Generate from exported TypeBox Schema values.
# List available Codegen models:
typebox list
# Misc
typebox --version # Display current typebox version.
typebox --help # Help
typebox-cli
is based on these packages:
- TypeBox - Json Schema Type Builder with Static Type Resolution for TypeScript
- TypeBox Codegen - Code Generation Tools for TypeBox
- jiti - Module Loading
- Commander - CLI Interface