TypeDoc

Documentation generator for TypeScript projects.

README

TypeDoc


Documentation generator for TypeScript projects.
CI NPM Version

Documentation


For more detailed documentation, the changelog, and TypeDoc documentation rendered with TypeDoc, see https://typedoc.org.

Installation


TypeDoc runs on Node.js and is available as a NPM package.

  1. ```text
  2. npm install typedoc --save-dev
  3. ```

Usage


To generate documentation TypeDoc needs to know your project entry point, and TypeScript
compiler options. It will automatically try to find your tsconfig.json file, so you can
just specify the entry point of your library:

  1. ```text
  2. typedoc src/index.ts
  3. ```

If you have multiple entry points, specify each of them.

  1. ```text
  2. typedoc package1/index.ts package2/index.ts
  3. ```

If you specify a directory, TypeDoc will use the entryPointStrategy option to determine how to resolve it.
By default, TypeDoc will search for a file called index under the directory.

Monorepos / Workspaces


If your codebase is comprised of one or more npm packages, you can pass the paths to these
packages and TypeDoc will attempt to determine entry points based on package.json's main
property (with default value index.js) and if it wasn't found, based on types property.
If any of the packages given are the root of an npm Workspace
or a Yarn Workspace TypeDoc will find all
the workspaces defined in the package.json. In order to find your entry points, TypeDoc requires
either that you turn on sourcemaps so that it can discover the original TS file, or that you
specify "typedocMain": "src/index.ts" to explicitly state where the package entry point is.
Supports wildcard paths in the same fashion as those found in npm or Yarn workspaces.

Single npm module


  1. ``` sh
  2. typedoc --entryPointStrategy packages .
  3. ```

Monorepo with npm/Yarn workspace at the root


  1. ``` sh
  2. typedoc --entryPointStrategy packages .
  3. ```

Monorepo with manually specified sub-packages to document


This can be useful if you do not want all your workspaces to be processed.
Accepts the same paths as would go in the package.json's workspaces

  1. ``` sh
  2. # Note the single quotes prevent shell wildcard expansion, allowing typedoc to do the expansion
  3. typedoc --entryPointStrategy packages a-package 'some-more-packages/*' 'some-other-packages/*'
  4. ```

Arguments


For a complete list of the command line arguments run typedoc --help or visit

- `--out `
    Specifies the location the documentation should be written to. Defaults to ./docs
- `--json `
    Specifies the location and file name a json file describing the project is
    written to. When specified no documentation will be generated unless --out is also
    specified.
- `--options`
    Specify a json option file that should be loaded. If not specified TypeDoc
    will look for 'typedoc.json' in the current directory.
- `--tsconfig `
    Specify a typescript config file that should be loaded. If not
    specified TypeDoc will look for 'tsconfig.json' in the current directory.
- `--exclude `
    Exclude files by the given pattern when a path is provided as source.
    Supports standard minimatch patterns.

Theming


- `--theme `
    Specify the theme that should be used.
- `--name `
    Set the name of the project that will be used in the header of the template.
- `--readme `
    Path to the readme file that should be displayed on the index page. Pass none to disable the index page
    and start the documentation on the globals page.

Miscellaneous


- `--version`
    Display the version number of TypeDoc.
- `--help`
    Display all TypeDoc options.

Contributing


This project is maintained by a community of developers. Contributions are welcome and appreciated.
You can find TypeDoc on GitHub; feel free to open an issue or create a pull request:
https://github.com/TypeStrong/typedoc

For more information, read the contribution guide.