JSDoc has a few requirements that are somewhat unusual for a Node.js app:
1. We need `require('jsdoc/foo')` to work from any module.
2. We need `require('jsdoc/foo')` to work from external code, such as templates and plugins.
Prior to this commit, JSDoc did two separate things to meet these requirements:
1. Use an npm post-install script to create a symlink from `lib/jsdoc` to `node_modules/jsdoc`.
2. When a user runs JSDoc, copy templates and plugins into the JSDoc directory.
These fixes worked, sort of. But they also caused numerous issues with file permissions, especially on Windows.
We now use the Requizzle module, which hacks the Node.js module system to support JSDoc's use cases. There's no longer a post-install script, and there's no need for a symlink in `node_modules`.
JSDoc 3
An API documentation generator for JavaScript.
Want to contribute to JSDoc? Please read CONTRIBUTING.md.
Installation and Usage
You can run JSDoc on either Node.js or Mozilla Rhino.
Node.js
Native support for Node.js is available in JSDoc 3.3.0 and later. JSDoc supports Node.js 0.10 and later.
Installing JSDoc for Node.js
You can install JSDoc in your project's node_modules folder, or you can
install it globally.
To install the latest alpha version:
npm install jsdoc@"<=3.3.0"
To install the latest development version:
npm install git+https://github.com/jsdoc3/jsdoc.git
Note: If you install JSDoc globally, do not use sudo npm install. This may
prevent you from running JSDoc as a normal user. If you cannot install global
packages without sudo, please
fix your npm directory permissions.
Running JSDoc with Node.js
If you installed JSDoc locally, the JSDoc command-line tool is available in
./node_modules/.bin. To generate documentation for the file
yourJavaScriptFile.js:
./node_modules/.bin/jsdoc yourJavaScriptFile.js
Or if you installed JSDoc globally, simply run the jsdoc command:
jsdoc yourJavaScriptFile.js
By default, the generated documentation is saved in a directory named out. You
can use the --destination (-d) option to specify another directory.
Run jsdoc --help for a complete list of command-line options.
Mozilla Rhino
All versions of JSDoc 3 run on a customized version of Mozilla Rhino, which requires Java. You can run JSDoc 3 on Java 1.6 and later.
Installing JSDoc for Mozilla Rhino
To install JSDoc, download a .zip file for the latest development version or a previous release.
You can also use git to clone the JSDoc repository:
git clone git+https://github.com/jsdoc3/jsdoc.git
The JSDoc repository includes a
customized version of Mozilla Rhino. Make
sure your Java classpath does not include any other versions of Rhino. (On OS X,
you may need to remove the file ~/Library/Java/Extensions/js.jar.)
Note: In JSDoc 3.3.0 and later, if you need to run JSDoc on Mozilla Rhino, do not install JSDoc with npm. Use one of the methods described above.
Running JSDoc with Mozilla Rhino
On OS X, Linux, and other POSIX systems, to generate documentation for the file
yourJavaScriptFile.js:
./jsdoc yourJavaScriptFile.js
Or on Windows:
jsdoc yourJavaScriptFile.js
By default, the generated documentation is saved in a directory named out. You
can use the --destination (-d) option to specify another directory.
Run jsdoc --help for a complete list of command-line options.
Templates and Build Tools
The JSDoc community has created numerous templates and other tools to help you generate and customize your documentation. Here are just a few:
Templates
Build Tools
For More Information
Project Documentation: http://usejsdoc.org/
Project Documentation Source: https://github.com/jsdoc3/jsdoc3.github.com
JSDoc User's Group: http://groups.google.com/group/jsdoc-users
Project Announcements: http://twitter.com/jsdoc3
License
JSDoc 3 is copyright (c) 2011-2014 Michael Mathews micmath@gmail.com and the contributors to JSDoc.
JSDoc 3 is free software, licensed under the Apache License, Version 2.0. See
the file LICENSE.md in this distribution for more details.