# gulp-jsdoc3

> gulp integration for jsdoc3 cli

Latest version **3.0.0** (published 2020-04-03) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install gulp-jsdoc3
pnpm add gulp-jsdoc3
yarn add gulp-jsdoc3
bun add gulp-jsdoc3
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.0 |
| Published | 2020-04-03 |
| First published | 2015-12-19 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 8 |
| Unpacked size | 3.5 MB |
| Known vulnerabilities | 0 (+2 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 134 |
| Author | Marc Udoff |
| Maintainers | mlucool |
| Keywords | gulp, jsdoc, jsdoc3, javascript, gulpplugin, documentation |

## Links

- npm: https://www.npmjs.com/package/gulp-jsdoc3
- Repository: https://github.com/deshaw/gulp-jsdoc3
- Homepage: https://github.com/deshaw/gulp-jsdoc3#readme
- Issues: https://github.com/deshaw/gulp-jsdoc3/issues
- npm.io page: https://npm.io/package/gulp-jsdoc3

## Dependencies (8)

- [tmp](https://npm.io/package/tmp.md) 0.1.0
- [debug](https://npm.io/package/debug.md) ^4.1.1
- [jsdoc](https://npm.io/package/jsdoc.md) ^3.6.3
- [beeper](https://npm.io/package/beeper.md) ^2.0.0
- [fancy-log](https://npm.io/package/fancy-log.md) ^1.3.3
- [map-stream](https://npm.io/package/map-stream.md) 0.0.7
- [ansi-colors](https://npm.io/package/ansi-colors.md) ^4.1.1
- [ink-docstrap](https://npm.io/package/ink-docstrap.md) ^1.3.2

## Alternatives

- [@cantoo/pdf-lib](https://npm.io/package/@cantoo/pdf-lib.md) — 297.9K weekly downloads
- [datatables.net-buttons](https://npm.io/package/datatables.net-buttons.md) — 200.1K weekly downloads
- [@ckeditor/ckeditor5-export-pdf](https://npm.io/package/@ckeditor/ckeditor5-export-pdf.md) — 167.0K weekly downloads
- [scanbot-web-sdk](https://npm.io/package/scanbot-web-sdk.md) — 15.0K weekly downloads
- [@syncfusion/ej2-angular-pdfviewer](https://npm.io/package/@syncfusion/ej2-angular-pdfviewer.md) — 8.8K weekly downloads

## Recent versions

- 3.0.0 (latest) — 2020-04-03
- 2.0.0 — 2018-03-22
- 1.0.1 — 2016-11-04
- 1.0.0 — 2016-09-23
- 0.3.0 — 2016-05-29
- 0.2.1 — 2016-03-12
- 0.2.0 — 2016-02-16
- 0.1.1 — 2016-01-18
- 0.1.0 — 2015-12-30
- 0.0.3 — 2015-12-19
- 0.0.2 — 2015-12-19
- 0.0.1 — 2015-12-19

## README

# gulp-jsdoc3

[![NPM version][npm-image]][npm-url] [![NPM DM][npm-dm-image]][npm-url] [![Build Status][travis-image]][travis-url]  [![Coverage Status][coveralls-image]][coveralls-url]

> [jsdoc](https://github.com/jsdoc3/jsdoc) plugin for [gulp](https://github.com/gulpjs/gulp)

## Installation

Install `gulp-jsdoc` as a development dependency:

```shell
npm install --save-dev gulp-jsdoc3
```

## Usage

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

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

By default, documentation is output to `docs/gen`. gulp-jsdoc3 does not modify the source vinyl stream so the output location can only be specified via config, not `gulp.dest()`. You can see all the default options passed to jsdoc in [`src/jsdocConfig.json`](https://github.com/AndrewGuenther/gulp-jsdoc3/blob/master/src/jsdocConfig.json).

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

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

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

Another good example is in this project's [gulpfile](https://github.com/deshaw/gulp-jsdoc3/blob/master/gulpfile.js)!

## Overriding the default layout

[ink-docstrap](https://github.com/docstrap/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](http://usejsdoc.org/about-configuring-jsdoc.html) 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](http://usejsdoc.org/about-tutorials.html):
```
"tutorials": "path/to/tutorials"
```

## Debugging
Set env variable: ```DEBUG=gulp-jsdoc3```

## Notes
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](https://github.com/jsdoc3/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](https://github.com/jsBoot/gulp-jsdoc) for the original implementation.

## History

This plugin was contributed back to the community by the [D. E. Shaw group](https://www.deshaw.com/).

![Screenshot](https://github.com/deshaw/gulp-jsdoc3/blob/master/docs/DESCO_logo_200x200.png 'D. E. Shaw Logo')

License
-------------
[Apache-2.0 License](http://www.apache.org/licenses/LICENSE-2.0)

[npm-url]: https://npmjs.org/package/gulp-jsdoc3
[npm-image]: https://badge.fury.io/js/gulp-jsdoc3.png
[npm-dm-image]: https://img.shields.io/npm/dm/gulp-jsdoc3.svg

[travis-url]: http://travis-ci.org/deshaw/gulp-jsdoc3
[travis-image]: https://secure.travis-ci.org/deshaw/gulp-jsdoc3.png?branch=master

[coveralls-url]: https://coveralls.io/github/deshaw/gulp-jsdoc3?branch=master
[coveralls-image]: https://coveralls.io/repos/deshaw/gulp-jsdoc3/badge.svg?branch=master&service=github

---
_Source: https://npm.io/package/gulp-jsdoc3 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
