UNPKG

eslint-config-mlt

Version:
395 lines (394 loc) 19.4 kB
{ "prettier/prettier": { "name": "prettier/prettier", "value": [ "error", {}, { "fileInfoOptions": { "withNodeModules": true } } ], "description": "样式规则委托prettier进行管理", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "no-debugger": { "name": "no-debugger", "value": "off", "description": "禁止使用 debugger", "reason": "", "badExample": "<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>foo<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n <mark class=\"eslint-error\" data-tip=\"Unexpected &amp;apos;debugger&amp;apos; statement.<br/><span class='eslint-error-rule-id'>eslint(no-debugger)</span>\"><span class=\"token keyword\">debugger</span><span class=\"token punctuation\">;</span></mark>\n<span class=\"token punctuation\">}</span>", "goodExample": "<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>foo<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n <span class=\"token comment\">// debugger;</span>\n<span class=\"token punctuation\">}</span>", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "no-unused-vars": { "name": "no-unused-vars", "value": "off", "description": "js 中关闭未使用变量检测", "reason": "", "badExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "max-depth": { "name": "max-depth", "value": ["error", 5], "description": "代码块嵌套的深度禁止超过 5 层", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "global-require": { "name": "global-require", "value": "off", "description": "NodeJs rules,9.0之后全部使用import,关闭require()强制在模块顶部调用", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "prefer-const": { "name": "prefer-const", "value": "error", "description": "申明后不再被修改的变量必须使用 const 来申明", "reason": "", "badExample": "", "goodExample": "", "fixable": true, "extendsBaseRule": "", "requiresTypeChecking": false }, "object-curly-newline": { "name": "object-curly-newline", "value": "off", "description": "关闭强制在花括号内使用一致的换行符", "reason": "", "badExample": "", "goodExample": "", "fixable": true, "extendsBaseRule": "", "requiresTypeChecking": false }, "new-cap": { "name": "new-cap", "value": ["error", { "newIsCap": true, "capIsNew": false, "properties": true }], "description": "new 后面的类名必须首字母大写", "reason": "", "badExample": "<span class=\"token keyword\">new</span> <span class=\"token class-name\"><mark class=\"eslint-error\" data-tip=\"A constructor name should not start with a lowercase letter.<br/><span class='eslint-error-rule-id'>eslint(new-cap)</span>\">foo</mark></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">new</span> <span class=\"token class-name\">foo<span class=\"token punctuation\">.</span><mark class=\"eslint-error\" data-tip=\"A constructor name should not start with a lowercase letter.<br/><span class='eslint-error-rule-id'>eslint(new-cap)</span>\">bar</mark></span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>", "goodExample": "<span class=\"token keyword\">new</span> <span class=\"token class-name\">Foo</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">new</span> <span class=\"token class-name\">foo<span class=\"token punctuation\">.</span>Bar</span><span class=\"token punctuation\">(</span><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>", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "click-events-have-key-events": { "name": "click-events-have-key-events", "value": "off", "description": "关闭点击元素上强制增加onKey**事件", "reason": "", "badExample": "", "goodExample": "", "fixable": true, "extendsBaseRule": "", "requiresTypeChecking": false }, "radix": { "name": "radix", "value": "off", "description": "parseInt 必须传入第二个参数, TS会自动校正,所以关闭", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "function-paren-newline": { "name": "function-paren-newline", "value": ["error", "consistent"], "description": "consistent: 要求每对圆括号一致地使用换行符。如果该对中的一个括号内有换行符,而另一个括号中没有换行符,则会报告错误。", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "no-void": { "name": "no-void", "value": "off", "description": "使用void 0 代替 undefined", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "no-implicit-coercion": { "name": "no-implicit-coercion", "value": "off", "description": "允许使用简便的方式对值类型进行转换", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "object-curly-spacing": { "name": "object-curly-spacing", "value": ["error", "always"], "description": "降维使用花括号", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "handle-callback-err": { "name": "handle-callback-err", "value": "off", "description": "忽略错误回调,必须处理异常现象", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "no-useless-constructor": { "name": "no-useless-constructor", "value": "off", "description": "支持 empty constructor", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "prefer-promise-reject-errors": { "name": "prefer-promise-reject-errors", "value": "off", "description": "Project.reject 可以不使用 error", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "no-invalid-this":{ "name": "no-invalid-this", "value": "off", "description": "不禁止使用 this", "reason": "支持在 class 中使用 this", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react/jsx-filename-extension": { "name": "react/jsx-filename-extension", "value": ["error", { "extensions": [".tsx"] }], "description": "使用了jsx语法的js代码文件其扩展名可以使用js或jsx", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react/prefer-stateless-function": { "name": "react/prefer-stateless-function", "value": ["error", { "ignorePureComponents": false }], "description": "无状态和没有使用生命周期的组件使用函数组件声明", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react/jsx-one-expression-per-line": { "name": "react/jsx-one-expression-per-line", "value": "off", "description": "组件内部换行", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react/sort-comp": { "name": "react/sort-comp", "value": [ 1, { "order": [ "static-methods", "instance-variables", "lifecycle", "everything-else", "render" ] } ], "description": "组件内方法必须按照一定规则排序", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react/jsx-first-prop-new-line": { "name": "react/jsx-first-prop-new-line", "value": "off", "description": "第一个属性必须换行", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react/jsx-curly-brace-presence": { "name": "react/jsx-curly-brace-presence", "value": "off", "description": "禁止jsx中使用无用的引号", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react/jsx-no-useless-fragment": { "name": "react/jsx-no-useless-fragment", "value": "off", "description": "禁止无意义的 Fragment 组件", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "@typescript-eslint/no-empty-interface": { "name": "@typescript-eslint/no-empty-interface", "value": "off", "description": "是否检测空接口", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "@typescript-eslint/explicit-member-accessibility": { "name": "@typescript-eslint/explicit-member-accessibility", "value": "off", "description": "是否显示声明类成员的访问性, 使用React的成员顺序", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "@typescript-eslint/indent": { "name": "@typescript-eslint/indent", "value": "off", "description": "将代码缩进管理,委托 prettier 进行管理", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "@typescript-eslint/no-useless-constructor": { "name": "@typescript-eslint/no-useless-constructor", "value": "off", "description": "禁止出现没必要的 constructor, 自动模板生成的代码都是空的constructor", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "no-unused-expressions": { "name": "no-unused-expressions", "value": "off", "description": "no-unused-expressions 会跟typescript的链式可选链调用冲突", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "@typescript-eslint/no-unused-expressions": { "name": "@typescript-eslint/no-unused-expressions", "value": "error", "description": "禁止无用的表达式", "reason": "", "badExample": "<span class=\"token keyword\">declare</span> <span class=\"token keyword\">const</span> foo1<span class=\"token punctuation\">:</span> <span class=\"token builtin\">any</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">declare</span> <span class=\"token keyword\">const</span> bar1<span class=\"token punctuation\">:</span> <span class=\"token builtin\">any</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">declare</span> <span class=\"token keyword\">const</span> baz1<span class=\"token punctuation\">:</span> <span class=\"token builtin\">any</span><span class=\"token punctuation\">;</span>\n<mark class=\"eslint-error\" data-tip=\"Expected an assignment or function call and instead saw an expression.<br/><span class='eslint-error-rule-id'>eslint(@typescript-eslint/no-unused-expressions)</span>\"><span class=\"token number\">1</span><span class=\"token punctuation\">;</span></mark>\n<mark class=\"eslint-error\" data-tip=\"Expected an assignment or function call and instead saw an expression.<br/><span class='eslint-error-rule-id'>eslint(@typescript-eslint/no-unused-expressions)</span>\">foo1<span class=\"token punctuation\">;</span></mark>\n<mark class=\"eslint-error\" data-tip=\"Expected an assignment or function call and instead saw an expression.<br/><span class='eslint-error-rule-id'>eslint(@typescript-eslint/no-unused-expressions)</span>\"><span class=\"token punctuation\">(</span><span class=\"token string\">'foo1'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></mark>\n<mark class=\"eslint-error\" data-tip=\"Expected an assignment or function call and instead saw an expression.<br/><span class='eslint-error-rule-id'>eslint(@typescript-eslint/no-unused-expressions)</span>\">foo1 <span class=\"token operator\">&amp;&amp;</span> bar1<span class=\"token punctuation\">;</span></mark>\n<mark class=\"eslint-error\" data-tip=\"Expected an assignment or function call and instead saw an expression.<br/><span class='eslint-error-rule-id'>eslint(@typescript-eslint/no-unused-expressions)</span>\">foo1 <span class=\"token operator\">||</span> bar1<span class=\"token punctuation\">;</span></mark>\n<mark class=\"eslint-error\" data-tip=\"Expected an assignment or function call and instead saw an expression.<br/><span class='eslint-error-rule-id'>eslint(@typescript-eslint/no-unused-expressions)</span>\">foo1 <span class=\"token operator\">?</span> bar1 <span class=\"token punctuation\">:</span> baz1<span class=\"token punctuation\">;</span></mark>\n<mark class=\"eslint-error\" data-tip=\"Expected an assignment or function call and instead saw an expression.<br/><span class='eslint-error-rule-id'>eslint(@typescript-eslint/no-unused-expressions)</span>\"><span class=\"token template-string\"><span class=\"token string\">`bar1`</span></span><span class=\"token punctuation\">;</span></mark>", "goodExample": "<span class=\"token string\">'use strict'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">declare</span> <span class=\"token keyword\">const</span> foo2<span class=\"token punctuation\">:</span> <span class=\"token builtin\">any</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">declare</span> <span class=\"token keyword\">const</span> bar2<span class=\"token punctuation\">:</span> <span class=\"token builtin\">any</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">declare</span> <span class=\"token keyword\">const</span> baz2<span class=\"token punctuation\">:</span> <span class=\"token builtin\">any</span><span class=\"token punctuation\">;</span>\nfoo2 <span class=\"token operator\">&amp;&amp;</span> <span class=\"token function\">bar2</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nfoo2 <span class=\"token operator\">||</span> <span class=\"token function\">bar2</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nfoo2 <span class=\"token operator\">?</span> <span class=\"token function\">bar2</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">:</span> <span class=\"token function\">baz2</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nfoo2<span class=\"token template-string\"><span class=\"token string\">`bar2`</span></span><span class=\"token punctuation\">;</span>", "fixable": false, "extendsBaseRule": "no-unused-expressions", "requiresTypeChecking": false }, "@typescript-eslint/no-unused-vars": { "name": "@typescript-eslint/no-unused-vars", "value": "off", "description": "关闭禁止未使用过的变量,包括全局变量和函数中的最后一个参数必须使用", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react-hooks/rules-of-hooks": { "name": "react-hooks/rules-of-hooks", "value": "error", "description": "", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false }, "react-hooks/exhaustive-deps": { "name": "react-hooks/exhaustive-deps", "value": "warn", "description": "", "reason": "", "badExample": "", "goodExample": "", "fixable": false, "extendsBaseRule": "", "requiresTypeChecking": false } }