UNPKG

eslint-config-alloy

Version:
228 lines 177 kB
{ "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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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 &amp;quot;v-for&amp;quot; should go before &amp;quot;ref&amp;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 &amp;quot;v-once&amp;quot; should go before &amp;quot;ref&amp;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 &amp;quot;id&amp;quot; should go before &amp;quot;ref&amp;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 &amp;quot;v-if&amp;quot; should go before &amp;quot;my-prop&amp;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 &amp;quot;is&amp;quot; should go before &amp;quot;my-prop&amp;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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token comment\">&lt;!-- eslint-disable-next-line vue/eqeqeq --></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</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\">&lt;</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 &amp;quot;foo-bar&amp;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\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</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\">&lt;</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\">&lt;/</span>style</span><span class=\"token punctuation\">></span></span>\n<mark class=\"eslint-error\" data-tip=\"The &amp;lt;script&amp;gt; should be above the &amp;lt;style&amp;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\">&lt;</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\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span></mark>\n<mark class=\"eslint-error\" data-tip=\"The &amp;lt;template&amp;gt; should be above the &amp;lt;style&amp;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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span></mark>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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 &amp;apos;===&amp;apos; and instead saw &amp;apos;==&amp;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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</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\">&lt;</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 &amp;quot;foo&amp;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 &amp;quot;foo&amp;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 &amp;quot;bar&amp;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 &amp;quot;baz&amp;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\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>ListComponent</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</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\">&lt;</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 &amp;apos;foo&amp;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 &amp;apos;foo&amp;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 &amp;apos;foo&amp;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\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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 &amp;apos;foo&amp;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\">&lt;</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 &amp;apos;foo&amp;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\">&lt;</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 &amp;apos;foo&amp;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\">&lt;</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 &amp;apos;foo&amp;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\">&lt;</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 &amp;apos;class&amp;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\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;</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\">&lt;</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\">&lt;</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\">&lt;/</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\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</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\">&lt;</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\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "goodExample": "<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span>\n <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</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\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>", "fixable": false, "extendsBa