node package manager


Compile JSDuck documentation.


Grunt task to compile JSDuck documentation

WARNING! Starting from version 1.0.0, the task is incompatible with Grunt 0.3. Use the legacy 0.1.x version you still use Grunt 0.3.

You need to have Ruby and JSDuck installed. Refer to project homepage for installation instructions.

Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-jsduck

Then add this line to your project's grunt.js gruntfile:


Inside your grunt.js file add a section named jsduck. Read the JSDuck Guide for an overview of its features.

Input paths containing JavaScript code to document. You can use wildcards here (see example below).

Output directory for generated documentation.

Additional options that will be passed to jsduck. Run jsduck --help for a full list.

jsduck: {
    main: {
        // source paths with your code 
        src: [
            'project2/**/*.js'  // globbing supported! 
        // docs output dir 
        dest: 'docs',
        // extra options 
        options: {
            'builtin-classes': true,
            'warnings': ['-no_doc', '-dup_member', '-link_ambiguous'],
            'external': ['XMLHttpRequest']

Running the jsduck multitask without additional parameters will execute it with all specified targets:

grunt jsduck


grunt jsduck:main

will execute the task with main target.

Sometimes it's useful to override the output directory at compile time. You can pass it as a second argument like this:

grunt jsduck:main:/var/www/my-awesome-project/docs

Please follow the existing coding style. Respect the .editorconfig and .jshintrc files.

Copyright (c) 2012-2013 Dmitry Pashkevich, contributors. Licensed under the MIT license.