# grunt-plato

> Generate complexity analysis reports with plato

Latest version **1.4.0** (published 2016-08-17) · 0 weekly downloads

## Install

```sh
npm install grunt-plato
pnpm add grunt-plato
yarn add grunt-plato
bun add grunt-plato
```

## 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 | 1.4.0 |
| Published | 2016-08-17 |
| First published | 2013-01-07 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 0.8.0 |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 204 |
| Author | Jarrod Overson |
| Maintainers | jsoverson |
| Keywords | gruntplugin, plato, reports, visualization, complexity, analysis |

## Links

- npm: https://www.npmjs.com/package/grunt-plato
- Repository: https://github.com/jsoverson/grunt-plato
- Issues: https://github.com/jsoverson/grunt-plato/issues
- npm.io page: https://npm.io/package/grunt-plato

## Dependencies (1)

- [plato](https://npm.io/package/plato.md) ^1.6.0

## Alternatives

- [d3-force-3d](https://npm.io/package/d3-force-3d.md) — 1.0M weekly downloads
- [ng2-charts](https://npm.io/package/ng2-charts.md) — 486.8K weekly downloads
- [@arcgis/core](https://npm.io/package/@arcgis/core.md) — 257.8K weekly downloads
- [react-sparklines](https://npm.io/package/react-sparklines.md) — 249.3K weekly downloads
- [react-native-gifted-charts](https://npm.io/package/react-native-gifted-charts.md) — 182.3K weekly downloads

## Recent versions

- 1.4.0 (latest) — 2016-08-17
- 1.2.1 — 2014-12-20
- 1.3.0 — 2014-07-31
- 1.2.0 — 2014-07-31
- 1.1.0 — 2014-07-11
- 1.0.0 — 2014-02-19
- 0.2.1 — 2013-07-10
- 0.2.0 — 2013-04-01
- 0.1.5 — 2013-02-18
- 0.1.4 — 2013-02-12
- 0.1.3 — 2013-01-23
- 0.1.2 — 2013-01-10
- 0.1.1 — 2013-01-07
- 0.1.0 — 2013-01-07

## README

# grunt-plato

> Task to generate static analysis reports via plato

For more information on plato, see the [docs](https://github.com/es-analysis/plato) and [some](http://es-analysis.github.com/plato/examples/marionette/) [example](http://es-analysis.github.com/plato/examples/jquery/) [reports](http://es-analysis.github.com/plato/examples/grunt/)

## Getting Started
_If you haven't used [grunt][] before, be sure to check out the [Getting Started][] guide._

From the same directory as your project's [Gruntfile][Getting Started] and [package.json][], install this plugin with the following command:

```bash
npm install grunt-plato --save-dev
```

Once that's done, add this line to your project's Gruntfile:

```js
grunt.loadNpmTasks('grunt-plato');
```

[grunt]: http://gruntjs.com/
[Getting Started]: https://github.com/gruntjs/grunt/blob/devel/docs/getting_started.md
[package.json]: https://npmjs.org/doc/json.html

## Overview
In your project's Gruntfile, add a section named `plato` to the data object passed into `grunt.initConfig()`.

```js
grunt.initConfig({
  plato: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    }
  }
})
```

## Options

### options.jshint
Type: `Object`
Default value: unset

A jshintrc style object specifying jshint options, see [JSHint docs](http://www.jshint.com/docs/)

### options.complexity
Type: `Object`
Default value: unset

A series of options passed to complexity-report, see [Phil Booth's complexity-report](https://github.com/philbooth/complexityReport.js)

## Usage Examples

### Using Default Options

```js
grunt.initConfig({
  plato: {
    your_task: {
      files: {
        'report/output/directory': ['src/**/*.js', 'test/**/*.js']
      }
    }
  }
})
```

### Custom complexity options

```js
plato: {
  your_task: {
    options : {
      complexity : {
        logicalor : false,
        switchcase : false,
        forin : true,
        trycatch : true
      }
    },
    files: {
      'reports': ['src/**/*.js']
    }
  }
}
```

### Using a .jshintrc file

```js
plato: {
  your_task: {
    options : {
      jshint : grunt.file.readJSON('.jshintrc')
    },
    files: {
      'reports': ['src/**/*.js']
    }
  }
}
```

### Disabling jshint reporting

```js
plato: {
  your_task: {
    options : {
      jshint : false
    },
    files: {
      'reports': ['src/**/*.js']
    }
  }
}
```

### Excluding files matching a specific regexp

```js
plato: {
  your_task: {
    options : {
      exclude: /\.min\.js$/    // excludes source files finishing with ".min.js"
    },
    files: {
      'reports': ['src/**/*.js']
    }
  }
}
```

### Excluding files from a file (will overwrite exclude option)

```js
plato: {
  your_task: {
    options : {
      excludeFromFile: '.jshintignore'    # excludes source files placed in .jshintignore
    },
    files: {
      'reports': ['src/**/*.js'],
    },
  },
}
```

## Release History

 - 0.2.1 bumped for plato 0.6.0
 - 0.2.0 bumped for plato 0.5.0
 - 0.1.5 updating deps for grunt 0.4.0 final
 - 0.1.4 defaulting to new maintainability index
 - 0.1.3 updated dependencies
 - 0.1.2 updated for grunt 0.4.0rc5
 - 0.1.1 removed debug output
 - 0.1.0 initial release

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