14 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).
17 var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long
22 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.
26 This rule has a number or object option:
28 * `"code"` (default `80`) enforces a maximum line length
29 * `"tabWidth"` (default `4`) specifies the character width for tab characters
30 * `"comments"` enforces a maximum line length for comments; defaults to value of `code`
31 * `"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
32 * `"ignoreComments": true` ignores all trailing comments and comments on their own line
33 * `"ignoreTrailingComments": true` ignores only trailing comments
34 * `"ignoreUrls": true` ignores lines that contain a URL
35 * `"ignoreStrings": true` ignores lines that contain a double-quoted or single-quoted string
36 * `"ignoreTemplateLiterals": true` ignores lines that contain a template literal
37 * `"ignoreRegExpLiterals": true` ignores lines that contain a RegExp literal
41 Examples of **incorrect** code for this rule with the default `{ "code": 80 }` option:
46 /*eslint max-len: ["error", { "code": 80 }]*/
48 var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };
53 Examples of **correct** code for this rule with the default `{ "code": 80 }` option:
58 /*eslint max-len: ["error", { "code": 80 }]*/
61 "bar": "This is a bar.",
62 "baz": { "qux": "This is a qux" },
71 Examples of **incorrect** code for this rule with the default `{ "tabWidth": 4 }` option:
76 /*eslint max-len: ["error", { "code": 80, "tabWidth": 4 }]*/
78 \t \t var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };
83 Examples of **correct** code for this rule with the default `{ "tabWidth": 4 }` option:
88 /*eslint max-len: ["error", { "code": 80, "tabWidth": 4 }]*/
91 \t \t \t \t "bar": "This is a bar.",
92 \t \t \t \t "baz": { "qux": "This is a qux" }
100 Examples of **incorrect** code for this rule with the `{ "comments": 65 }` option:
105 /*eslint max-len: ["error", { "comments": 65 }]*/
108 * This is a comment that violates the maximum line length we have specified
116 Examples of **correct** code for this rule with the `{ "ignoreComments": true }` option:
121 /*eslint max-len: ["error", { "ignoreComments": true }]*/
124 * This is a really really really really really really really really really long comment
130 ### ignoreTrailingComments
132 Examples of **correct** code for this rule with the `{ "ignoreTrailingComments": true }` option:
137 /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
139 var foo = 'bar'; // This is a really really really really really really really long comment
146 Examples of **correct** code for this rule with the `{ "ignoreUrls": true }` option:
151 /*eslint max-len: ["error", { "ignoreUrls": true }]*/
153 var url = 'https://www.example.com/really/really/really/really/really/really/really/long';
160 Examples of **correct** code for this rule with the `{ "ignoreStrings": true }` option:
165 /*eslint max-len: ["error", { "ignoreStrings": true }]*/
167 var longString = 'this is a really really really really really long string!';
172 ### ignoreTemplateLiterals
174 Examples of **correct** code for this rule with the `{ "ignoreTemplateLiterals": true }` option:
179 /*eslint max-len: ["error", { "ignoreTemplateLiterals": true }]*/
181 var longTemplateLiteral = `this is a really really really really really long template literal!`;
186 ### ignoreRegExpLiterals
188 Examples of **correct** code for this rule with the `{ "ignoreRegExpLiterals": true }` option:
193 /*eslint max-len: ["error", { "ignoreRegExpLiterals": true }]*/
195 var longRegExpLiteral = /this is a really really really really really long regular expression!/;
202 Examples of **correct** code for this rule with the `ignorePattern` option:
207 /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(" }]*/
209 var dep = require('really/really/really/really/really/really/really/really/long/module');