JSPM

  • Created
  • Published
  • Downloads 844
  • Score
    100M100P100Q97326F
  • License ISC

TS-Swagger plugin generator CLI

Package Exports

  • tswagger
  • tswagger/dist/index.js

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 (tswagger) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

TSwagger

TS-Swagger plugin generator CLI

npm package github stars

Installation

npm i -D tswagger

Basic Usage

in project directory

npx tswagger https://api.server.foo/swagger.json

in script code

import { setAxios, api } from './api'
import axios from 'axios'
setInstance(axios.create({ baseURL: 'http://localhost:8080', timeout: 100 })) // optional
const foo = await api().bar.get()

Path param mode

see form option

/* default (1.1.0+) */
api().foo.bar(1).get(2)
api().foo.bar.get()

/* underscore */
api().foo._bar.get(1, 2)
api().foo.bar.get()

Options

options priority : command line > tswagger.config > package.json

tswagger argument1 --option1 value1 --option2 value2
option description default example
(first argument) Swagger schema JSON path (required) http://.. or ./foo/swagger.json
src same as first argument first argument same as above
plugins-dir Directory lib
plugin-name Name for generated flile api
export-name Export name {plugin-name} ''(export default)
type-path Path for scheme type file {plugins-dir}/{plugin-name}/{types.ts} ./types/models.ts
base-path base path /v1 /v2
skip-header Ignore parameter in header false true
form Path param interface mode (undefined) underscore

Set options using tswagger.config

import { TSwaggerOptions } from 'tswagger'

const option: Partial<TSwaggerOptions> = {
  pluginName: 'foo'
}

export default option

Set options using package.json

{
  "tswagger": {
    "pluginsDir": "api"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "types": ["tswagger/types"]
  }
}

and npm run swagger or npx tswagger

License

ISC License Copyright (c) 2023, Elevista