typescript-documentation
v3.0.2
Published
Generate markdown API documentation directly from TypeScript source code
Downloads
109
Maintainers
Readme
typescript-documentation
Generate markdown API documentation directly from TypeScript source code.
Usage
npm i typescript-documentation
> typescript-documentation [options]
Options:
-p, --project <tsconfig file> relative or absolute path to a tsconfig.json file (default: "./tsconfig.json")
-e, --entry <main file> entry/main file of project (default: "./src/index.ts")
-o, --output <markdown file> markdown documentation output file location (default: "./docs/README.md")
-h, --help output usage information
Documenting variables
Example input:
/**
* Simple variable description
* line 2
* @see {@link https://test.url.1|Example url 1}
* @see {@link https://test.url.2|Example url 2}
* @example
* example 1 line 1
* example 1 line 2
* @example
* example 2 line 1
* example 2 line 2
*/
export const simpleVariable: number = 1;
Example output:
simpleVariable
Simple variable description line 2
TYPE
number
EXAMPLES
example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2
SEE ALSO
Documenting functions
Example input:
/**
* Simple function description
* line 2
* @see {@link https://test.url.1|Example url 1}
* @see {@link https://test.url.2|Example url 2}
* @example
* example 1 line 1
* example 1 line 2
* @example
* example 2 line 1
* example 2 line 2
* @param a first parameter description
* @param b second parameter description
*/
export function simpleFunction(a: string, b?: number): string {
return a;
}
Example output:
simpleFunction(a, b)
Simple function description line 2
PARAMETERS
a
: string - first parameter descriptionb?
: number - second parameter description
RETURNS
string
EXAMPLES
example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2
SEE ALSO
Documenting classes
Example input:
/**
* Simple class description
* line 2
* @see {@link https://test.url.1|Example url 1}
* @see {@link https://test.url.2|Example url 2}
* @example
* example 1 line 1
* example 1 line 2
* @example
* example 2 line 1
* example 2 line 2
*/
export class SimpleClass {
/**
* simpleMethod1 description
* line 2
* @see {@link https://test.url.3|Example url 3}
* @see {@link https://test.url.4|Example url 4}
* @example
* example 3 line 1
* example 3 line 2
* @example
* example 4 line 1
* example 4 line 2
*/
public simpleMethod1(): void {
return;
}
/**
* simpleMethod2 description
* line 2
* @param a first parameter description
* @param b second parameter description
*/
public simpleMethod2(a: string, b: number): string {
return a + b;
}
}
Example output:
SimpleClass
Simple class description line 2
EXAMPLES
example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2
SEE ALSO
simpleClass.simpleMethod1()
simpleMethod1 description line 2
RETURNS
void
EXAMPLES
example 3 line 1
example 3 line 2
example 4 line 1
example 4 line 2
SEE ALSO
simpleClass.simpleMethod2(a, b)
simpleMethod2 description line 2
PARAMETERS
a
: string - first parameter descriptionb
: number - second parameter description
RETURNS
string
Documenting types
Example input:
/**
* Simple type description
* line 2
* @see {@link https://test.url.1|Example url 1}
* @see {@link https://test.url.2|Example url 2}
* @example
* example 1 line 1
* example 1 line 2
* @example
* example 2 line 1
* example 2 line 2
*/
export type SimpleType = {
/**
* first property description
*/
a: string;
/**
* second property description
*/
b?: number;
};
Example output:
SimpleType
Simple type description line 2
PROPERTIES
a
: string - first property descriptionb?
: number - second property description
EXAMPLES
example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2
SEE ALSO
Documenting enumerations
Example input:
/**
* Simple enumeration description
* line 2
* @see {@link https://test.url.1|Example url 1}
* @see {@link https://test.url.2|Example url 2}
* @example
* example 1 line 1
* example 1 line 2
* @example
* example 2 line 1
* example 2 line 2
*/
export enum SimpleEnum {
ONE,
TWO
}
Example output:
SimpleEnum
Simple enumeration description line 2
POSSIBLE VALUES
ONE
TWO
EXAMPLES
example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2
SEE ALSO