1.0.0 • Published 6 months ago
nextswagger v1.0.0
NexTSwagger
Next-TS-Swagger plugin generator CLI
Installation
npm i -D nextswagger
Requirements
Basic Usage
in Next project directory
npx nextswagger https://api.server.foo/swagger.json
in component
import {api} from './api'
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 > next.config
> package.json
nextswagger 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 next.config
import { NextConfig } from 'nextswagger'
const config: NextConfig = {
serverRuntimeConfig: {
nextswagger: [
{ pluginName: 'foo', src: 'https://api.server.foo/swagger.json' },
{ pluginName: 'bar', src: 'https://api.server.bar/swagger.json' }
]
},
publicRuntimeConfig: {
nextswagger: {
pluginName: 'foo',
// AxiosRequestConfig?
axiosConfig: { baseURL: 'https://api-stage.server.foo' }
}
},
}
export default config
Set options using package.json
{
"nextswagger": {
"pluginsDir": "api"
}
}
tsconfig.json
{
"compilerOptions": {
"types": ["nextswagger/types"]
}
}
and npm run swagger
or npx nextswagger
License
ISC License Copyright (c) 2023, Elevista
1.0.0
6 months ago
1.0.0-alpha.6
1 year ago
1.0.0-alpha.5
1 year ago
1.0.0-alpha.4
1 year ago
1.0.0-alpha.3
1 year ago
1.0.0-alpha.2
1 year ago
1.0.0-alpha.1
1 year ago
1.0.0-alpha.0
1 year ago