jtd-codebuild is a tool for generating language specific schemas and interfaces code from JSON Type Definition IDL files in either yaml or json format.
This tool is built on top of jtd-codegen so check out the documentation if you don't have a clue about JSON Type Definition.
In this example, we will generate Python and TypeScript code from JSON Type Definition IDL files.
First, copy and paste the following configuration file to the root of your project.
{
"include": [
"src"
],
"references": [],
"jtdBundlePath": "gen/schema.jtd.json",
"targets": [
{
"language": "python",
"path": "gen/python"
},
{
"language": "typescript",
"path": "gen/typescript"
}
],
"$schema": "https://raw.githubusercontent.com/01Joseph-Hwang10/jtd-codebuild/master/jtd_codebuild/config/project/config.json"
}
Then, we'll create some JSON Type Definition IDL files in the src
directory.
# src/book.jtd.yaml
Book:
properties:
id:
type: string
title:
type: string
# src/user.jtd.yaml
User:
properties:
id:
type: string
name:
type: string
books:
elements:
ref: Book
Finally, run the following command to generate the code.
jtd-codebuild .
You can find the generated code in the gen
directory.
You can find more examples under the tests directory:
- Python Codegen Examples
- TypeScript Codegen Examples
- Monorepo Example (includes other languages' examples)
See the API Documentation for more information.
Any contribution is welcome! Check out CONTRIBUTING.md and CODE_OF_CONDUCT.md for more information on how to get started.
jtd-codebuild
is licensed under a MIT License.