Skip to content

Latest commit

 

History

History
106 lines (82 loc) · 2.16 KB

README.md

File metadata and controls

106 lines (82 loc) · 2.16 KB


📚
ts-bookshelf

npm MIT License Codecov branch
generate markdown-based documentation from typescript types

Introduction

ts-bookshelf is a library for generating markdown documentation from typescript types.

Installation

$ npm install ts-bookshelf

# or

$ yarn add ts-bookshelf

and you should install and import reflect-metadata and configure related things in your project:

$ npm install reflect-metadata

# or

$ yarn add reflect-metadata
import "reflect-metadata";
// in your tsconfig.json
{
    compilerOptions: {
        emitDecoratorMetadata: true,
        experimentalDecorators: true,
    },
}

Usage

import "reflect-metadata";
import { DocField, DocType, generateDocsForClass } from "ts-bookshelf";
import * as fs from "fs";

@DocType({
    name: "MyType",
    description: "this is a description of my type",
})
class MyType {
    @DocField({
        description: "this is a description",
    })
    public myProperty!: string;
}

// ...

const content = generateDocsForClass(MyType);
fs.writeFileSync("docs-for-MyType.md", content);

then docs-for-MyType.md will be:

# MyType (MyType)

this is a description of my type

## Fields

### `myProperty`

| Name        | Description           |
| ----------- | --------------------- |
| Type        | String                |
| Nullable    | ❌ No                 |
| Description | this is a description |