max-len
Enforce a maximum line length
This rule was deprecated in ESLint v8.53.0. It will be removed in v11.0.0. Please use the corresponding rule in @stylistic/eslint-plugin.
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 long
Rule 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 regular expression; can only match a single line and need to be double escaped when written in YAML or JSON"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 max-len: ["error", { "code": 80 }]*/
Examples of correct code for this rule with the default { "code": 80 } option:
/*eslint 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 max-len: ["error", { "code": 80, "tabWidth": 4 }]*/
Examples of correct code for this rule with the default { "tabWidth": 4 } option:
/*eslint 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 max-len: ["error", { "comments": 65 }]*/
/**
**/
ignoreComments
Examples of correct code for this rule with the { "ignoreComments": true } option:
/*eslint 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 max-len: ["error", { "ignoreTrailingComments": true }]*/
var foo = 'bar'; // This is a really really really really really really really long comment
ignoreUrls
Examples of correct code for this rule with the { "ignoreUrls": true } option:
/*eslint 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 max-len: ["error", { "ignoreStrings": true }]*/
var longString = 'this is a really really really really really long string!';
ignoreTemplateLiterals
Examples of correct code for this rule with the { "ignoreTemplateLiterals": true } option:
/*eslint 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 max-len: ["error", { "ignoreRegExpLiterals": true }]*/
var longRegExpLiteral = /this is a really really really really really long regular expression!/;
ignorePattern
Examples of correct code for this rule with the ignorePattern option:
/*eslint max-len:
["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(" }]*/
var dep = require('really/really/really/really/really/really/really/really/long/module');
Related Rules
Version
This rule was introduced in ESLint v0.0.9.