Skip to content

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

License

Notifications You must be signed in to change notification settings

jgoz/openapi-typescript-codegen

 
 

Repository files navigation

OpenAPI Typescript Codegen

NPM License Coverage Quality Code Climate 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 generation of react-query hooks (queries, mutations) for each operation
  • Supports fetch by default but switches to XHR (via dynamic import) when upload progress is needed
  • Supports OpenAPI specification v2.0 and v3.0
  • Supports JSON and YAML files for input
  • Supports generation through CLI, Node.js and NPX
  • Supports aborting of requests (via AbortController and AbortSignal)
  • 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)
    --exportCore              Write core files to disk (default: true)
    --exportServices          Write services to disk (default: true)
    --exportModels            Write models to disk (default: true)
    --exportHooks             Write react-query hooks to disk (default: false)
    --exportSchemas           Write schemas to disk (default: false)
    --indent <value>          Indentation options [4, 2, tab] (default: "4")
    --postfix <value>         Service name postfix (default: "Service")
    -h, --help                display help for command

  Examples
    $ openapi --input ./spec.json --output ./generated
    $ openapi --input ./spec.json --output ./generated --exportHooks --indent 2

Documentation

About

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

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 84.0%
  • Handlebars 13.7%
  • JavaScript 2.3%