jsdoc-class-hierarchy

JSDoc plugin to add class hierarchy data

Usage no npm install needed!

<script type="module">
  import jsdocClassHierarchy from 'https://cdn.skypack.dev/jsdoc-class-hierarchy';
</script>

README

jsdoc-class-hierarchy

JSDoc plugin to add class hierarchy data, and optionally an HTML list representation of the same.

It uses the newDoclet and processingComplete events given by JSDoc, and reads the augments property in the doclets. This is added when the @extends tag is used.

Install

Install using npm:

npm install jsdoc-class-hierarchy --save-dev

Add to the plugins in your JSDoc config:

{
  "plugins": [
    "node_modules/jsdoc-class-hierarchy"
  ]
}

Configuration

Name|Type|Description --|--|-- showList | boolean | Whether or not to show an HTML list of the children classes and hierarchy.

Defaults to false.

Usage

If you use the plugin with showList enabled you automatically get a styled HTML list in your class description. This is is the easiest way of using the plugin:

{
  "plugins": [
    "node_modules/jsdoc-class-hierarchy"
  ],
  "opts": {
    "class-hierarchy": { "showList": true }
  }
}

It will result in something like this:

class hierarchy screenshot

If you don't like this display you can update your theme to show this data however you like. Doclets of classes that have subclasses will have a children key. All classes that are subclasses of another class will have the hierarchy key. Both are arrays of strings, with the class on top of the hierarchy being the first one.

For example:

doclet.children = [ 'OO.ui.ToolGroup', 'OO.ui.Tool' ];
doclet.hierarchy = [ 'OO.ui.Element', 'OO.ui.Widget' ];