Skip to content

How to document an AMD module

Lorin Halpert edited this page Nov 26, 2021 · 1 revision

1. Say you have an AMD module you'd like to document.

define(function () {
  function add (a, b) {
    return a + b
  }
  return add
})

2. Given that jsdoc2md only generates markdown for documented identifiers and modules, you must document each identifier you want to appear in output - including the module. Therefore, you must use @module at the top of file to document the module.

/**
 * A module for adding two values.
 * @module add-two-values
 */

define(function () {
  /**
   * Add two values.
   */
  function add (a, b) {
    return a + b
  }

  return add
})

3. Still, the add function above will not appear in output as jsdoc3 neither documents IIFE internals nor understands it's the exported value. So, we explicitly declare it as the exported value by marking it as an @alias of the module:

/**
 * A module for adding two values.
 * @module add-two-values
 */

define(function () {
  /**
   * Add two values.
   * @alias module:add-two-values
   */
  function add (a, b) {
    return a + b
  }

  return add
})

4. This file will now appear in jsdoc2md output. Without the @module tag it will not appear.

Clone this wiki locally