krisztianb / typedoc-umlclass Goto Github PK
View Code? Open in Web Editor NEWPlugin for TypeDoc that generates UML class diagrams
License: ISC License
Plugin for TypeDoc that generates UML class diagrams
License: ISC License
Dear @krisztianb
If I compare the uml generated and the type of the methods, ... are not the same and missing information :
If I compare with other tools, the same class, I have this :
Best Regards,
Youssef
The latest PlantUML version includes a small web server called PicoWeb that can be used to generate class diagrams on the fly. It works just like the one on the PlantUML website.
More info here: https://plantuml.com/picoweb
We could extend the umlClassDiagramLocation
option with another value to support this.
Dear @krisztianb
I see now from the previous picture sent, a better decode of the type but I don't have all the dependencies that means interface, inheritance are missing.
Best Regards,
Youssef
Originally posted by @yboujraf in #6 (comment)
Dear @krisztianb
May I ask you to include the legend into the class diagram like ?
That means for each icon to have his type or his definition
Best Regards,
Youssef
Dear @krisztianb
I have an issue, the picture is not displayed on the page
When clicking on the link, I have this :
The html file :
alldestinationsassociationnamesrequestmessagecommand.zip
But the picture is complete
Best Regards,
Youssef
Dear @krisztianb
Happy to see I can generate class-diagram now ;-)
This is my status after installing the plugin.
Would you like to verify if my settings are the optimal to generate the uml class diagram ?
module.exports = {
inputFiles: ['./src/'],
mode: 'file',
includeDeclarations: true,
tsconfig: 'tsconfig.json',
out: './docs/dist/docs-class-diagram/',
excludePrivate: false,
excludeProtected: false,
excludeExternals: true,
readme: './README.md',
name: 'Demo Library project',
ignoreCompilerErrors: true,
plugin: 'typedoc-umlclass',
listInvalidSymbolLinks: true,
entryPoint: 'index',
categorizeByGroup: true,
media: './medias',
version: '',
gitRemote: 'remote',
gitRevision: 'revision',
theme: 'default',
umlClassDiagramType: 'detailed',
umlClassDiagramLocation: 'local',
umlClassDiagramFormat: 'png',
umlClassDiagramSectionTitle: 'Class-Diagram',
umlClassDiagramPosition: 'above',
umlClassDiagramHideEmptyMembers: 'false',
umlClassDiagramTopDownLayoutMaxSiblings: 6,
umlClassDiagramMemberVisibilityStyle: 'icon',
umlClassDiagramHideCircledChar: 'false',
umlClassDiagramHideShadow: 'false',
// umlClassDiagramBoxBackgroundColor: 'transparent',
// umlClassDiagramBoxBorderColor : 'transparent',
umlClassDiagramBoxBorderRadius: 2,
// umlClassDiagramBoxBorderWidth : 6,
// umlClassDiagramArrowColor: 3,
umlClassDiagramClassFontName: 'Courier',
umlClassDiagramClassFontStyle: 'bold',
umlClassDiagramClassAttributeFontStyle: 'italic'
};
Would you like to share the minimum required to optimize the rendering and get all the information.
Best Regards,
Youssef
The plugin has a lot of options that are all prefixed with umlClassDiagram
. It would make sense to move these into an object and so get rid of having to prefix each option with the same string.
Add a new option embed
to the said option which creates a base64 encoded src
attribute value containing the image. See: https://stackoverflow.com/a/8499716/
The plugin has an option to specify the number of processes that should be used to generate the diagrams. This option can speed up the plugin dramatically but can easily be overlooked.
It would make sense to detect the number of CPUs available on the system and use that value as the default value for the option instead of defaulting to 1
.
Here is how this could be done: https://stackoverflow.com/questions/26049013/node-js-get-number-of-processors-available/37871843
Dear @krisztianb
I am using typedoc-plugin-pages and yours plugin.
It will be nice if i can combine both plugins.
Best regards,
Youssef
Currently the plugin does not decorate template classes with their template parameters.
This should be possible. See:
https://plantuml.com/class-diagram#b09695ba6d76313d
https://forum.plantuml.net/6253/support-for-generics-templates
Currently in the class diagram the class/interface members (properties and methods) are sorted alphabetically. It makes sense to add an option to sort them by visibility: first static, then public, then protected and then private members.
The plugin does not seem to support typedoc 0.24.x and gives the error:
" Tried to set an option (umlClassDiagram) that was not declared"
0.23.x works perfectly fine
When I run typedoc with this plugin enabled, the console hangs at Documentation generated at ...
and doesn't continue. The only thing that happens is that it keeps generating log-files hs_err_pidxxxx.log
with a trace starting with There is insufficient memory for the Java Runtime Environment to continue.
Also log files called replay_pid1000.log
. I'm guessing this plugin consumes too much memory.
Console output:
> typedoc --umlClassDiagramType detailed --excludePrivate --tsconfig src/tsconfig.app.json --mode modules -module commonjs --exclude **/*.spec.ts --out documentation/typedoc src/app && documentation\serve-typedoc
Loaded plugin C:\Users\Werk\Desktop\beerhive\venuewebsite\node_modules\typedoc-umlclass
Using TypeScript 3.8.3 from C:\Users\Werk\Desktop\beerhive\venuewebsite\node_modules\typescript\lib
Rendering [========================================] 100%
Documentation generated at C:\Users\Werk\Desktop\beerhive\venuewebsite\documentation\typedoc
While generating the docs for the project of @yboujraf the typedoc process hangs indefinitely. It looks like that 3 child processes (JAVA PlantUML) don't finish properly. But why?
Dear @krisztianb
Is it possible to rename in the \assts\images folder, the plantuml image renderized by the class name instead of umlClassDiagram-xxx.png ?
Best Regards,
Youssef
Dear @krisztianb
Which mode is the best to renderize the class diagram ?
The render is fast.
It takes long time and CPU 100% for rendering the class diagram.
Best Regards,
Youssef
Dear @krisztianb
When rendering class diagram, some uml is too large like and not renderized completely :
Best Regards,
Youssef
Dear @krisztianb
My config :
module.exports = {
inputFiles: ['./src/'],
mode: 'file',
//mode: 'modules',
includeDeclarations: true,
tsconfig: 'tsconfig.json',
out: './docs/dist/docs-class-diagram-files/',
excludePrivate: false,
excludeProtected: false,
excludeExternals: true,
readme: './README.md',
name: 'Axon ACP protocol Library project',
ignoreCompilerErrors: true,
plugin: 'typedoc-umlclass',
listInvalidSymbolLinks: true,
entryPoint: 'index',
categorizeByGroup: true,
media: './docs/dist/docs-class-diagram/assets',
version: '',
gitRemote: 'remote',
gitRevision: 'revision',
theme: 'default',
// Basic Settings
umlClassDiagramType: 'detailed',
umlClassDiagramLocation: 'embed',
//umlClassDiagramFormat: 'png',
umlClassDiagramFormat: 'svg',
// HTML output
umlClassDiagramSectionTitle: 'Class-Diagram',
umlClassDiagramPosition: 'above',
umlClassDiagramLegendType: 'full',
//umlClassDiagramLegendType: 'none',
//umlClassDiagramLegendType: 'only-included',
// Class diagram formating
umlClassDiagramMethodParameterOutput: 'complete',
//umlClassDiagramMemberOrder: 'private-to-public',
umlClassDiagramMemberOrder: 'public-to-private',
//umlClassDiagramMemberOrder: 'abc',
umlClassDiagramHideEmptyMembers: 'false',
// umlClassDiagramTopDownLayoutMaxSiblings: 6,
umlClassDiagramMemberVisibilityStyle: 'icon',
umlClassDiagramHideCircledChar: 'false',
umlClassDiagramHideShadow: 'false',
//umlClassDiagramBoxBackgroundColor: transparent | #RGBHEX ,
//umlClassDiagramBoxBorderColor: transparent | #RGBHEX ,
umlClassDiagramBoxBorderRadius: 2,
//umlClassDiagramBoxBorderWidth: 1,
//umlClassDiagramArrowColor: #RGBHEX ,
umlClassDiagramClassFontName: 'Courier',
//umlClassDiagramClassFontSize: integer ,
umlClassDiagramClassFontStyle: 'bold',
//umlClassDiagramClassFontColor: transparent|#RGBHEX ,
//umlClassDiagramClassAttributeFontName: font-name ,
umlClassDiagramClassAttributeFontStyle: 'italic',
//umlClassDiagramClassAttributeFontColor: transparent|#RGBHEX,
// Other settings
umlClassDiagramGeneratorProcessCount: 1,
umlClassDiagramHideProgressBar: true,
umlClassDiagramCreatePlantUmlFiles: true,
umlClassDiagramVerboseOutput: false
};
The markdown is not rendered on 'Global' page and on each 'interface' the markdown comment + table are not rendered.
On 'type' and 'enum', I have the markdown content and table rendered.
Best regards,
Youssef
Hi,
I started to use this extension. However, I noticed that the generated graphs are quite hard to read due to the lack of formatting.
Could it be possible to add some formatting, e.g. putting functions and argument names in bold, putting the return value in italic/red, or whatever, to improve the graphs readability ?
It seems possible as I saw that plantUML allows some formatting :
https://plantuml.com/en/creole
Cordially,
Hi @krisztianb
I can get the plugin to generate images just when ran for a single package, but images do not seem to be generated with a monorepo setup. Here is the repo I am working with for example: https://github.com/45Drives/houston-common.
Running yarn docs
from the monorepo root yields:
[info] Loaded plugin typedoc-umlclass
[info] Converting project at ./houston-common-lib
2024-04-29, 4:38:49 p.m. [INFO] Caculating number of diagrams to generate ...
2024-04-29, 4:38:49 p.m. [INFO] The result is: 22
2024-04-29, 4:38:49 p.m. [INFO] Setting up progress bar ...
[info] Converting project at ./houston-common-ui
[warning] No entry points were provided, this is likely a misconfiguration.
2024-04-29, 4:38:49 p.m. [INFO] Caculating number of diagrams to generate ...
2024-04-29, 4:38:49 p.m. [INFO] The result is: 0
[info] Merging converted projects
[info] Documentation generated at ./docs
(nothing happening after "Setting up progress bar ...")
However yarn docs
run from ./houston-common-lib
yields:
[info] Loaded plugin typedoc-umlclass
2024-04-29, 4:40:21 p.m. [INFO] Caculating number of diagrams to generate ...
2024-04-29, 4:40:21 p.m. [INFO] The result is: 22
2024-04-29, 4:40:21 p.m. [INFO] Setting up progress bar ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection BasicError ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection BasicError ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection BasicError ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection BasicError ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection Channel ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection Channel ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection Channel ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection Channel ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection ChannelEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection ChannelEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection ChannelEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection ChannelEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection CockpitEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection CockpitEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection CockpitEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection CockpitEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection ControlMessage ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection ControlMessage ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection ControlMessage ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection ControlMessage ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection DBusProxy ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection DBusProxy ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection DBusProxy ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection DBusProxy ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection DBusProxyEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection DBusProxyEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection DBusProxyEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection DBusProxyEvents ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection DeferredPromise ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection DeferredPromise ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection DeferredPromise ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection DeferredPromise ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection EventMap ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection EventMap ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection EventMap ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection EventMap ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection EventSource ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection EventSource ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection EventSource ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection EventSource ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection Spawn ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection Spawn ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection Spawn ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection Spawn ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection SpawnException ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection SpawnException ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection SpawnException ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection SpawnException ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection BashCommand ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection BashCommand ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection BashCommand ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection BashCommand ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection Command ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection Command ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection Command ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection Command ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection Directory ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection Directory ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection Directory ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection Directory ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection ExitedProcess ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection ExitedProcess ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection ExitedProcess ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection ExitedProcess ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection File ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection File ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection File ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection File ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection NonZeroExit ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection NonZeroExit ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection NonZeroExit ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection NonZeroExit ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection Path ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection Path ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection Path ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection Path ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection Process ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection Process ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection Process ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection Process ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection ProcessBase ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection ProcessBase ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection ProcessBase ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection ProcessBase ...
2024-04-29, 4:40:21 p.m. [INFO] Processing page for reflection ProcessError ...
2024-04-29, 4:40:21 p.m. [INFO] Generating PlantUML code for reflection ProcessError ...
2024-04-29, 4:40:21 p.m. [INFO] Creating leged for diagram of reflection ProcessError ...
2024-04-29, 4:40:21 p.m. [INFO] Creating diagram image for reflection ProcessError ...
2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection CockpitEvents ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection CockpitEvents ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection CockpitEvents ...
Using 64 process(es) to add 22 class diagrams [==--------------------------------------] 4%2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection DBusProxyEvents ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection DBusProxyEvents ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection DBusProxyEvents ...
Using 64 process(es) to add 22 class diagrams [====------------------------------------] 9%2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection ChannelEvents ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection ChannelEvents ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection ChannelEvents ...
Using 64 process(es) to add 22 class diagrams [=====-----------------------------------] 13%2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection ControlMessage ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection ControlMessage ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection ControlMessage ...
2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection Directory ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection Directory ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection Directory ...
Using 64 process(es) to add 22 class diagrams [=========-------------------------------] 22%2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection BasicError ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection BasicError ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection BasicError ...
Using 64 process(es) to add 22 class diagrams [===========-----------------------------] 27%2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection SpawnException ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection SpawnException ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection SpawnException ...
2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection ExitedProcess ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection ExitedProcess ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection ExitedProcess ...
Using 64 process(es) to add 22 class diagrams [===============-------------------------] 36%2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection Command ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection Command ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection Command ...
2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection Path ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection Path ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection Path ...
2024-04-29, 4:40:22 p.m. [INFO] Writing local image file for reflection File ...
2024-04-29, 4:40:22 p.m. [INFO] Creating local image URL for reflection File ...
2024-04-29, 4:40:22 p.m. [INFO] Inserting diagram into page for reflection File ...
Using 64 process(es) to add 22 class diagrams [====================--------------------] 50%2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection Channel ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection Channel ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection Channel ...
Using 64 process(es) to add 22 class diagrams [======================------------------] 54%2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection DBusProxy ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection DBusProxy ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection DBusProxy ...
2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection NonZeroExit ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection NonZeroExit ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection NonZeroExit ...
2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection EventMap ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection EventMap ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection EventMap ...
Using 64 process(es) to add 22 class diagrams [===========================-------------] 68%2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection Process ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection Process ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection Process ...
2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection BashCommand ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection BashCommand ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection BashCommand ...
2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection ProcessError ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection ProcessError ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection ProcessError ...
2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection ProcessBase ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection ProcessBase ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection ProcessBase ...
Using 64 process(es) to add 22 class diagrams [===================================-----] 86%2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection Spawn ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection Spawn ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection Spawn ...
2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection EventSource ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection EventSource ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection EventSource ...
Using 64 process(es) to add 22 class diagrams [======================================--] 95%2024-04-29, 4:40:23 p.m. [INFO] Writing local image file for reflection DeferredPromise ...
2024-04-29, 4:40:23 p.m. [INFO] Creating local image URL for reflection DeferredPromise ...
2024-04-29, 4:40:23 p.m. [INFO] Inserting diagram into page for reflection DeferredPromise ...
Using 64 process(es) to add 22 class diagrams [========================================] 100%
2024-04-29, 4:40:23 p.m. [INFO] Attaching content to CSS file ...
2024-04-29, 4:40:23 p.m. [INFO] DONE
[info] Documentation generated at /home/jboudreau/git/cockpit-file-sharing/houston-common/docs
Hi,
First of all thank you for the initiative for this package.
I installed the package and tried to generate the documentation but I got a Maximum call stack size exceeded
error in return.
Have you ever had this problem before?
Thank you in advance
My package.json file.
{
...
"devDependencies": {
...
"typedoc": "0.18.0",
"typedoc-plugin-mermaid": "1.3.0",
"typedoc-plugin-pages": "1.0.1",
"typedoc-umlclass": "0.2.2",
"typescript": "3.9.7",
...
}
}
My command line.
rimraf dist-doc && typedoc --out dist-doc --mode file --tsconfig src/tsconfig.json --theme pages-plugin types src
The error
Loaded plugin /.../node_modules/typedoc-plugin-mermaid
Loaded plugin /.../node_modules/typedoc-plugin-pages
Loaded plugin /.../node_modules/typedoc-umlclass
Using TypeScript 3.9.7 from /.../node_modules/typescript/lib
Rendering [==============--------------------------] 34%/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:163
let subTypes = new Array();
^
RangeError: Maximum call stack size exceeded
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:163:24)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
at Function.getSubTypesForReflection (/.../node_modules/typedoc-umlclass/dist/typedoc/typedoc_utils.js:181:65)
Dear @krisztianb
Could you generate into a seperate file the uml code compatible plantuml ;-) and better if it is in a markdown file.
Best Regards,
Youssef
The peer dependency declaration:
"peerDependencies": {
"typedoc": "0.23.x || 0.24.x"
}
breaks compatibility with typedoc 0.25 due to dependency conflicts
When I attempt to run typedoc I get an error for a value being invalid.
Full stack is:
Error: The plugin /Project/node_modules/typedoc-umlclass could not be loaded.
Error: umlClassDiagramBoxBorderWidth must be >= 0
at Object.convert (/usr/lib/node_modules/typedoc/dist/lib/utils/options/declaration.js:37:23)
at Options.setOptionValueToDefault (/usr/lib/node_modules/typedoc/dist/lib/utils/options/options.js:119:64)
at Options.addDeclaration (/usr/lib/node_modules/typedoc/dist/lib/utils/options/options.js:53:14)
at PluginOptions.addToApplication (/Project/node_modules/typedoc-umlclass/dist/plugin_options.js:287:25)
at Plugin.addOptionsToApplication (/Project/node_modules/typedoc-umlclass/dist/plugin.js:51:22)
at Plugin.initialize (/Project/node_modules/typedoc-umlclass/dist/plugin.js:43:14)
at load (/Project/node_modules/typedoc-umlclass/dist/index.js:9:27)
at PluginHost.load (/usr/lib/node_modules/typedoc/dist/lib/utils/plugins.js:28:21)
at CliApplication.bootstrap (/usr/lib/node_modules/typedoc/dist/lib/application.js:50:22)
at CliApplication.bootstrap (/usr/lib/node_modules/typedoc/dist/lib/cli.js:29:30)
/usr/lib/node_modules/typedoc/dist/lib/utils/options/declaration.js:37
throw new Error(getBoundsError(numberOption.name, numberOption.minValue, numberOption.maxValue));
^
Error: umlClassDiagramBoxBorderWidth must be >= 0
at Object.convert (/usr/lib/node_modules/typedoc/dist/lib/utils/options/declaration.js:37:23)
at Options.setOptionValueToDefault (/usr/lib/node_modules/typedoc/dist/lib/utils/options/options.js:119:64)
at Options.reset (/usr/lib/node_modules/typedoc/dist/lib/utils/options/options.js:24:18)
at CliApplication.bootstrap (/usr/lib/node_modules/typedoc/dist/lib/application.js:51:22)
at CliApplication.bootstrap (/usr/lib/node_modules/typedoc/dist/lib/cli.js:29:30)
at Object.<anonymous> (/usr/lib/node_modules/typedoc/bin/typedoc:5:5)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
I am using typedoc with no other extensions.
I installed using the command "npm install typedoc-umlclass --save-dev"
I have tried adding a value to my typedoc.json for the umlClassDiagramBoxBorderWidth option with values of -1, 0, and 1; all failed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.