openapi-fastify-codegen
v1.0.2
Published
An OpenAPI v3 code generator for Node.js with Fastify framework
Downloads
10
Readme
Here's why:
- Generator should be written in JS/TS so I could contribute and/or change some logic if I need to
- Instead of being a tool that generates server "on-the-fly" (under the hood) from YAML every time you start it, I want "one-time" tool to generate server code
- Generated code structure should be readable & similar to ordinary server code, no abstractions and/or code specific to this generator
- Validation of requests/responses based on schema taken from OpenAPI spec
- Fastify support
- Ready for Docker
- Not abandoned
So this project was born.
Generated code features:
- One-time operation, after generation you don't need original YAML file
- Easy to read - generated code looks just like normal server code, no abstractions.
- Uses Fastify - the fastest web framework for Node.js
- Validation based on ajv-oai
- Configured for Docker use (includes Dockerfile)
Generated code structure
|- package.json
|- Dockerfile
|+ src/
|- index.js
|+ lib/
|+ routes/
|+ schema/
|+ services/
Install
To use it from the CLI:
npm install -g openapi-fastify-codegen
Usage
From the command-line interface (CLI)
Usage: ofc <YamlFile> [options]
Options:
-o, --output <outputDir> directory where to put the generated files
Example:
ofc patstore-expanded.yaml -o ./petstore
Local Testing:
Clone this repo, and run this:
node cli.js tests/openapi3/petstore-expanded.yaml -o ./generated/petstore
to generate code from test YAML.
Example
You can find generated code in example/petstore folder.
Requirements
- Node.js v13.2+ (Project uses ES modules)
Contributing
Any contributions are greatly appreciated. If you have any suggestions/bug reports - please create an issue!
License
Distributed under the MIT License. See LICENSE
for more information.
Acknowledgements
- Swagger Code Generator - base for my generator
- OpenAPI > JSON Schema converter