This is a plugin for TypeDoc that merges the content of modules.
Use cases:
- If you want to document an entire application and not a library, you can specify all files that you want to have documented as entry points for TypeDoc and use this plugin to merge all modules into the project root removing the extra module layer.
- If you want to merge the content of some modules in the TypeDoc output, you can use this plugin and module annotations in your files to specify which modules should be combined.
This module can be installed using npm:
$ npm install typedoc-plugin-merge-modules --save-dev
TypeDoc automatically detects plugins installed via npm. After installation TypeDoc can be used normally and you can configure this plugin as described below.
When running TypeDoc with two module files module1.ts
and module2.ts
as entry points produces the following result:
Using this plugin will make the result look like this:
The following options are added to TypeDoc when the plugin is installed:
Name & Format | Description | Default |
---|---|---|
mergeModulesRenameDefaults <boolean> |
Defines if the plugin should rename default exports to their original name. | true |
mergeModulesMergeMode <"project"|"module"|"off"> |
Defines if the plugin should merge all modules into the project or if it should merge modules based on their name or module annotation. You can use the value "off" to disable the plugin. |
"project" |
When using mergeModulesMergeMode: module
in combination with module comments you should add the tag @mergeTarget
to the comment of the module whose comment should be used in the merge result.
Please report bugs here. Thanks for your contribution!
Special thanks go to the following people that contributed to this project:
- Gerrit Birkeland for the suggested solution and code example.
- Felipe Santos for suggesting improvements.
- Sho Otani for implementing the merging of modules by name.
If you find this piece of software helpful, please consider a donation. Any amount is greatly appreciated.