codeclimate / codeclimate-eslint

Code Climate Engine for ESLint
MIT License
95 stars 93 forks source link
code-quality codeclimate codeclimate-engine es6 eslint javascript linter linting quality static-analysis static-code-analysis

Code Climate ESLint Engine

Code Climate

codeclimate-eslint is a Code Climate engine that wraps ESLint. You can run it on your command line using the Code Climate CLI, or on our hosted analysis platform.

ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. It can be configured using a configuration file.

Channels

There are a few major versions of ESLint out there. The latest major version is 4. This engine provides a few channels for major versions of ESLint.

This branch is for the latest (i.e. default) channel and provides ESLint 3 support.

For ESLint 4, please see channel/eslint-4 branch.

Installation

  1. If you haven't already, install the Code Climate CLI

  2. Run codeclimate engines:enable eslint. This command both installs the engine and enables it in your .codeclimate.yml file

  3. You're ready to analyze! Browse into your project's folder and run codeclimate analyze

Configuration

ignore_warnings

By default, this engine will emit both ESLint errors and warnings as Code Climate issues. If you prefer, you can ignore warning-level violations by setting the ignore_warnings configuration option:

eslint:
  enabled: true
  config:
    ignore_warnings: true

extensions

If you're using a plugin like eslint-plugin-json or eslint-plugin-html, you will want to set this value to make sure the appropriate files are included:

eslint:
  enabled: true
  config:
    extensions:
    - .js
    - .html

sanitize_batch

By default, this engine will skip files that appear to be minified (average line length over 100). This feature can be disabled to include all files for analysis.

eslint:
  enabled: true
  config:
    sanitize_batch: false

Need help?

For help with ESLint, check out their documentation.

If you're running into a Code Climate issue, first look over this project's GitHub Issues, as your question may have already been covered. If not, go ahead and open a support ticket with us.