1.0.0 • Published 1 year ago

ts-bookshelf v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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 |