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:
above
(default) enforces line comments only above code, in its own line.beside
enforces line comments only at the end of code lines.
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.