by deshaw

deshaw / gulp-jsdoc3

gulp integration for jsdoc3 cli

127 Stars 39 Forks Last release: almost 5 years ago (v0.1.0) Apache License 2.0 47 Commits 12 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


NPM version NPM DM Build Status Coverage Status

jsdoc plugin for gulp



as a development dependency:
npm install --save-dev gulp-jsdoc3


const jsdoc = require('gulp-jsdoc3');

gulp.task('doc', function (cb) { gulp.src(['', './src/*/.js'], {read: false}) .pipe(jsdoc(cb)); });

By default, documentation is output to

. gulp-jsdoc3 does not modify the source vinyl stream so the output location can only be specified via config, not
. You can see all the default options passed to jsdoc in

You can also pass in your own config to override the defaults. All CLI options can be specified here.

const jsdoc = require('gulp-jsdoc3');

gulp.task('doc', function (cb) { const config = require('./jsdoc.json'); gulp.src(['', './src/*/.js'], {read: false}) .pipe(jsdoc(config, cb)); });

Another good example is in this project's gulpfile!

Overriding the default layout

ink-docstrap is used as the default layout but you can easily override it in your config like this:

    "templates": {
        "default": {
            // Set my own layout file
            "layoutFile": "./layout.tmpl"

Other config tips and tricks

Use include and exclude patterns to filter the globs from gulp even more. For example, only include .js,.jsdoc, or .jsx files that do not start with : ``` "source": { "includePattern": ".+\.js(doc|x)?$", "excludePattern": "(^|\/|\\)" } ```

If you want to document multiple markdown or html files, enable tutorial support:

"tutorials": "path/to/tutorials"


Set env variable:



This is a reasonable attempt to wrap jsdoc using gulp as thinly as possible use the jsdoc config to pass in files from gulp. jsdoc does not allow for piped input, so this attempt may be considered a gulp anti-pattern. It also does not pass on output to be piped elsewhere.

We would like to thank Mangled Deutz @ gulp-jsdoc for the original implementation.


This plugin was contributed back to the community by the D. E. Shaw group.

D. E. Shaw Logo


Apache-2.0 License

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.