max-len
Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).
var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very longRule Details
This rule enforces a maximum line length to increase code readability and maintainability. The length of a line is defined as the number of Unicode characters in the line.
Options
This rule can have up to two numbers as positional arguments (for code and tabWidth options), followed by an object option (provided positional arguments have priority):
"code"(default80) enforces a maximum line length"tabWidth"(default4) specifies the character width for tab characters"comments"enforces a maximum line length for comments; defaults to value ofcode"ignorePattern"ignores lines matching a pattern; can only match a single line, needs to be double escaped when written in YAML or JSON and must be astringthat can be passed to theRegExpconstructor."ignoreComments": trueignores all trailing comments and comments on their own line"ignoreTrailingComments": trueignores only trailing comments"ignoreUrls": trueignores lines that contain a URL"ignoreStrings": trueignores lines that contain a double-quoted or single-quoted string"ignoreTemplateLiterals": trueignores lines that contain a template literal"ignoreRegExpLiterals": trueignores lines that contain a RegExp literal
code
Examples of incorrect code for this rule with the default { "code": 80 } option:
/* eslint @stylistic/max-len: ["error", { "code": 80 }] */
var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };Examples of correct code for this rule with the default { "code": 80 } option:
/* eslint @stylistic/max-len: ["error", { "code": 80 }] */
var foo = {
"bar": "This is a bar.",
"baz": { "qux": "This is a qux" },
"easier": "to read"
};tabWidth
Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:
/* eslint @stylistic/max-len: ["error", { "code": 80, "tabWidth": 4 }] */
var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };Examples of correct code for this rule with the default { "tabWidth": 4 } option:
/* eslint @stylistic/max-len: ["error", { "code": 80, "tabWidth": 4 }] */
var foo = {
"bar": "This is a bar.",
"baz": { "qux": "This is a qux" }
};comments
Examples of incorrect code for this rule with the { "comments": 65 } option:
/* eslint @stylistic/max-len: ["error", { "comments": 65 }] */
/**
* This is a comment that violates the maximum line length we have specified
**/ignoreComments
Examples of correct code for this rule with the { "ignoreComments": true } option:
/* eslint @stylistic/max-len: ["error", { "ignoreComments": true }] */
/**
* This is a really really really really really really really really really long comment
**/ignoreTrailingComments
Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:
/* eslint @stylistic/max-len: ["error", { "ignoreTrailingComments": true }] */
var foo = 'bar'; // This is a really really really really really really really long commentignoreUrls
Examples of correct code for this rule with the { "ignoreUrls": true } option:
/* eslint @stylistic/max-len: ["error", { "ignoreUrls": true }] */
var url = 'https://www.example.com/really/really/really/really/really/really/really/long';ignoreStrings
Examples of correct code for this rule with the { "ignoreStrings": true } option:
/* eslint @stylistic/max-len: ["error", { "ignoreStrings": true }] */
var longString = 'this is a really really really really really really really long string!';ignoreTemplateLiterals
Examples of correct code for this rule with the { "ignoreTemplateLiterals": true } option:
/* eslint @stylistic/max-len: ["error", { "ignoreTemplateLiterals": true }] */
var longTemplateLiteral = `this is a really really really really really long template literal!`;ignoreRegExpLiterals
Examples of correct code for this rule with the { "ignoreRegExpLiterals": true } option:
/* eslint @stylistic/max-len: ["error", { "ignoreRegExpLiterals": true }] */
var longRegExpLiteral = /this is a really really really really really long regular expression!/;ignorePattern
NOTE
This option must be a string that can be passed to the RegExp constructor.
Examples of correct code for this rule with the ignorePattern option:
/* eslint @stylistic/max-len: [
"error",
{ "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(" }
] */
var dep = require('really/really/really/really/really/really/really/really/long/module');