@36node/swagen
v0.18.6
Published
A module boilerplate for nodejs and web.
Downloads
725
Readme
@36node/swagen
Install
yarn global add @36node/template-cli
Usage
$ swagen -h
Usage: swagen [options] [command]
Options:
-V, --version output the version number
-h, --help output usage information
Commands:
koa [options] Generate code for koa server api
sdk [options] Generate code for client sdk
postman [options] Transform openapi file to postman collection file
Generate client sdk code
$ swagen sdk -h
Usage: sdk [options] [yamlFile] [name] [dist]
Generate code for client sdk
Options:
-h, --help output usage information
# example, default name is filename of yaml file or specified by name option
$ swagen sdk ./petstore.yaml ./sdk petstore
Generate koa server api code
$ swagen koa -h
Usage: koa [options] [yamlFile] [dist]
Generate code for koa server api
Options:
-h, --help output usage information
# example, if dist not specified, current dir will be used as default dist
$ swagen koa ./petstore.yaml ./koa
Generate postman collection from openapi
$ swagen postman -h
Usage: postman [options] [yamlFile] [targetFile]
Transform openapi file to postman collection file
Options:
-h, --help output usage information
# example, default targetFile name is the openapi info title properity
$ swagen postman ./petstore.yaml ./petstore.postman_collection.json
# will generate petstore.postman_collection.json in pwd
# then can use fastman to import collection to postman
$ fastman import ./petstore.postman_collection.json
Generate mock collection from openapi
$ swagen mock -h
Usage: mock [options] [yamlFile] [dist]
Transform openapi file to json-server data file
Options:
-c, --count [count] Add count of mock data to generate, default is 10
-h, --help output usage information
# example, default targetFile name is the openapi info title properity
$ swagen mock ./petstore.yaml ./mock/
# will generate data.json and routes.json in mock
# then can use json-server with these data and routes
$ json-server ./mock/db.json --routes ./mock/routes.json
More about json-server you can see here
Use remote file
# set name with 'petstore'
swagen sdk https://api.36node.com/petstore/v0/openapi.yaml . petstore
Contributing
- Fork it!
- Create your feature branch:
git checkout -b feature/a-new-command
- Commit your changes:
git commit -am 'Add a new command'
- Push to the branch:
git push origin feature/a-new-command
- Submit a pull request :D
Add new template
- Add new generator js file in src/generators, filename is the template name.
- In new generator js file, export default function which generate template.
Author
template-cli © 36node, Released under the MIT License.
Authored and maintained by 36node with help from contributors (list).
github.com/zzswang · GitHub @36node · Twitter @y