Enforce position of line comments
Line comments can be positioned above or beside code. This rule helps teams maintain a consistent style.
// above comment
var foo = "bar"; // beside comment
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
.
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:
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.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
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;
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
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.
If you aren’t concerned about having different line comment styles, then you can turn off this rule.
JSCS: validateCommentPosition
This rule was introduced in ESLint v3.5.0.
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/line-comment-position