create-ts-json-schema
TypeScript icon, indicating that this package has built-in type declarations

0.11.4 • Public • Published

create-ts-json-schema

Download Status Github Star Github Issues NPM version License

automatically generate json-schema from TypeScript source code and management it!

What is create-ts-json-schema?

create-ts-json-schema is tiny cli utility that automatically generate json-schema from TypeScript source code and management generated json-schema. If you use fastify.js that uses json-schema to validate request and reply. But managing a large number of json-schema takes a lot of effort. create-ts-json-schema help that work.

demo

installation

npm install create-ts-json-schema --save-dev

Usage

# generate json-schema and create database (if exist)
ctjs add

# delete json-schema from database
ctjs del

# truncate database
ctjs truncate

# regenerate all json-schema in database

Fastify.js

Example for fastify

import fastify from 'fastify';
import fs from 'fs';

const server = fastify();
const db = JSON.parse((await fs.promises.readFile('db.json')).toString());
Object.value(db).forEach((record) => server.addSchema(JSON.parse(record.schema)));

server.get(
  '/pokemon/:name',
  {
    schema: {
      tags: ['Pokemon'],
      summary: 'Pokemon detail information using by name',
      querystring: { $ref: 'IReqPokeDetailQuerystring' }, // You can access local reference for fastify schema store
      params: { $ref: 'IReqPokeDetailParams' }, // You can access local reference for fastify schema store
      response: {
        200: { $ref: 'IPokemonDto' }, // You can access local reference for fastify schema store
      },
    },
  },
  (req) => {
    /* your handler code */
  },
);

command and option

command

command alias description
add a add or update json-schema to database file
del d delete json-schema from database file
refresh r regenerate all json-schema in database file
truncate t reset database file

add option

option alias description
project p tsconfig.json path
config c configuration file path
output o database file path
skip-error skip compile error on source file
types TypeScript type of source code. You can use interface, type alias, enum, class.
files TypeScript source code file path
format generated json-schema save format: json, string, base64

delete option

option alias description
project p tsconfig.json path
config c configuration file path
output o database file path
skip-error skip compile error on source file
types TypeScript type of source code. You can use interface, type alias, enum, class.
files TypeScript source code file path

refresh option

option alias description
project p tsconfig.json path
config c configuration file path
output o database file path
skip-error skip compile error on source file
format generated json-schema save format: json, string, base64

truncate option

option alias description
project p tsconfig.json path
config c configuration file path
output o database file path

Readme

Keywords

none

Package Sidebar

Install

npm i create-ts-json-schema

Weekly Downloads

6

Version

0.11.4

License

MIT

Unpacked Size

1.01 MB

Total Files

107

Last publish

Collaborators

  • jooni