This repository consists of few plugins which extend the capabilities of TypeDoc.
Before enabling plugins from the package, you need to install it first.
npm install @ckeditor/typedoc-plugins
Below you can find the detailed overview of available plugins.
The plugin reads the module name specified in the @module
annotation.
import type { TypeDefinition } from '...';
/**
* @module package/file
*/
For the example specified above, a name of the parsed module should be equal to package/file
.
The import
statements may be specified above the "@module" block code. In such a case, the default module parser from typedoc
returns the module name based on a path relative to the project root.
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/module-fixer' )
]
}
The plugin renames Symbol.*
definitions with the JSDoc style.
- Typedoc:
[iterator]() → Iterator
- JSDoc:
Symbol.iterator() → Iterator
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/symbol-fixer' )
]
}
The plugin tries to fix an interface, that has been extended (augmented) from the outside (from
another module) in the re-exported index.ts
file. When the extending "declare module ..." declaration contains the full package name, it points to the index.ts
file instead of the actual source file. The goal is to add missing properties from interfaces to their source locations.
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/interface-augmentation-fixer' )
]
}
The plugin injects the eventInfo
parameter (an instance of the EventInfo
class) as the first parameter for each event reflection.
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/event-param-fixer' )
]
}
The plugin takes care of inheriting events, which are created manually via the @eventName
annotation.
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/event-inheritance-fixer' )
]
}
The plugin removes reflections collected from private packages (marked as "private": true
in their package.json
). To disable the mechanism, add the @publicApi
annotation at the beginning of a file.
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/purge-private-api-docs' )
]
}
The plugin collects error definitions from the @error
annotation.
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/tag-error' )
]
}
The plugin collects event definitions from the @eventName
annotation and assigns them as the children of the class or the Observable
interface.
We are not using the @event
annotation, known from the JSDoc specification, because it has a special meaning in the TypeDoc, and it would be difficult to get it to work as we expect.
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/tag-event' )
]
}
To enable the plugin, add the following path to available plugins:
{
plugin: [
// ...
require.resolve( '@ckeditor/typedoc-plugins/lib/tag-observable' )
]
}
See the CHANGELOG.md
file.