@spec2ts/cli

3.0.5 • Public • Published

@spec2ts/cli

NPM version NPM download Build Status

@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).

Features

  • 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.

Installation

Install in your project:

npm install @spec2ts/cli

CLI Usage

JSON Schema command

spec2ts jsonschema [options] <input..>

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]
  --enableDate  Build `Date` for format `date` and `date-time`         [boolean]
  --banner, -b  Comment prepended to the top of each generated file     [string]

OpenAPI command

spec2ts openapi [options] <input..>

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]
  --enableDate  Build `Date` for format `date` and `date-time`         [boolean]
  --banner, -b  Comment prepended to the top of each generated file     [string]

Implementations

Compatibility Matrix

TypeScript version spec2ts version
v3.x.x v1
v4.x.x v2

License

This project is under MIT License. See the LICENSE file for the full license text.

/@spec2ts/cli/

    Package Sidebar

    Install

    npm i @spec2ts/cli

    Weekly Downloads

    897

    Version

    3.0.5

    License

    MIT

    Unpacked Size

    7.41 kB

    Total Files

    5

    Last publish

    Collaborators

    • mluce
    • mtrimolet