lehre

    1.5.0 • Public • Published

    Lehre

    build

    Lehre is document block generator.

    Generate JsDoc style document from source code.

    Install

    yarn add -D lehre

    Usage

    cat src/app.ts | lehre --stdin

    Specify directory and ignore patterns.

    lehre --target-dir=./src --ignore-patterns="spec.ts"

    Specify file.

    lehre --target-file=./src/app.ts

    Use babel parser(default parser is TypeScript compiler api and recommend to use)

    lehre --target-file=./src/app.ts --parser=babel
    $ ./lehre --help
    Usage: lehre [options]
    
    Options:
      -v, --version                 output the version number
      -t, --target-file [path]      Path to target file.
      -d, --target-dir [path]       Path to target directory.
      --stdin                       Force reading input from STDIN
      --write                       Edit files in-place
      --template-path [path]        Custom formatter path
      --ignores [path]              Ignore directory names
      --ignore-patterns [patterns]  Ignore patterns
      --parser [target]             Parser (default: "ts")
      --style [style]               Output style(string | json) (default: "string")
      --nest                        Enable to generate inner document(only
                                    parser=ts available)
      --scriptTarget [target]       [ES3 | ES5 | ES2015 | ES2016 | ES2017 | ES2018
                                    | ES2019 | ESNext] (default: "ESNext")
      --scriptKind [kind]           [JS | JSX | TS | TSX] (default: "TS")
      --formatter [formatter]       Document formatter(jsdoc | esdoc | tsdoc)
                                    (default: "jsdoc")
      -h, --help                    display help for command

    Formatters

    You can choose document block formatter from JsDoc, ESDoc, TSDoc and your custom formatter.

    JsDoc(default)

    cat src/app.ts | lehre --stdin

    EsDoc

    cat src/app.ts | lehre --stdin --formatter=esdoc

    TsDoc

    cat src/app.ts | lehre --stdin --formatter=tsdoc

    Coustom formatter

    cat src/app/ts | lehre --stdin --template-path=./examples/template.js

    Custom formatter

    You can create your own cutom document block formatter.

    Return string value and it insert above to signature automatically.

    examples/template.js is sample formatter.

    Formatter api

    generateClassDoc

    generateClassDoc: (
      name: string,
      type: string,
      start: { line: number, charactor: number },
      end: { line: number, charactor: number },
      methods: [
        name: string,
        type: string,
        start: { line: number, charactor: number },
        end: { line: number, charactor: number },
        params: ParamProps[
          name: string,
          type: string,
          default: string,
          alias: string,
        ],
        returnType: string,
      ],
      heritageClauses: [{ type: string, value: string }],
    ) => string

    generateInterfaceDoc

    generateInterfaceDoc: ({
      name: string,
      type: string,
      start: { line: number, charactor: number },
      end: { line: number, charactor: number },
      methods: [
        name: string,
        type: string,
        start: { line: number, charactor: number },
        end: { line: number, charactor: number },
        params: ParamProps[
          name: string,
          type: string,
          default: string,
          alias: string,
        ],
        returnType: string,
      ],
      heritageClauses: [{ type: string, value: string }],
    }) => string

    generatePropertyDoc

    generatePropertyDoc: ({
      name: string,
      type: string,
      start: { line: number, charactor: number },
      end: { line: number, charactor: number },
      params: ParamProps[
        name: string,
        type: string,
        default: string,
        alias: string,
      ],
      returnType: string,
    }) => string

    generateFunctionDoc

    generateFunctionDoc: ({
      name: string,
      type: string,
      start: { line: number, charactor: number },
      end: { line: number, charactor: number },
      params: ParamProps[
        name: string,
        type: string,
        default: string,
        alias: string,
      ],
      returnType: string,
    }) => string

    LICENSE

    MIT

    Install

    npm i lehre

    DownloadsWeekly Downloads

    477

    Version

    1.5.0

    License

    MIT

    Unpacked Size

    225 kB

    Total Files

    126

    Last publish

    Collaborators

    • heavenshell