OpenAPI Typescript Codegen
Node.js library that generates Typescript clients based on the OpenAPI specification.
Why?
- Frontend ❤️ OpenAPI, but we do not want to use JAVA codegen in our builds
- Quick, lightweight, robust and framework-agnostic 🚀
- Supports OpenAPI specification v2.0 and v3.0
- Supports JSON and YAML files for input
- Supports generation through CLI, Node.js and NPX
- Supports tsc and @babel/plugin-transform-typescript
- Supports external references using json-schema-ref-parser
Install
npm install @yobta/generator --save-dev
Usage
$ generate-yobta --help
Usage: generate-yobta [options]
Options:
-V, --version output the version number
-i, --input <value> OpenAPI specification, can be a path, url or string content (required)
-o, --output <value> Output directory (required)
-f, --factories <value> Path to file with factories functions (required)
--useUnionTypes <value> Use union types instead of enums (default: true)
--exportSchemas <value> Write schemas to disk (default: false)
--indent <value> Indentation options [4, 2, tab] (default: "4")
--postfixModels Model name postfix
-h, --help display help for command
Examples
$ generate-yobta --input ./spec.json --output ./generated --factories ./src/factories
Documentation
- Basic usage
- Usage In Code
-
Enums vs. Union types
--useUnionTypes
-
Runtime schemas
--exportSchemas
- Enum with custom names and descriptions
- Nullable props (OpenAPI v2)
- External references