JSPM

  • Created
  • Published
  • Downloads 332161
  • Score
    100M100P100Q182947F
  • License MIT

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

Package Exports

  • openapi-typescript-codegen

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (openapi-typescript-codegen) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

OpenAPI Typescript Codegen

NPM License Build Status Quality

NodeJS library that generates Typescript or Javascript 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 and Javascript clients.
  • Supports generations of fetch and XHR http clients.
  • Supports OpenAPI specification v2.0 and v3.0.
  • Supports JSON and YAML files for input.

Known issues:

  • If you use enums inside your models / definitions then those enums are now inside a namespace with the same name as your model. This is called declaration merging. However Babel 7 now support compiling of Typescript and right now they do not support namespaces.

Installation

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

Example

package.json

{
    "scripts": {
        "generate": "openapi ./api/openapi.json ./dist"
    }
    ...
}

Command line

npm install openapi-typescript-codegen -g

openapi ./api/openapi.json ./dist

NodeJS API:

const OpenAPI = require('openapi-typescript-codegen');

const result = OpenAPI.generate(
    './api/openapi.json',
    './dist'
);

console.log(result);