---
name: "jsdoc"
section: "1"
platform: "linux"
package: "jsdoc-toolkit"
version: "2.4.0+dfsg-7.1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/jsdoc"
---

# jsdoc(1)

automatic generator for HTML documentation of Javascript sources

## NAME

jsdoc - automatic generator for HTML documentation of Javascript sources

## SYNOPSIS

**jsdoc** {**-d=***\<PATH\>* \| **--directory=***\<PATH\>*}  \[**options**\] **\<SRC\_DIR\_OR\_FILE\>** **...**

**jsdoc** \[{**-h** \| **--help**}\]

## DESCRIPTION

This manual page documents briefly the **jsdoc** command.

**jsdoc** is application, written in JavaScript, for automatically generating template-formatted, multi-page HTML (or XML, JSON, or any other text-based) documentation from commented JavaScript source code.

## OPTIONS

The program follows the usual GNU command line syntax, with long options starting with two dashes (\`-'). A summary of options is included below. For a complete description, see the [**info**(1)](/info/1.md) files.

- **-a**, **--allfunction**

  Include all functions, even undocumented ones.

- **-c**, **--conf**

  Load a configuration file.

- **-d=***\<PATH\>*, **--directory=***\<PATH\>*

  Output to this directory (required parameter).

**-D=***"myVar:My value"*, **--define=***"myVar:My value"*

Multiple. Define a variable, available in JsDoc as JSDOC.opt.D.myVar.

- **-e=***\<ENCODING\>*, **--encoding=***\<ENCODING\>*

  Use this encoding to read and write files.

- **-E=***"REGEX"*, **--exclude=***"REGEX"*

  Multiple. Exclude files based on the supplied regex.

- **-h**, **--help**

  Show this message and exit.

- **-m**, **--multiples**

  Don't warn about symbols being documented more than once.

- **-n**, **--nocode**

  Ignore all code, only document comments with @name tags.

- **-o=***\<PATH\>*, **--out=***\<PATH\>*

  Print log messages to a file (defaults to stdout).

- **-p**, **--private**

  Include symbols tagged as private, underscored and inner symbols.

- **-q**, **--quiet**

  Do not output any messages, not even warnings.

- **-r=***\<DEPTH\>*, **--recurse=***\<DEPTH\>*

  Descend into src directories.

- **-s**, **--suppress**

  Suppress source code output.

- **-S**, **--securemodules**

  Use Secure Modules mode to parse source code.

- **-t=***\<PATH\>*, **--template=***\<PATH\>*

  Use this template to format the output.

- **-T**, **--test**

  Run all unit tests and exit.

- **-u**, **--unique**

  Force file names to be unique, but not based on symbol names.

- **-v**, **--verbose**

  Provide verbose feedback about what is happening.

- **-x=***\<EXT\>\[,EXT\]...*, **--ext=***\<EXT\>\[,EXT\]...*

  Scan source files with the given extension/s (defaults to js).

## BUGS

The following bugs are known bugs:

Does not support spaces in arguments

The wrapper **jsdoc** is not immune to spaces in filenames, either escaped or not.

## AUTHOR

**Georges Khaznadar** \<georgesk@ofset.org\>

Wrote this manpage for the Debian system.

## COPYRIGHT

Copyright © 2011 Georges Khaznadar\

This manual page was written for the Debian system (and may be used by others).

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-2.
