eslint-config-alloy
Version:
AlloyTeam ESLint 规则
228 lines • 177 kB
JSON
{
"vue/attribute-hyphenation": {
"name": "vue/attribute-hyphenation",
"value": "off",
"description": "限制自定义组件的属性风格",
"reason": "",
"badExample": "",
"goodExample": "",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/attributes-order": {
"name": "vue/attributes-order",
"value": "error",
"description": "标签属性必须按规则排序",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span>\n <span class=\"token attr-name\">ref</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>header<span class=\"token punctuation\">\"</span></span>\n <mark class=\"eslint-error\" data-tip=\"Attribute &quot;v-for&quot; should go before &quot;ref&quot;.<br/><span class='eslint-error-rule-id'>eslint(vue/attributes-order)</span>\"><span class=\"token attr-name\">v-for</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>item in items<span class=\"token punctuation\">\"</span></span></mark>\n <span class=\"token attr-name\"><mark class=\"eslint-error\" data-tip=\"Attribute &quot;v-once&quot; should go before &quot;ref&quot;.<br/><span class='eslint-error-rule-id'>eslint(vue/attributes-order)</span>\">v-once</mark></span>\n <mark class=\"eslint-error\" data-tip=\"Attribute &quot;id&quot; should go before &quot;ref&quot;.<br/><span class='eslint-error-rule-id'>eslint(vue/attributes-order)</span>\"><span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>uniqueID<span class=\"token punctuation\">\"</span></span></mark>\n <span class=\"token attr-name\">v-model</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>headerData<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">my-prop</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>prop<span class=\"token punctuation\">\"</span></span>\n <mark class=\"eslint-error\" data-tip=\"Attribute &quot;v-if&quot; should go before &quot;my-prop&quot;.<br/><span class='eslint-error-rule-id'>eslint(vue/attributes-order)</span>\"><span class=\"token attr-name\">v-if</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>!visible<span class=\"token punctuation\">\"</span></span></mark>\n <mark class=\"eslint-error\" data-tip=\"Attribute &quot;is&quot; should go before &quot;my-prop&quot;.<br/><span class='eslint-error-rule-id'>eslint(vue/attributes-order)</span>\"><span class=\"token attr-name\">is</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>header<span class=\"token punctuation\">\"</span></span></mark>\n <span class=\"token attr-name\">@click</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>functionCall<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">v-text</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>textContent<span class=\"token punctuation\">\"</span></span>\n <span class=\"token punctuation\">/></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span>\n <span class=\"token attr-name\">is</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>header<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">v-for</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>item in items<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">v-if</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>!visible<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">v-once</span>\n <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>uniqueID<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">ref</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>header<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">v-model</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>headerData<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">my-prop</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>prop<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">@click</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>functionCall<span class=\"token punctuation\">\"</span></span>\n <span class=\"token attr-name\">v-text</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>textContent<span class=\"token punctuation\">\"</span></span>\n <span class=\"token punctuation\">/></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/camelcase": {
"name": "vue/camelcase",
"value": "off",
"description": "变量名必须是 camelcase 风格的",
"reason": "很多 api 或文件名都不是 camelcase 风格的",
"badExample": "",
"goodExample": "",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/comment-directive": {
"name": "vue/comment-directive",
"value": "error",
"description": "支持在模版中使用 eslint-disable-next-line 等注释",
"reason": "",
"badExample": "",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token comment\"><!-- eslint-disable-next-line vue/eqeqeq --></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span> <span class=\"token attr-name\">:attr</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>foo == 1<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/component-definition-name-casing": {
"name": "vue/component-definition-name-casing",
"value": ["error", "PascalCase"],
"description": "组件的 name 属性必须符合 PascalCase",
"reason": "这是官方建议的规范",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n name<span class=\"token punctuation\">:</span> <span class=\"token string\"><mark class=\"eslint-error\" data-tip=\"Property name &quot;foo-bar&quot; is not PascalCase.<br/><span class='eslint-error-rule-id'>eslint(vue/component-definition-name-casing)</span>\">'foo-bar'</mark></span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n name<span class=\"token punctuation\">:</span> <span class=\"token string\">'FooBar'</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/component-name-in-template-casing": {
"name": "vue/component-name-in-template-casing",
"value": "off",
"description": "限制组件名的风格",
"reason": "",
"badExample": "",
"goodExample": "",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/component-tags-order": {
"name": "vue/component-tags-order",
"value": ["error", { "order": ["script", "template", "style"] }],
"description": "组件中必须按照 <script>, <template>, <style> 排序",
"reason": "这是官方建议的顺序",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>style</span><span class=\"token punctuation\">></span></span><span class=\"token style\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>style</span><span class=\"token punctuation\">></span></span>\n<mark class=\"eslint-error\" data-tip=\"The &lt;script&gt; should be above the &lt;style&gt; on line 1.<br/><span class='eslint-error-rule-id'>eslint(vue/component-tags-order)</span>\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span></mark>\n<mark class=\"eslint-error\" data-tip=\"The &lt;template&gt; should be above the &lt;style&gt; on line 1.<br/><span class='eslint-error-rule-id'>eslint(vue/component-tags-order)</span>\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span></mark>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>style</span><span class=\"token punctuation\">></span></span><span class=\"token style\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>style</span><span class=\"token punctuation\">></span></span>",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/eqeqeq": {
"name": "vue/eqeqeq",
"value": ["error", "always"],
"description": "必须使用 === 或 !==,禁止使用 == 或 !=",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span> <span class=\"token attr-name\">:attr</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>foo <mark class=\"eslint-error\" data-tip=\"Expected &apos;===&apos; and instead saw &apos;==&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/eqeqeq)</span>\">==</mark> 1<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span> <span class=\"token attr-name\">:attr</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>foo === 1<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/jsx-uses-vars": {
"name": "vue/jsx-uses-vars",
"value": "error",
"description": "修复 no-unused-vars 不检查 jsx 的问题",
"reason": "",
"badExample": "",
"goodExample": "",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/match-component-file-name": {
"name": "vue/match-component-file-name",
"value": "off",
"description": "组件名称必须和文件名一致",
"reason": "",
"badExample": "",
"goodExample": "",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/name-property-casing": {
"name": "vue/name-property-casing",
"value": "off",
"description": "限制组件的 name 属性的值的风格",
"reason": "",
"badExample": "",
"goodExample": "",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-async-in-computed-properties": {
"name": "vue/no-async-in-computed-properties",
"value": "error",
"description": "计算属性禁止包含异步方法",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n computed<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n <span class=\"token function-variable function\">foo</span><span class=\"token punctuation\">:</span> <mark class=\"eslint-error\" data-tip=\"Unexpected async function declaration in &quot;foo&quot; computed property.<br/><span class='eslint-error-rule-id'>eslint(vue/no-async-in-computed-properties)</span>\"><span class=\"token keyword\">async</span> <span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n <span class=\"token keyword\">return</span> <mark class=\"eslint-error\" data-tip=\"Unexpected await operator in &quot;foo&quot; computed property.<br/><span class='eslint-error-rule-id'>eslint(vue/no-async-in-computed-properties)</span>\"><span class=\"token keyword\">await</span> <span class=\"token function\">someFunc</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span></mark><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span></mark><span class=\"token punctuation\">,</span>\n <span class=\"token function\">bar</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n <span class=\"token keyword\">return</span> <mark class=\"eslint-error\" data-tip=\"Unexpected Promise object in &quot;bar&quot; computed property.<br/><span class='eslint-error-rule-id'>eslint(vue/no-async-in-computed-properties)</span>\"><span class=\"token keyword\">new</span> <span class=\"token class-name\">Promise</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span></mark><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n <span class=\"token function\">baz</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n <mark class=\"eslint-error\" data-tip=\"Unexpected timed function in &quot;baz&quot; computed property.<br/><span class='eslint-error-rule-id'>eslint(vue/no-async-in-computed-properties)</span>\"><span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span></mark><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n computed<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n <span class=\"token function\">foo</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n <span class=\"token keyword\">return</span> <span class=\"token function\">someFunc</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-boolean-default": {
"name": "vue/no-boolean-default",
"value": "off",
"description": "禁止给布尔值 props 添加默认值",
"reason": "类型相关的约束交给 TypeScript",
"badExample": "",
"goodExample": "",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-deprecated-scope-attribute": {
"name": "vue/no-deprecated-scope-attribute",
"value": "error",
"description": "禁用已废弃的 scope 属性",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span> <span class=\"token attr-name\">slot</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>name<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\"><mark class=\"eslint-error\" data-tip=\"`scope` attributes are deprecated.<br/><span class='eslint-error-rule-id'>eslint(vue/no-deprecated-scope-attribute)</span>\">scope</mark></span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>props<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n {{ props.title }}\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span> <span class=\"token attr-name\"><span class=\"token namespace\">v-slot:</span>name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>props<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n {{ props.title }}\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span> <span class=\"token attr-name\">slot</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>name<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">slot-scope</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>props<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n {{ props.title }}\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-deprecated-slot-attribute": {
"name": "vue/no-deprecated-slot-attribute",
"value": "error",
"description": "使用 v-slot 替代已废弃的 slot",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span> <span class=\"token attr-name\"><mark class=\"eslint-error\" data-tip=\"`slot` attributes are deprecated.<br/><span class='eslint-error-rule-id'>eslint(vue/no-deprecated-slot-attribute)</span>\">slot</mark></span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>name<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n {{ props.title }}\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span> <span class=\"token attr-name\"><span class=\"token namespace\">v-slot:</span>name</span><span class=\"token punctuation\">></span></span>\n {{ props.title }}\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-deprecated-slot-scope-attribute": {
"name": "vue/no-deprecated-slot-scope-attribute",
"value": "error",
"description": "禁用已废弃的 slot-scope",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span> <span class=\"token attr-name\"><mark class=\"eslint-error\" data-tip=\"`slot-scope` are deprecated.<br/><span class='eslint-error-rule-id'>eslint(vue/no-deprecated-slot-scope-attribute)</span>\">slot-scope</mark></span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>props<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n {{ props.title }}\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span> <span class=\"token attr-name\">v-slot</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>props<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n {{ props.title }}\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": true,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-dupe-keys": {
"name": "vue/no-dupe-keys",
"value": "error",
"description": "禁止重复的键名",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n props<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n foo<span class=\"token punctuation\">:</span> String\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n computed<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n <mark class=\"eslint-error\" data-tip=\"Duplicated key &apos;foo&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/no-dupe-keys)</span>\">foo</mark><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n <span class=\"token keyword\">get</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n data<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n <mark class=\"eslint-error\" data-tip=\"Duplicated key &apos;foo&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/no-dupe-keys)</span>\">foo</mark><span class=\"token punctuation\">:</span> <span class=\"token keyword\">null</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n methods<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n <span class=\"token function\"><mark class=\"eslint-error\" data-tip=\"Duplicated key &apos;foo&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/no-dupe-keys)</span>\">foo</mark></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> <span class=\"token punctuation\">{</span>\n props<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n foo1<span class=\"token punctuation\">:</span> String\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n computed<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n foo2<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n <span class=\"token keyword\">get</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n data<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n foo3<span class=\"token punctuation\">:</span> <span class=\"token keyword\">null</span>\n <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n methods<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n <span class=\"token function\">foo4</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-duplicate-attributes": {
"name": "vue/no-duplicate-attributes",
"value": ["error", { "allowCoexistClass": false, "allowCoexistStyle": false }],
"description": "禁止出现重复的属性",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">:foo</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <mark class=\"eslint-error\" data-tip=\"Duplicate attribute &apos;foo&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/no-duplicate-attributes)</span>\"><span class=\"token attr-name\">foo</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>def<span class=\"token punctuation\">\"</span></span></mark> <span class=\"token punctuation\">/></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">foo</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <mark class=\"eslint-error\" data-tip=\"Duplicate attribute &apos;foo&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/no-duplicate-attributes)</span>\"><span class=\"token attr-name\">:foo</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>def<span class=\"token punctuation\">\"</span></span></mark> <span class=\"token punctuation\">/></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">foo</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <mark class=\"eslint-error\" data-tip=\"Duplicate attribute &apos;foo&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/no-duplicate-attributes)</span>\"><span class=\"token attr-name\">foo</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>def<span class=\"token punctuation\">\"</span></span></mark> <span class=\"token punctuation\">/></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">:foo.a</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <mark class=\"eslint-error\" data-tip=\"Duplicate attribute &apos;foo&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/no-duplicate-attributes)</span>\"><span class=\"token attr-name\">:foo.b</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>def<span class=\"token punctuation\">\"</span></span></mark> <span class=\"token punctuation\">/></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <mark class=\"eslint-error\" data-tip=\"Duplicate attribute &apos;class&apos;.<br/><span class='eslint-error-rule-id'>eslint(vue/no-duplicate-attributes)</span>\"><span class=\"token attr-name\">:class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>def<span class=\"token punctuation\">\"</span></span></mark> <span class=\"token punctuation\">/></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">:foo</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">foo</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">:foo.a</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>MyComponent</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>abc<span class=\"token punctuation\">\"</span></span> <span class=\"token punctuation\">/></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-empty-pattern": {
"name": "vue/no-empty-pattern",
"value": "error",
"description": "禁止解构赋值中出现空 {} 或 []",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span>\n <span class=\"token attr-name\">@click</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>\n () => {\n const <mark class=\"eslint-error\" data-tip=\"Unexpected empty object pattern.<br/><span class='eslint-error-rule-id'>eslint(vue/no-empty-pattern)</span>\">{}</mark> = foo;\n }\n <span class=\"token punctuation\">\"</span></span>\n <span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span>\n <span class=\"token attr-name\">@click</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>\n () => {\n const { bar } = foo;\n }\n <span class=\"token punctuation\">\"</span></span>\n <span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": false,
"extendsBaseRule": "",
"requiresTypeChecking": false
},
"vue/no-irregular-whitespace": {
"name": "vue/no-irregular-whitespace",
"value": [
"error",
{
"skipStrings": true,
"skipComments": false,
"skipRegExps": true,
"skipTemplates": true,
"skipHTMLTextContents": true
}
],
"description": "禁止使用特殊空白符(比如全角空格),除非是出现在字符串、正则表达式、模版字符串中或 HTML 内容中",
"reason": "",
"badExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n<span class=\"token keyword\">const</span> foo<mark class=\"eslint-error\" data-tip=\"Irregular whitespace not allowed.<br/><span class='eslint-error-rule-id'>eslint(vue/no-irregular-whitespace)</span>\"> </mark><span class=\"token operator\">=</span> <span class=\"token string\">''</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>foo<mark class=\"eslint-error\" data-tip=\"Irregular whitespace not allowed.<br/><span class='eslint-error-rule-id'>eslint(vue/no-irregular-whitespace)</span>\"> </mark>bar<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n<span class=\"token keyword\">const</span> foo <span class=\"token operator\">=</span> <span class=\"token string\">' '</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> bar <span class=\"token operator\">=</span> <span class=\"token regex\">/ /</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> baz <span class=\"token operator\">=</span> <span class=\"token template-string\"><span class=\"token string\">` `</span></span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"><</span>div</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>foo bar<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\"></</span>template</span><span class=\"token punctuation\">></span></span>",
"fixable": false,
"extendsBa