| pageClass | rule-details |
|---|---|
| sidebarDepth | 0 |
| title | vue/max-len |
| description | enforce a maximum line length in `.vue` files |
| since | v6.1.0 |
enforce a maximum line length in
.vuefiles
This rule enforces a maximum line length to increase code readability and maintainability.
This rule is the similar rule as core max-len rule but it applies to the source code in .vue.
<template>
<!-- ✓ GOOD -->
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</div>
<!-- ✗ BAD -->
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </div>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</div>
</template>
<script>
/* ✓ GOOD */
var foo = {
"bar": "This is a bar.",
"baz": { "qux": "This is a qux" },
"easier": "to read"
};
/* ✗ BAD */
var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };
</script>
<style>
/* ignore */
.ignore-stylesheet .blocks-other-than-script-and-template-are-ignored .this-line-has-a-length-of-100
{}
</style>{
"vue/max-len": ["error", {
"code": 80,
"template": 80,
"tabWidth": 2,
"comments": 80,
"ignorePattern": "",
"ignoreComments": false,
"ignoreTrailingComments": false,
"ignoreUrls": false,
"ignoreStrings": false,
"ignoreTemplateLiterals": false,
"ignoreRegExpLiterals": false,
"ignoreHTMLAttributeValues": false,
"ignoreHTMLTextContents": false,
}]
}code... enforces a maximum line length. default80template... enforces a maximum line length for<template>. defaults to value ofcodetabWidth... specifies the character width for tab characters. default2comments... enforces a maximum line length for comments. defaults to value ofcodeignorePattern... ignores lines matching a regular expression. can only match a single line and need to be double escaped when written in YAML or JSONignoreComments... iftrue, ignores all trailing comments and comments on their own line. defaultfalseignoreTrailingComments... iftrue, ignores only trailing comments. defaultfalseignoreUrls... iftrue, ignores lines that contain a URL. defaultfalseignoreStrings... iftrue, ignores lines that contain a double-quoted or single-quoted string. defaultfalseignoreTemplateLiterals... iftrue, ignores lines that contain a template literal. defaultfalseignoreRegExpLiterals... iftrue, ignores lines that contain a RegExp literal. defaultfalseignoreHTMLAttributeValues... iftrue, ignores lines that contain a HTML attribute value. defaultfalseignoreHTMLTextContents... iftrue, ignores lines that contain a HTML text content. defaultfalse
<template>
<!-- ✓ GOOD -->
<div>line length is 40 ........ </div>
<!-- ✗ BAD -->
<div>line length is 50 .................. </div>
</template>
<script>
/* ✓ GOOD */
var foo = ['line', 'length', 'is', '40']
/* ✗ BAD */
var foo = ['line', 'length', 'is', '50', '......']
</script><template>
<!-- ✓ GOOD -->
<div>line length is 120 ....................................................................................... </div>
<!-- ✗ BAD -->
<div>line length is 121 ........................................................................................ </div>
</template>
<script>
/* ✗ BAD */
var foo = ['line', 'length', 'is', '81', '......', '......', '......', '......'];
</script><template>
<!-- ✓ GOOD -->
<!--
This is a comment that does not violates
the maximum line length we have specified
-->
<!-- ✗ BAD -->
<!--
This is a comment that violates the maximum line length we have specified
-->
</template>
<script>
/* ✓ GOOD */
/**
* This is a comment that does not violates
* the maximum line length we have specified
*/
/* ✗ BAD */
/**
* This is a comment that violates the maximum line length we have specified
*/
</script><template>
<!-- ✓ GOOD -->
<!-- This is a really really really really really really really really really long comment -->
</template>
<script>
/* ✓ GOOD */
/**
* This is a really really really really really really really really really long comment
*/
</script><template>
<!-- ✓ GOOD -->
<div /><!-- This is a really really really really really really really really long comment -->
<!-- ✗ BAD -->
<!-- This is a really really really really really really really really long comment -->
</template>
<script>
/* ✓ GOOD */
var foo = 'bar'; // This is a really really really really really really really really long comment
/* ✗ BAD */
// This is a really really really really really really really really long comment
</script><template>
<!-- ✓ GOOD -->
<div style="background-image: url('https://www.example.com/really/really/really/really/really/really/really/long')" />
</template>
<script>
/* ✓ GOOD */
var url = 'https://www.example.com/really/really/really/really/really/really/really/long';
</script><template>
<!-- ✓ GOOD -->
<div :title="'this is a really really really really really really long string!'" />
<!-- ✗ BAD -->
<div title="this is a really really really really really really long attribute value!" />
<div>this is a really really really really really really really long text content!</div>
</template>
<script>
/* ✓ GOOD */
var longString = 'this is a really really really really really really long string!';
</script><template>
<!-- ✓ GOOD -->
<div :title="`this is a really really really really really long template literal!`" />
</template>
<script>
/* ✓ GOOD */
var longTemplateLiteral = `this is a really really really really really long template literal!`;
</script><template>
<!-- ✓ GOOD -->
<div :class="{
foo: /this is a really really really really really long regular expression!/.test(bar)
}" />
</template>
<script>
/* ✓ GOOD */
var longRegExpLiteral = /this is a really really really really really long regular expression!/;
</script><template>
<!-- ✓ GOOD -->
<div title="this is a really really really really really really long attribute value!" />
<!-- ✗ BAD -->
<div :title="'this is a really really really really really really long string!'" />
</template><template>
<!-- ✓ GOOD -->
<div>this is a really really really really really really really long text content!</div>
</template>This rule was introduced in eslint-plugin-vue v6.1.0
Taken with ❤️ from ESLint core