codeclimate/codeclimate-eslint

Support `eslint-plugin-jsdoc` for version 6 and 7 of codeclimate-eslint engines

bbrassart opened this issue · 0 comments

Actual Behavior

In order to properly use the eslint-plugin-jsdoc together with CodeClimate, the only solution is to use the version 5 of your engine. The config goes as follow:

# .codeclimate.yml file
plugins:
  eslint:
    enabled: true
    channel: eslint-5

That contradicts your documentation here that pretends to support eslint-plugin-jsdoc with the version 6 of your engine.

This issue happens because the only engine's version that is up-to-date with this eslint-plugin-jsdoc
is the version 5 (see PR that upgraded the package version and package.json)

The other engine's versions (I think we are all obviously more interested in v6 and v7 of the engine) are still way behind (see v6's package.json and yarn.lock and v7's package.json and yarn.lock ) and thus make them incompatible. This incompatibility provokes irrelevant warnings such as multiple Definition for rule 'jsdoc/${rule-name}' was not found warnings per scanned file. Obviously, CodeClimate also then fails at detecting valid JSDoc violations.

Expected Behavior

When running CodeClimate's engine version 6 or 7, the plugin eslint-plugin-jsodc should be correctly supported and detected. I think, on your side, the solution might be as easy as reproducing this PR but for version 6 and 7 of the engine.

Steps to reproduce

Code that will not detect correctly eslint-plugin-jsdoc

  1. .package.json
  "devDependencies": {
    "eslint": "^7.9.0",
    "eslint-plugin-jsdoc": "^30.7.8",
  },

  1. .codeclimate.yml
plugins:
  eslint:
    enabled: true
    channel: eslint-7 // The same issue will happen if you set it to eslint-6

  1. .eslintrc.yml
extends: # Enforce basic JSDoc rules
  - plugin:jsdoc/recommended