ts-transform-json-schema
-
🌳 Generate inline JSON schema from TypeScript types
Example
In
import * as JsonSchema from "ts-transform-json-schema";
export interface SomeInterface {
a: string;
b: number;
c?: boolean;
}
export const schema = JsonSchema.fromType<SomeInterface>({
additionalProperties: false
});
// tsconfig.json
{
"compilerOptions": {
"target": "es2015",
"plugins": [
{
"transform": "ts-transform-json-schema",
"type": "program"
}
]
}
}
Out
import * as JsonSchema from "ts-transform-json-schema";
export const schema = {
additionalProperties: false,
type: "object",
properties: {
a: { type: "string" },
b: { type: "number" },
c: { type: "boolean" }
},
$schema: "http://json-schema.org/draft-07/schema#"
};
Installation
npm install ts-transform-json-schema ttypescript --save-dev
Usage
// tsconfig.json
{
"compilerOptions": {
"target": "es2015",
"plugins": [
{
"transform": "ts-transform-json-schema",
"type": "program"
}
]
}
}
See TTypeScript for docs about integration with other toolchains.
See ./example for a basic setup based on TTypeScript
License
MIT