15 KiB
build
Generate JavaScript documentation as a list of parsed JSDoc comments, given a root file as a path.
Parameters
indexes(Array<string> | string) files to processoptionsObject optionsoptions.externalArray<string> a string regex / glob match pattern that defines what external modules will be whitelisted and included in the generated documentation.options.polyglotboolean? parse comments with a regex rather than a proper parser. This enables support of non-JavaScript languages but reduces documentation's ability to infer structure of code. (optional, defaultfalse)options.shallowboolean? whether to avoid dependency parsing even in JavaScript code. With the polyglot option set, this has no effect. (optional, defaultfalse)options.orderArray<(string | Object)>? optional array that defines sorting order of documentation (optional, default[])options.accessArray<string>? an array of access levels to output in documentation (optional, default[])options.hljsObject? hljs optional optionsoptions.inferPrivatestring? a valid regular expression string to infer whether a code element should be private, given its naming structure. For instance, you can specifyinferPrivate: '^_'to automatically treat methods named like_myMethodas private.options.extension(string | Array<string>)? treat additional file extensions as JavaScript, extending the default set ofjs,es6, andjsx.
callbackFunction to be called when the documentation generation is complete, with (err, result) argumentsj
Examples
var documentation = require('documentation');
documentation.build(['index.js'], {
// only output comments with an explicit @public tag
access: ['public']
}, function (err, res) {
// res is an array of parsed comments with inferred properties
// and more: everything you need to build documentation or
// any other kind of code data.
});
Returns undefined calls callback
buildSync
Generate JavaScript documentation given a list of inputs. This internal method does not support require-following and it returns its results synchronously, rather than by calling a callback.
Parameters
indexesArray<string> files to processoptionsObject optionsoptions.externalArray<string> a string regex / glob match pattern that defines what external modules will be whitelisted and included in the generated documentation.options.polyglotboolean? parse comments with a regex rather than a proper parser. This enables support of non-JavaScript languages but reduces documentation's ability to infer structure of code. (optional, defaultfalse)options.shallowboolean? whether to avoid dependency parsing even in JavaScript code. With the polyglot option set, this has no effect. (optional, defaultfalse)options.orderArray<(string | Object)>? optional array that defines sorting order of documentation (optional, default[])options.accessArray<string>? an array of access levels to output in documentation (optional, default[])options.hljsObject? hljs optional optionsoptions.inferPrivatestring? a valid regular expression string to infer whether a code element should be private, given its naming structure. For instance, you can specifyinferPrivate: '^_'to automatically treat methods named like_myMethodas private.options.extension(string | Array<string>)? treat additional file extensions as JavaScript, extending the default set ofjs,es6, andjsx.
configstring path to configuration file to load
Examples
var documentation = require('documentation');
var results = documentation.buildSync(['index.js']);
// results is an array of parsed comments with inferred properties
// and more: everything you need to build documentation or
// any other kind of code data.
Returns Object list of results
lint
Lint files for non-standard or incorrect documentation information, returning a potentially-empty string of lint information intended for human-readable output.
Parameters
indexes(Array<string> | string) files to processoptionsObject optionsoptions.externalArray<string> a string regex / glob match pattern that defines what external modules will be whitelisted and included in the generated documentation.options.polyglotboolean? parse comments with a regex rather than a proper parser. This enables support of non-JavaScript languages but reduces documentation's ability to infer structure of code. (optional, defaultfalse)options.shallowboolean? whether to avoid dependency parsing even in JavaScript code. With the polyglot option set, this has no effect. (optional, defaultfalse)options.inferPrivatestring? a valid regular expression string to infer whether a code element should be private, given its naming structure. For instance, you can specifyinferPrivate: '^_'to automatically treat methods named like_myMethodas private.options.extension(string | Array<string>)? treat additional file extensions as JavaScript, extending the default set ofjs,es6, andjsx.
callbackFunction to be called when the documentation generation is complete, with (err, result) arguments
Examples
documentation.lint('file.js', {}, function (err, lintOutput) {
if (err) {
throw err;
}
if (lintOutput) {
console.log(lintOutput);
process.exit(1);
} else {
process.exit(0);
}
});
Returns undefined calls callback
formats
Documentation's formats are modular methods that take comments and options as input and call a callback with writable objects, like stringified JSON, markdown strings, or Vinyl objects for HTML output.
formats.html
Formats documentation as HTML.
Parameters
commentsArray<Object> parsed commentsoptionsObject Options that can customize the outputoptions.themestring? Name of a module used for an HTML theme. (optional, default'default_theme')
callbackFunction Called with array of results as vinyl-fs objects.
Examples
var documentation = require('documentation');
var streamArray = require('stream-array');
var vfs = require('vinyl-fs');
documentation.build(['index.js'], {}, function (err, res) {
documentation.formats.html(res, {}, function(err, output) {
streamArray(output).pipe(vfs.dest('./output-directory'));
});
});
Returns undefined Calls callback.
formats.markdown
Formats documentation as Markdown.
Parameters
commentsArray<Object> parsed commentsoptionsObject Options that can customize the outputcallbackFunction called with null, string
Examples
var documentation = require('documentation');
var fs = require('fs');
documentation.build(['index.js'], {}, function (err, res) {
documentation.formats.md(res, {}, function(err, output) {
// output is a string of JSON data
fs.writeFileSync('./output.md', output);
});
});
Returns undefined calls callback
formats.json
Formats documentation as a JSON string.
Parameters
commentsArray<Object> parsed commentsoptsObject Options that can customize the outputcallbackFunction called with null, string
Examples
var documentation = require('documentation');
var fs = require('fs');
documentation.build(['index.js'], {}, function (err, res) {
documentation.formats.json(res, {}, function(err, output) {
// output is a string of JSON data
fs.writeFileSync('./output.json', output);
});
});
Returns undefined calls callback