enforce position of line comments (line-comment-position)

Line comments can be positioned above or beside code. This rule helps teams maintain a consistent style.

// above comment
var foo = "bar";  // beside comment

Rule Details

This rule enforces consistent position of line comments. Block comments are not affected by this rule. By default, this rule ignores comments starting with the following words: eslint, jshint, jslint, istanbul, global, exported, jscs, falls through.

Options

This rule takes one argument, which can be a string or an object. The string settings are the same as those of the position property (explained below). The object option has the following properties:

position

The position option has two settings:

position: above

Examples of correct code for the { "position": "above" } option:

/*eslint line-comment-position: ["error", { "position": "above" }]*/
// valid comment
1 + 1;

Examples of incorrect code for the { "position": "above" } option:

/*eslint line-comment-position: ["error", { "position": "above" }]*/
1 + 1; // invalid comment

position: beside

Examples of correct code for the { "position": "beside" } option:

/*eslint line-comment-position: ["error", { "position": "beside" }]*/
1 + 1; // valid comment

Examples of incorrect code for the { "position": "beside" } option:

/*eslint line-comment-position: ["error", { "position": "beside" }]*/
// invalid comment
1 + 1;

ignorePattern

By default this rule ignores comments starting with the following words: eslint, jshint, jslint, istanbul, global, exported, jscs, falls through. An alternative regular expression can be provided.

Examples of correct code for the ignorePattern option:

/*eslint line-comment-position: ["error", { "ignorePattern": "pragma" }]*/
1 + 1; // pragma valid comment

Examples of incorrect code for the ignorePattern option:

/*eslint line-comment-position: ["error", { "ignorePattern": "pragma" }]*/
1 + 1; // invalid comment

applyDefaultIgnorePatterns

Default ignore patterns are applied even when ignorePattern is provided. If you want to omit default patterns, set this option to false.

Examples of correct code for the { "applyDefaultIgnorePatterns": false } option:

/*eslint line-comment-position: ["error", { "ignorePattern": "pragma", "applyDefaultIgnorePatterns": false }]*/
1 + 1; // pragma valid comment

Examples of incorrect code for the { "applyDefaultIgnorePatterns": false } option:

/*eslint line-comment-position: ["error", { "ignorePattern": "pragma", "applyDefaultIgnorePatterns": false }]*/
1 + 1; // falls through

Deprecated: the object property applyDefaultPatterns is deprecated. Please use the property applyDefaultIgnorePatterns instead.

When Not To Use It

If you aren't concerned about having different line comment styles, then you can turn off this rule.

Compatibility

JSCS: validateCommentPosition

Version

This rule was introduced in ESLint 3.5.0.

Resources