#codegen #openapi #contract-first #api #api-first

yanked codegenr-lib

Fast json/yaml/openapi code generator base on handlebars templating

Uses new Rust 2021

0.0.1 Dec 14, 2021

#59 in #swagger

GPL-3.0-or-later

145KB
3K SLoC

CodeGenR -- WORK IN PROGRESS Open in Gitpod

A Rust rewrite of C# CodegenUP.

codegenr graphical explanation

Roadmap :

  • Load a yaml or json to serde::json

  • Resolve $ref tags

  • Pass all the resulting document to an handlebar template

  • Implement some default helper (and make some doc tests about them)

  • A plugin system

  • Migrate C# custom helpers to this new plugin system

  • A this point, we could use codegenr in place of CodegenUP, just by calling some commands

  • Better Errors (typed ones)

  • Verbose/Tracing? mode

  • Smol strings optimisation ?

  • Resolved Json Cache optimisation

  • Better examples

  • all tests passing on windows too

  • Rename codegenr-cli to codegenr & codegenr to codegenr-lib

  • Publish on crates.io

  • Be able to have a codegenr.toml on a workspace root to describe all the templates to execute around the workspace, and watch for the file changes

  • Make a VSCode extension about all of this to make it live / super user friendly for everyone

  • Allow multiple swagger2 documents merging

  • Allow multiple swagger3 documents merging

  • Transform the json to an OpenApi Generator model, and be able to use all the OpenApi Generator templates ?

Some command lines

  • cargo doc --open compile and open the documentation
  • cargo install --path codegenr installs codegenr command line from sources

Dependencies

~9–18MB
~387K SLoC