Skip to content

A modified version of the built-in eslint rule [require-jsdoc] that allows you to exclude certain methods from requiring a JSDoc.

License

Notifications You must be signed in to change notification settings

MaienM/eslint-plugin-require-jsdoc-except

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eslint-plugin-require-jsdoc-except

This is a modified version of the built-in eslint rule require-jsdoc that allows you to exclude certain methods from requiring a JSDoc.

The rationale is that when using a framework such as React, there will be certain recurring method about which no useful docs can be made. There is no real point in describing each render method as "Renders the component", and any more than that will often just be a duplication of the component's JSDoc.

Installation

You'll first need to install ESLint:

npm install eslint --save-dev

Next, install eslint-plugin-require-jsdoc-except:

npm install eslint-plugin-require-jsdoc-except --save-dev

Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-require-jsdoc-except globally.

Usage

Add require-jsdoc-except to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
	"plugins": [
		"require-jsdoc-except"
	]
}

Then configure the rule. The main usage is as the built-in eslint rule require-jsdoc. In addition, this plugin adds a second option to the option object: ignore. This accepts a list of names for which the JSDoc requirement should not be enforced.

The following example would require all named functions to be documented, except for class constructors (or other functions named constructor).

{
    "rules": {
        "require-jsdoc-except/require-jsdoc": ["error", {
            "require": {
                "FunctionDeclaration": true,
                "MethodDefinition": true,
                "ClassDeclaration": true,
                "ArrowFunctionExpression": true,
                "FunctionExpression": true
            },
            "ignore": ["constructor"],
        }],
    }
}

NOTE: You may also need to disable the old require-jsdoc, as this will essentially replace it. If you do not, then both rules will be running at the same time.

{
    "rules": {
        "require-jsdoc": "off",
    }
}

About

A modified version of the built-in eslint rule [require-jsdoc] that allows you to exclude certain methods from requiring a JSDoc.

Resources

License

Stars

Watchers

Forks

Packages

No packages published