Utility to convert specifications (Open API, JSON Schemas) to TypeScript using TypeScript native compiler
npm install @spec2ts/cli


@spec2ts/cli is an utility to create TypeScript types from JSON schemas or OpenAPI v3 specifications. Unlike other code generators @spec2ts/cli does not use templates to generate code but uses TypeScript's built-in API to generate and pretty-print an abstract syntax tree (AST).
* AST-based: Unlike other code generators @spec2ts/cli does not use templates to generate code but uses TypeScript's built-in API to generate and pretty-print an abstract syntax tree.
* Tree-shakeable: Individually exported types allows you to bundle only the ones you actually use.
* YAML or JSON: Use YAML or JSON for your specifications.
* External references: Resolves automatically external references and bundle or import them in generated files.
* Implementation agnostic: Use generated types in any projet or framework.
Install in your project:
``bash`
npm install @spec2ts/cli
#### JSON Schema command
`bash
spec2ts jsonschema [options]
Generate TypeScript types from JSON Schemas
Positionals:
input Path to JSON Schema(s) to convert to TypeScript [string]
Options:
--version Show version number [boolean]
--help Show help usage [boolean]
--output, -o Output directory for generated types [string]
--cwd, -c Root directory for resolving $refs [string]
--avoidAny Avoid the any type and use unknown instead [boolean]Date
--enableDate Build for format date and date-time [boolean]`
--banner, -b Comment prepended to the top of each generated file [string]
#### OpenAPI command
`bash
spec2ts openapi [options]
Generate TypeScript types from OpenAPI specification
Positionals:
input Path to OpenAPI Specification(s) to convert to TypeScript [string]
Options:
--version Show version number [boolean]
--help Show help usage [boolean]
--output, -o Output directory for generated types [string]
--cwd, -c Root directory for resolving $refs [string]
--avoidAny Avoid the any type and use unknown instead [boolean]Date
--enableDate Build for format date and date-time [boolean]`
--banner, -b Comment prepended to the top of each generated file [string]
- JSON Schema: See @spec2ts/jsonschema's documentation.@spec2ts/openapi`'s documentation.
- Open API Specification: See
| TypeScript version | spec2ts version |
|--------------------|-----------------|
| v3.x.x | v1 |
| v4.x.x | v2 |
This project is under MIT License. See the LICENSE file for the full license text.