Skip to content

env0/ts-transform-json-schema

This branch is 41 commits ahead of, 1 commit behind marionebl/ts-transform-json-schema:dependabot/npm_and_yarn/json5-2.2.2.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cdabaf1 Â· Jan 5, 2023

History

65 Commits
Nov 16, 2019
Nov 22, 2021
Dec 22, 2019
Apr 4, 2019
May 19, 2022
Sep 24, 2018
Sep 24, 2018
Apr 4, 2019
Sep 24, 2018
Sep 24, 2018
Sep 24, 2018
Jan 5, 2023
May 19, 2022
Oct 12, 2020
Jan 5, 2023

Repository files navigation

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

About

Generate inline JSON schema from TypeScript types

Resources

License

Stars

Watchers

Forks

Languages

  • TypeScript 95.5%
  • JavaScript 4.5%