@36node/swagen

0.18.6 • Public • Published

@36node/swagen

version downloads

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

  1. Fork it!
  2. Create your feature branch: git checkout -b feature/a-new-command
  3. Commit your changes: git commit -am 'Add a new command'
  4. Push to the branch: git push origin feature/a-new-command
  5. Submit a pull request :D

Add new template

  1. Add new generator js file in src/generators, filename is the template name.
  2. 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

Dependents (0)

Package Sidebar

Install

npm i @36node/swagen

Weekly Downloads

116

Version

0.18.6

License

MIT

Unpacked Size

133 kB

Total Files

14

Last publish

Collaborators

  • xuna08
  • zzswang
  • hauy
  • 36node-robot