Skip to content

lausek/openapi-typescript-codegen

 
 

Repository files navigation

OpenAPI Typescript Codegen

NPM License Coverage Coverage Downloads Build

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 generation of TypeScript clients
  • Supports generations of Fetch, Node-Fetch, Axios, Angular and XHR http clients
  • 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 aborting of requests (cancelable promise pattern)
  • Supports external references using json-schema-ref-parser

Install

npm install openapi-typescript-codegen --save-dev 

Usage

$ openapi --help Usage: openapi [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) -c, --client <value> HTTP client to generate [fetch, xhr, node, axios, angular] (default: "fetch") --name <value> Custom client class name --useOptions Use options instead of arguments --useUnionTypes Use union types instead of enums --exportCore <value> Write core files to disk (default: true) --exportServices <value> Write services to disk (default: true) --exportModels <value> Write models to disk (default: true) --exportSchemas <value> Write schemas to disk (default: false) --indent <value> Indentation options [4, 2, tab] (default: "4") --postfixServices Service name postfix (default: "Service") --postfixModels Model name postfix --request <value> Path to custom request file -h, --help display help for command Examples $ openapi --input ./spec.json --output ./generated $ openapi --input ./spec.json --output ./generated --client xhr 

Documentation

The main documentation can be found in the openapi-typescript-codegen/wiki

Sponsors

If you or your company use the OpenAPI Typescript Codegen, please consider supporting me. By sponsoring I can free up time to give this project some love! Details can be found here: https://github.com/sponsors/ferdikoomen

If you're from an enterprise looking for a fully managed SDK generation, please consider our sponsor:

speakeasy

About

NodeJS library that generates Typescript or Javascript clients based on the OpenAPI specification

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 83.8%
  • Handlebars 13.9%
  • JavaScript 2.3%