*本规范基于 [Airbnb](https://github.com/airbnb/javascript#table-of-contents) 和 [Tencent JavaScript](https://git.code.oa.com/standards/javascript) 编码规范编写。主要用于IMWEB团队内部项目。* 

## 接入指南
项目依赖要求，确保eslint版本大于下面版本：
```shell script
  "peerDependencies": {
    "babel-eslint": ">= 7.2.3",
    "eslint": ">= ^6.8.0"
  }
```

```shell script
tnpm install eslint @tencent/eslint-config-imweb --save-dev
```
.eslintrc.js:
```js
module.exports = {
    extends: ['@tencent/eslint-config-imweb'],
}
```

若项目中使用了typescript，则需要：

1.安装目前最能稳定使用的开发环境依赖：
手动引入：
```js
"devDependencies" : {
    "@typescript-eslint/parser": "^3.9.1",
    "@typescript-eslint/eslint-plugin": "^3.9.1",
}
```
或命令行安装：
```shell script
tnpm install @typescript-eslint/eslint-plugin@3.9.1 @typescript-eslint/parser@3.9.1 --save-dev
```

2.额外引入ts规则

.eslintrc.js:
```js
module.exports = {
    extends: [
      '@tencent/eslint-config-imweb',
      '@tencent/eslint-config-imweb/ts',
    ],
}
```

Tencent Javascript 规范提供了一套[降级方案](https://git.code.oa.com/standards/javascript/blob/master/ts-legacy.js)以兼容老项目迁移，若老项目改动过大，可考虑使用。
.eslintrc.js:
```js
module.exports = {
    extends: [
      '@tencent/eslint-config-imweb',
      '@tencent/eslint-config-imweb/ts',
      '@tencent/eslint-config-tencent/ts-legacy',
    ],
}
```

## 关于 Prettier 
*由于目前公司还没有统一的 Prettier 标准配置，团队内的代码风格也没有得出一份最佳实践，所以目前只给出 Prettier 的推荐配置，并未集成在代码中。*

安装相关依赖：
```shell script
tnpm i prettier eslint-config-prettier eslint-plugin-prettier -D
```

.eslintrc.js:
```js
module.exports = {
  extends: [
    '@tencent/eslint-config-imweb',
    '@tencent/eslint-config-imweb/ts',
    'prettier',
    'prettier/@typescript-eslint',
    'prettier/react',
    'plugin:prettier/recommended',
  ],
};
```
.prettierrc:
```json
{
  "singleQuote": true,
  "jsxBracketSameLine": false,
  "trailingComma": "all",
  "printWidth": 120
}

```

## 规则详情

Rule Name：[@typescript-eslint/camelcase](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/camelcase.md)  
```
["off"]
```
Rule Name：[@typescript-eslint/ban-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md)  
```
["off"]
```
Rule Name：[@typescript-eslint/consistent-type-assertions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-assertions.md)  
```
["off",{"assertionStyle":"as","objectLiteralTypeAssertions":"never"}]
```
Rule Name：[@typescript-eslint/explicit-function-return-type](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-function-return-type.md)  
```
["off"]
```
Rule Name：[@typescript-eslint/explicit-member-accessibility](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md)  
```
["off"]
```
Rule Name：[@typescript-eslint/explicit-module-boundary-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-module-boundary-types.md)  
```
["off"]
```
Rule Name：[@typescript-eslint/member-ordering](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-ordering.md)  
```
["off",{"default":["public-static-field","protected-static-field","private-static-field","static-field","public-static-method","protected-static-method","private-static-method","static-method","public-instance-field","protected-instance-field","private-instance-field","public-field","protected-field","private-field","instance-field","field","constructor","public-instance-method","protected-instance-method","private-instance-method","public-method","protected-method","private-method","instance-method","method"]}]
```
Rule Name：[@typescript-eslint/no-use-before-define](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-use-before-define.md)  
```
["error",{"enums":false,"functions":false}]
```
Rule Name：[@typescript-eslint/no-var-requires](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-var-requires.md)  
```
["warn"]
```
Rule Name：[@typescript-eslint/no-require-imports](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-require-imports.md)  
```
["warn"]
```
Rule Name：[no-dupe-class-members](http://eslint.org/docs/rules/no-dupe-class-members)  
```
["off"]
```
Rule Name：[no-empty-function](http://eslint.org/docs/rules/no-empty-function)  
```
["off",{"allow":["arrowFunctions","functions","methods"]}]
```
Rule Name：[no-invalid-this](http://eslint.org/docs/rules/no-invalid-this)  
```
["off"]
```
Rule Name：[no-magic-numbers](http://eslint.org/docs/rules/no-magic-numbers)  
```
["off",{"ignore":[],"ignoreArrayIndexes":true,"enforceConst":true,"detectObjects":false}]
```
Rule Name：[no-unused-vars](http://eslint.org/docs/rules/no-unused-vars)  
```
["off",{"vars":"all","args":"after-used","ignoreRestSiblings":true}]
```
Rule Name：[react/sort-comp](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-comp.md)  
```
["off",{"order":["static-variables","static-methods","instance-variables","lifecycle","/^on.+$/","getters","setters","/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/","instance-methods","everything-else","rendering"],"groups":{"lifecycle":["displayName","propTypes","contextTypes","childContextTypes","mixins","statics","defaultProps","constructor","getDefaultProps","getInitialState","state","getChildContext","getDerivedStateFromProps","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","getSnapshotBeforeUpdate","componentDidUpdate","componentDidCatch","componentWillUnmount"],"rendering":["/^render.+$/","render"]}}]
```
Rule Name：[new-cap](http://eslint.org/docs/rules/new-cap)  
```
["off",{"properties":false,"newIsCap":true,"capIsNew":true}]
```
Rule Name：[func-call-spacing](http://eslint.org/docs/rules/func-call-spacing)  
```
["off","never"]
```
Rule Name：[@typescript-eslint/adjacent-overload-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/class-literal-property-style](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/class-literal-property-style.md)  
```
["error","fields"]
```
Rule Name：[@typescript-eslint/consistent-type-definitions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-definitions.md)  
```
["off"]
```
Rule Name：[@typescript-eslint/func-call-spacing](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/func-call-spacing.md)  
```
["error","never"]
```
Rule Name：[@typescript-eslint/method-signature-style](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/method-signature-style.md)  
```
["off"]
```
Rule Name：[@typescript-eslint/no-empty-interface](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-interface.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/no-inferrable-types](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-inferrable-types.md)  
```
["warn"]
```
Rule Name：[@typescript-eslint/no-namespace](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-namespace.md)  
```
["error",{"allowDeclarations":true,"allowDefinitionFiles":true}]
```
Rule Name：[@typescript-eslint/no-non-null-asserted-optional-chain](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/no-parameter-properties](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-parameter-properties.md)  
```
["off"]
```
Rule Name：[@typescript-eslint/no-this-alias](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-this-alias.md)  
```
["error",{"allowDestructuring":true}]
```
Rule Name：[@typescript-eslint/no-unused-expressions](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-expressions.md)  
```
["error",{"allowShortCircuit":true,"allowTernary":true,"allowTaggedTemplates":true}]
```
Rule Name：[@typescript-eslint/no-useless-constructor](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-useless-constructor.md)  
```
["warn"]
```
Rule Name：[@typescript-eslint/prefer-for-of](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-for-of.md)  
```
["warn"]
```
Rule Name：[@typescript-eslint/prefer-function-type](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-function-type.md)  
```
["warn"]
```
Rule Name：[@typescript-eslint/prefer-namespace-keyword](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-namespace-keyword.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/prefer-optional-chain](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-optional-chain.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/triple-slash-reference](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/triple-slash-reference.md)  
```
["error",{"path":"never","types":"always","lib":"always"}]
```
Rule Name：[@typescript-eslint/type-annotation-spacing](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/type-annotation-spacing.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/typedef](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/typedef.md)  
```
["error",{"arrayDestructuring":false,"arrowParameter":false,"memberVariableDeclaration":false,"objectDestructuring":false,"parameter":false,"propertyDeclaration":true,"variableDeclaration":false}]
```
Rule Name：[@typescript-eslint/unified-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/unified-signatures.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/ban-ts-comment](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-ts-comment.md)  
```
["error"]
```
Rule Name：[no-array-constructor](http://eslint.org/docs/rules/no-array-constructor)  
```
["off"]
```
Rule Name：[@typescript-eslint/no-array-constructor](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-array-constructor.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/no-empty-function](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/no-explicit-any](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-explicit-any.md)  
```
["warn"]
```
Rule Name：[@typescript-eslint/no-extra-non-null-assertion](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-extra-non-null-assertion.md)  
```
["error"]
```
Rule Name：[no-extra-semi](http://eslint.org/docs/rules/no-extra-semi)  
```
["off"]
```
Rule Name：[@typescript-eslint/no-extra-semi](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-extra-semi.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/no-misused-new](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-misused-new.md)  
```
["error"]
```
Rule Name：[@typescript-eslint/no-non-null-assertion](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-non-null-assertion.md)  
```
["warn"]
```
Rule Name：[@typescript-eslint/no-unused-vars](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-vars.md)  
```
["warn"]
```
Rule Name：[@typescript-eslint/prefer-as-const](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-as-const.md)  
```
["error"]
```
Rule Name：[array-callback-return](http://eslint.org/docs/rules/array-callback-return)  
```
["warn",{"allowImplicit":true}]
```
Rule Name：[arrow-body-style](http://eslint.org/docs/rules/arrow-body-style)  
```
["off","as-needed"]
```
Rule Name：[arrow-parens](http://eslint.org/docs/rules/arrow-parens)  
```
["off","as-needed",{"requireForBlockBody":true}]
```
Rule Name：[arrow-spacing](http://eslint.org/docs/rules/arrow-spacing)  
```
["error",{"before":true,"after":true}]
```
Rule Name：[brace-style](http://eslint.org/docs/rules/brace-style)  
```
["error","1tbs",{"allowSingleLine":true}]
```
Rule Name：[camelcase](http://eslint.org/docs/rules/camelcase)  
```
["error",{"properties":"never","ignoreDestructuring":true,"ignoreImports":true,"allow":["^UNSAFE_"]}]
```
Rule Name：[class-methods-use-this](http://eslint.org/docs/rules/class-methods-use-this)  
```
["off",{"exceptMethods":["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}]
```
Rule Name：[consistent-return](http://eslint.org/docs/rules/consistent-return)  
```
["off"]
```
Rule Name：[comma-dangle](http://eslint.org/docs/rules/comma-dangle)  
```
["error",{"arrays":"always-multiline","objects":"always-multiline","imports":"always-multiline","exports":"always-multiline","functions":"always-multiline"}]
```
Rule Name：[computed-property-spacing](http://eslint.org/docs/rules/computed-property-spacing)  
```
["error","never"]
```
Rule Name：[dot-notation](http://eslint.org/docs/rules/dot-notation)  
```
["error",{"allowKeywords":true,"allowPattern":""}]
```
Rule Name：[eqeqeq](http://eslint.org/docs/rules/eqeqeq)  
```
["error","always",{"null":"ignore"}]
```
Rule Name：[func-names](http://eslint.org/docs/rules/func-names)  
```
["warn","as-needed"]
```
Rule Name：[func-style](http://eslint.org/docs/rules/func-style)  
```
["off","expression"]
```
Rule Name：[indent](http://eslint.org/docs/rules/indent)  
```
["error",2,{"SwitchCase":1,"VariableDeclarator":1,"outerIIFEBody":1,"FunctionDeclaration":{"parameters":1,"body":1},"FunctionExpression":{"parameters":1,"body":1},"CallExpression":{"arguments":1},"ArrayExpression":1,"ObjectExpression":1,"ImportDeclaration":1,"flatTernaryExpressions":false,"ignoredNodes":["TSXElement","JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],"ignoreComments":false}]
```
Rule Name：[max-len](http://eslint.org/docs/rules/max-len)  
```
["error",{"code":120,"ignoreStrings":true,"ignoreUrls":true,"ignoreRegExpLiterals":true,"ignoreTemplateLiterals":true,"ignoreComments":true}]
```
Rule Name：[no-await-in-loop](http://eslint.org/docs/rules/no-await-in-loop)  
```
["off"]
```
Rule Name：[no-async-promise-executor](http://eslint.org/docs/rules/no-async-promise-executor)  
```
["warn"]
```
Rule Name：[no-confusing-arrow](http://eslint.org/docs/rules/no-confusing-arrow)  
```
["error",{"allowParens":true}]
```
Rule Name：[no-continue](http://eslint.org/docs/rules/no-continue)  
```
["warn"]
```
Rule Name：[no-else-return](http://eslint.org/docs/rules/no-else-return)  
```
["error",{"allowElseIf":false}]
```
Rule Name：[no-iterator](http://eslint.org/docs/rules/no-iterator)  
```
["error"]
```
Rule Name：[no-new-wrappers](http://eslint.org/docs/rules/no-new-wrappers)  
```
["warn"]
```
Rule Name：[no-param-reassign](http://eslint.org/docs/rules/no-param-reassign)  
```
["warn",{"props":true,"ignorePropertyModificationsFor":["acc","accumulator","e","ctx","context","req","request","res","response","$scope","staticContext"]}]
```
Rule Name：[no-unused-expressions](http://eslint.org/docs/rules/no-unused-expressions)  
```
["off",{"allowShortCircuit":false,"allowTernary":false,"allowTaggedTemplates":false}]
```
Rule Name：[no-restricted-properties](http://eslint.org/docs/rules/no-restricted-properties)  
```
["error",{"object":"arguments","property":"callee","message":"arguments.callee is deprecated"},{"object":"global","property":"isFinite","message":"Please use Number.isFinite instead"},{"object":"self","property":"isFinite","message":"Please use Number.isFinite instead"},{"object":"window","property":"isFinite","message":"Please use Number.isFinite instead"},{"object":"global","property":"isNaN","message":"Please use Number.isNaN instead"},{"object":"self","property":"isNaN","message":"Please use Number.isNaN instead"},{"object":"window","property":"isNaN","message":"Please use Number.isNaN instead"},{"property":"__defineGetter__","message":"Please use Object.defineProperty instead."},{"property":"__defineSetter__","message":"Please use Object.defineProperty instead."},{"object":"Math","property":"pow","message":"Use the exponentiation operator (**) instead."}]
```
Rule Name：[no-shadow](http://eslint.org/docs/rules/no-shadow)  
```
["warn"]
```
Rule Name：[no-script-url](http://eslint.org/docs/rules/no-script-url)  
```
["off"]
```
Rule Name：[no-useless-constructor](http://eslint.org/docs/rules/no-useless-constructor)  
```
["error"]
```
Rule Name：[newline-per-chained-call](http://eslint.org/docs/rules/newline-per-chained-call)  
```
["error",{"ignoreChainWithDepth":4}]
```
Rule Name：[no-nested-ternary](http://eslint.org/docs/rules/no-nested-ternary)  
```
["error"]
```
Rule Name：[no-restricted-syntax](http://eslint.org/docs/rules/no-restricted-syntax)  
```
["error",{"selector":"ForInStatement","message":"for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."},{"selector":"LabeledStatement","message":"Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."},{"selector":"WithStatement","message":"`with` is disallowed in strict mode because it makes code impossible to predict and optimize."}]
```
Rule Name：[no-underscore-dangle](http://eslint.org/docs/rules/no-underscore-dangle)  
```
["off",{"allow":["__REDUX_DEVTOOLS_EXTENSION_COMPOSE__"],"allowAfterThis":false,"allowAfterSuper":false,"enforceInMethodNames":true,"allowAfterThisConstructor":false}]
```
Rule Name：[no-unneeded-ternary](http://eslint.org/docs/rules/no-unneeded-ternary)  
```
["error",{"defaultAssignment":false}]
```
Rule Name：[no-whitespace-before-property](http://eslint.org/docs/rules/no-whitespace-before-property)  
```
["error"]
```
Rule Name：[no-plusplus](http://eslint.org/docs/rules/no-plusplus)  
```
["off",{"allowForLoopAfterthoughts":true}]
```
Rule Name：[object-curly-spacing](http://eslint.org/docs/rules/object-curly-spacing)  
```
["error","always"]
```
Rule Name：[object-curly-newline](http://eslint.org/docs/rules/object-curly-newline)  
```
["off",{"ObjectExpression":{"minProperties":4,"multiline":true,"consistent":true},"ObjectPattern":{"minProperties":4,"multiline":true,"consistent":true},"ImportDeclaration":{"minProperties":4,"multiline":true,"consistent":true},"ExportDeclaration":{"minProperties":4,"multiline":true,"consistent":true}}]
```
Rule Name：[object-shorthand](http://eslint.org/docs/rules/object-shorthand)  
```
["error","always",{"ignoreConstructors":false,"avoidQuotes":true}]
```
Rule Name：[one-var](http://eslint.org/docs/rules/one-var)  
```
["error","never"]
```
Rule Name：[operator-linebreak](http://eslint.org/docs/rules/operator-linebreak)  
```
["error","before",{"overrides":{"=":"none"}}]
```
Rule Name：[quotes](http://eslint.org/docs/rules/quotes)  
```
["error","single",{"avoidEscape":true}]
```
Rule Name：[spaced-comment](http://eslint.org/docs/rules/spaced-comment)  
```
["error","always",{"line":{"markers":["/"],"exceptions":["-","+"]},"block":{"markers":["!"],"exceptions":["*"],"balanced":true}}]
```
Rule Name：[space-before-function-paren](http://eslint.org/docs/rules/space-before-function-paren)  
```
["error",{"anonymous":"always","named":"never","asyncArrow":"always"}]
```
Rule Name：[prefer-const](http://eslint.org/docs/rules/prefer-const)  
```
["error",{"destructuring":"all","ignoreReadBeforeAssign":true}]
```
Rule Name：[prefer-destructuring](http://eslint.org/docs/rules/prefer-destructuring)  
```
["error",{"VariableDeclarator":{"array":false,"object":true},"AssignmentExpression":{"array":false,"object":false}},{"enforceForRenamedProperties":false}]
```
Rule Name：[prefer-rest-params](http://eslint.org/docs/rules/prefer-rest-params)  
```
["error"]
```
Rule Name：[prefer-spread](http://eslint.org/docs/rules/prefer-spread)  
```
["error"]
```
Rule Name：[radix](http://eslint.org/docs/rules/radix)  
```
["error"]
```
Rule Name：[template-curly-spacing](http://eslint.org/docs/rules/template-curly-spacing)  
```
["error","never"]
```
Rule Name：[import/no-extraneous-dependencies](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-extraneous-dependencies.md)  
```
["off",{"devDependencies":["test/**","tests/**","spec/**","**/__tests__/**","**/__mocks__/**","test.{js,jsx}","test-*.{js,jsx}","**/*{.,_}{test,spec}.{js,jsx}","**/jest.config.js","**/jest.setup.js","**/vue.config.js","**/webpack.config.js","**/webpack.config.*.js","**/rollup.config.js","**/rollup.config.*.js","**/gulpfile.js","**/gulpfile.*.js","**/Gruntfile{,.js}","**/protractor.conf.js","**/protractor.conf.*.js","**/karma.conf.js"],"optionalDependencies":false}]
```
Rule Name：[import/no-unresolved](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-unresolved.md)  
```
["off",{"commonjs":true,"caseSensitive":true}]
```
Rule Name：[import/extensions](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/extensions.md)  
```
["off","ignorePackages",{"js":"never","mjs":"never","jsx":"never"}]
```
Rule Name：[import/first](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/first.md)  
```
["off"]
```
Rule Name：[react/destructuring-assignment](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/destructuring-assignment.md)  
```
["off","always"]
```
Rule Name：[react/forbid-prop-types](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/forbid-prop-types.md)  
```
["off",{"forbid":["any","array","object"],"checkContextTypes":true,"checkChildContextTypes":true}]
```
Rule Name：[react/jsx-closing-tag-location](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-closing-tag-location.md)  
```
["warn"]
```
Rule Name：[react/jsx-filename-extension](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-filename-extension.md)  
```
["error",{"extensions":[".jsx",".tsx"]}]
```
Rule Name：[react/jsx-one-expression-per-line](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-one-expression-per-line.md)  
```
["off",{"allow":"single-child"}]
```
Rule Name：[react/jsx-props-no-spreading](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-props-no-spreading.md)  
```
["off",{"html":"enforce","custom":"enforce","explicitSpread":"ignore","exceptions":[]}]
```
Rule Name：[react/jsx-no-script-url](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-script-url.md)  
```
["error",[{"name":"Link","props":["to"]},{"name":"Foo","props":["href","to"]}]]
```
Rule Name：[react/require-default-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-default-props.md)  
```
["off",{"forbidDefaultForRequired":true}]
```
Rule Name：[react/no-danger](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-danger.md)  
```
["warn"]
```
Rule Name：[react/no-did-mount-set-state](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md)  
```
["off"]
```
Rule Name：[react/prop-types](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prop-types.md)  
```
["off",{"ignore":[],"customValidators":[],"skipUndeclared":false}]
```
Rule Name：[react/static-property-placement](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/static-property-placement.md)  
```
["off","property assignment"]
```
Rule Name：[jsx-a11y/media-has-caption](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/media-has-caption.md)  
```
["off",{"audio":[],"video":[],"track":[]}]
```
Rule Name：[jsx-a11y/no-static-element-interactions](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md)  
```
["off",{"handlers":["onClick","onMouseDown","onMouseUp","onKeyPress","onKeyDown","onKeyUp"]}]
```
Rule Name：[jsx-a11y/click-events-have-key-events](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/click-events-have-key-events.md)  
```
["off"]
```
Rule Name：[jsx-a11y/no-noninteractive-element-to-interactive-role](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-noninteractive-element-to-interactive-role.md)  
```
["off",{"ul":["listbox","menu","menubar","radiogroup","tablist","tree","treegrid"],"ol":["listbox","menu","menubar","radiogroup","tablist","tree","treegrid"],"li":["menuitem","option","row","tab","treeitem"],"table":["grid"],"td":["gridcell"]}]
```
Rule Name：[jsx-a11y/no-noninteractive-element-interactions](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-noninteractive-element-interactions.md)  
```
["off",{"handlers":["onClick","onMouseDown","onMouseUp","onKeyPress","onKeyDown","onKeyUp"]}]
```
Rule Name：[jsx-a11y/mouse-events-have-key-events](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/mouse-events-have-key-events.md)  
```
["off"]
```
Rule Name：[jsx-a11y/no-noninteractive-tabindex](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-noninteractive-tabindex.md)  
```
["off",{"tags":[],"roles":["tabpanel"]}]
```
Rule Name：[jsx-a11y/anchor-is-valid](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/anchor-is-valid.md)  
```
["off",{"components":["Link"],"specialLink":["to"],"aspects":["noHref","invalidHref","preferButton"]}]
```
Rule Name：[import/no-duplicates](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-duplicates.md)  
```
["error"]
```
Rule Name：[import/no-mutable-exports](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-mutable-exports.md)  
```
["warn"]
```
Rule Name：[import/no-webpack-loader-syntax](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-webpack-loader-syntax.md)  
```
["warn"]
```
Rule Name：[import/prefer-default-export](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/prefer-default-export.md)  
```
["off"]
```
Rule Name：[array-bracket-spacing](http://eslint.org/docs/rules/array-bracket-spacing)  
```
["error","never"]
```
Rule Name：[block-spacing](http://eslint.org/docs/rules/block-spacing)  
```
["error","always"]
```
Rule Name：[comma-spacing](http://eslint.org/docs/rules/comma-spacing)  
```
["error",{"before":false,"after":true}]
```
Rule Name：[comma-style](http://eslint.org/docs/rules/comma-style)  
```
["error","last"]
```
Rule Name：[eol-last](http://eslint.org/docs/rules/eol-last)  
```
["error","always"]
```
Rule Name：[function-paren-newline](http://eslint.org/docs/rules/function-paren-newline)  
```
["warn","multiline"]
```
Rule Name：[generator-star-spacing](http://eslint.org/docs/rules/generator-star-spacing)  
```
["warn",{"before":false,"after":true}]
```
Rule Name：[id-length](http://eslint.org/docs/rules/id-length)  
```
["off"]
```
Rule Name：[implicit-arrow-linebreak](http://eslint.org/docs/rules/implicit-arrow-linebreak)  
```
["warn","beside"]
```
Rule Name：[key-spacing](http://eslint.org/docs/rules/key-spacing)  
```
["error",{"beforeColon":false,"afterColon":true}]
```
Rule Name：[keyword-spacing](http://eslint.org/docs/rules/keyword-spacing)  
```
["error",{"overrides":{"if":{"after":true},"for":{"after":true},"while":{"after":true},"else":{"after":true}},"before":true,"after":true}]
```
Rule Name：[linebreak-style](http://eslint.org/docs/rules/linebreak-style)  
```
["warn","unix"]
```
Rule Name：[no-case-declarations](http://eslint.org/docs/rules/no-case-declarations)  
```
["error"]
```
Rule Name：[no-const-assign](http://eslint.org/docs/rules/no-const-assign)  
```
["error"]
```
Rule Name：[no-eval](http://eslint.org/docs/rules/no-eval)  
```
["error"]
```
Rule Name：[no-loop-func](http://eslint.org/docs/rules/no-loop-func)  
```
["error"]
```
Rule Name：[no-mixed-operators](http://eslint.org/docs/rules/no-mixed-operators)  
```
["error",{"allowSamePrecedence":true}]
```
Rule Name：[no-multi-assign](http://eslint.org/docs/rules/no-multi-assign)  
```
["error"]
```
Rule Name：[no-multiple-empty-lines](http://eslint.org/docs/rules/no-multiple-empty-lines)  
```
["error",{"max":1,"maxBOF":0,"maxEOF":0}]
```
Rule Name：[no-new-func](http://eslint.org/docs/rules/no-new-func)  
```
["error"]
```
Rule Name：[no-new-object](http://eslint.org/docs/rules/no-new-object)  
```
["error"]
```
Rule Name：[no-prototype-builtins](http://eslint.org/docs/rules/no-prototype-builtins)  
```
["error"]
```
Rule Name：[no-trailing-spaces](http://eslint.org/docs/rules/no-trailing-spaces)  
```
["error",{"skipBlankLines":false,"ignoreComments":false}]
```
Rule Name：[no-undef](http://eslint.org/docs/rules/no-undef)  
```
["error"]
```
Rule Name：[no-useless-escape](http://eslint.org/docs/rules/no-useless-escape)  
```
["error"]
```
Rule Name：[no-var](http://eslint.org/docs/rules/no-var)  
```
["error"]
```
Rule Name：[nonblock-statement-body-position](http://eslint.org/docs/rules/nonblock-statement-body-position)  
```
["error","beside"]
```
Rule Name：[padded-blocks](http://eslint.org/docs/rules/padded-blocks)  
```
["error","never"]
```
Rule Name：[prefer-arrow-callback](http://eslint.org/docs/rules/prefer-arrow-callback)  
```
["warn",{"allowNamedFunctions":false,"allowUnboundThis":true}]
```
Rule Name：[prefer-template](http://eslint.org/docs/rules/prefer-template)  
```
["error"]
```
Rule Name：[quote-props](http://eslint.org/docs/rules/quote-props)  
```
["error","as-needed",{"keywords":false}]
```
Rule Name：[semi](http://eslint.org/docs/rules/semi)  
```
["error","always"]
```
Rule Name：[space-before-blocks](http://eslint.org/docs/rules/space-before-blocks)  
```
["error"]
```
Rule Name：[space-in-parens](http://eslint.org/docs/rules/space-in-parens)  
```
["error","never"]
```
Rule Name：[space-infix-ops](http://eslint.org/docs/rules/space-infix-ops)  
```
["error"]
```
Rule Name：[wrap-iife](http://eslint.org/docs/rules/wrap-iife)  
```
["error","outside"]
```
Rule Name：[react-hooks/rules-of-hooks](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-hooks/rules-of-hooks.md)  
```
["error"]
```
Rule Name：[react-hooks/exhaustive-deps](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-hooks/exhaustive-deps.md)  
```
["warn"]
```
Rule Name：[jsx-a11y/anchor-has-content](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/anchor-has-content.md)  
```
["error",{"components":[]}]
```
Rule Name：[jsx-a11y/aria-role](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-role.md)  
```
["error",{"ignoreNonDom":false,"ignoreNonDOM":false}]
```
Rule Name：[jsx-a11y/aria-props](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-props.md)  
```
["error"]
```
Rule Name：[jsx-a11y/aria-proptypes](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-proptypes.md)  
```
["error"]
```
Rule Name：[jsx-a11y/aria-unsupported-elements](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-unsupported-elements.md)  
```
["error"]
```
Rule Name：[jsx-a11y/alt-text](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/alt-text.md)  
```
["error",{"elements":["img","object","area","input[type=\"image\"]"],"img":[],"object":[],"area":[],"input[type=\"image\"]":[]}]
```
Rule Name：[jsx-a11y/img-redundant-alt](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/img-redundant-alt.md)  
```
["error"]
```
Rule Name：[jsx-a11y/label-has-for](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/label-has-for.md)  
```
["off",{"components":[],"required":{"every":["nesting","id"]},"allowChildren":false}]
```
Rule Name：[jsx-a11y/label-has-associated-control](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/label-has-associated-control.md)  
```
["error",{"labelComponents":[],"labelAttributes":[],"controlComponents":[],"assert":"both","depth":25}]
```
Rule Name：[jsx-a11y/control-has-associated-label](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/control-has-associated-label.md)  
```
["error",{"labelAttributes":["label"],"controlComponents":[],"ignoreElements":["audio","canvas","embed","input","textarea","tr","video"],"ignoreRoles":["grid","listbox","menu","menubar","radiogroup","row","tablist","toolbar","tree","treegrid"],"depth":5}]
```
Rule Name：[jsx-a11y/no-access-key](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-access-key.md)  
```
["error"]
```
Rule Name：[jsx-a11y/no-onchange](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-onchange.md)  
```
["off"]
```
Rule Name：[jsx-a11y/interactive-supports-focus](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/interactive-supports-focus.md)  
```
["error"]
```
Rule Name：[jsx-a11y/role-has-required-aria-props](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/role-has-required-aria-props.md)  
```
["error"]
```
Rule Name：[jsx-a11y/role-supports-aria-props](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/role-supports-aria-props.md)  
```
["error"]
```
Rule Name：[jsx-a11y/tabindex-no-positive](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/tabindex-no-positive.md)  
```
["error"]
```
Rule Name：[jsx-a11y/heading-has-content](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/heading-has-content.md)  
```
["error",{"components":[""]}]
```
Rule Name：[jsx-a11y/html-has-lang](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/html-has-lang.md)  
```
["error"]
```
Rule Name：[jsx-a11y/lang](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/lang.md)  
```
["error"]
```
Rule Name：[jsx-a11y/no-distracting-elements](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-distracting-elements.md)  
```
["error",{"elements":["marquee","blink"]}]
```
Rule Name：[jsx-a11y/scope](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/scope.md)  
```
["error"]
```
Rule Name：[jsx-a11y/accessible-emoji](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/accessible-emoji.md)  
```
["error"]
```
Rule Name：[jsx-a11y/aria-activedescendant-has-tabindex](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/aria-activedescendant-has-tabindex.md)  
```
["error"]
```
Rule Name：[jsx-a11y/iframe-has-title](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/iframe-has-title.md)  
```
["error"]
```
Rule Name：[jsx-a11y/no-autofocus](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-autofocus.md)  
```
["error",{"ignoreNonDOM":true}]
```
Rule Name：[jsx-a11y/no-redundant-roles](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-redundant-roles.md)  
```
["error"]
```
Rule Name：[jsx-a11y/no-interactive-element-to-noninteractive-role](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-interactive-element-to-noninteractive-role.md)  
```
["error",{"tr":["none","presentation"]}]
```
Rule Name：[jsx-a11y/autocomplete-valid](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/autocomplete-valid.md)  
```
["off",{"inputComponents":[]}]
```
Rule Name：[jsx-quotes](http://eslint.org/docs/rules/jsx-quotes)  
```
["error","prefer-double"]
```
Rule Name：[react/display-name](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/display-name.md)  
```
["off",{"ignoreTranspilerName":false}]
```
Rule Name：[react/forbid-dom-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/forbid-dom-props.md)  
```
["off",{"forbid":[]}]
```
Rule Name：[react/jsx-boolean-value](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md)  
```
["error","never",{"always":[]}]
```
Rule Name：[react/jsx-closing-bracket-location](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-closing-bracket-location.md)  
```
["error","line-aligned"]
```
Rule Name：[react/jsx-curly-spacing](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-curly-spacing.md)  
```
["error","never",{"allowMultiline":true}]
```
Rule Name：[react/jsx-handler-names](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-handler-names.md)  
```
["off",{"eventHandlerPrefix":"handle","eventHandlerPropPrefix":"on"}]
```
Rule Name：[react/jsx-indent-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent-props.md)  
```
["error",2]
```
Rule Name：[react/jsx-key](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-key.md)  
```
["off"]
```
Rule Name：[react/jsx-max-props-per-line](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-max-props-per-line.md)  
```
["error",{"maximum":1,"when":"multiline"}]
```
Rule Name：[react/jsx-no-bind](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md)  
```
["error",{"ignoreRefs":true,"allowArrowFunctions":true,"allowFunctions":false,"allowBind":false,"ignoreDOMComponents":true}]
```
Rule Name：[react/jsx-no-duplicate-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-duplicate-props.md)  
```
["error",{"ignoreCase":true}]
```
Rule Name：[react/jsx-no-literals](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-literals.md)  
```
["off",{"noStrings":true}]
```
Rule Name：[react/jsx-no-undef](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md)  
```
["error"]
```
Rule Name：[react/jsx-pascal-case](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-pascal-case.md)  
```
["error",{"allowAllCaps":true,"ignore":[]}]
```
Rule Name：[react/sort-prop-types](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-prop-types.md)  
```
["off",{"ignoreCase":true,"callbacksLast":false,"requiredFirst":false,"sortShapeProp":true}]
```
Rule Name：[react/jsx-sort-prop-types](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-prop-types.md)  
```
["off"]
```
Rule Name：[react/jsx-sort-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md)  
```
["off",{"ignoreCase":true,"callbacksLast":false,"shorthandFirst":false,"shorthandLast":false,"noSortAlphabetically":false,"reservedFirst":true}]
```
Rule Name：[react/jsx-sort-default-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-default-props.md)  
```
["off",{"ignoreCase":true}]
```
Rule Name：[react/jsx-uses-react](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md)  
```
["error"]
```
Rule Name：[react/jsx-uses-vars](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-vars.md)  
```
["error"]
```
Rule Name：[react/no-deprecated](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-deprecated.md)  
```
["error"]
```
Rule Name：[react/no-did-update-set-state](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-update-set-state.md)  
```
["error"]
```
Rule Name：[react/no-will-update-set-state](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-will-update-set-state.md)  
```
["error"]
```
Rule Name：[react/no-direct-mutation-state](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-direct-mutation-state.md)  
```
["off"]
```
Rule Name：[react/no-is-mounted](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-is-mounted.md)  
```
["error"]
```
Rule Name：[react/no-multi-comp](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md)  
```
["off"]
```
Rule Name：[react/no-set-state](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-set-state.md)  
```
["off"]
```
Rule Name：[react/no-string-refs](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-string-refs.md)  
```
["error"]
```
Rule Name：[react/no-unknown-property](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md)  
```
["error"]
```
Rule Name：[react/prefer-es6-class](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prefer-es6-class.md)  
```
["error","always"]
```
Rule Name：[react/prefer-stateless-function](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prefer-stateless-function.md)  
```
["error",{"ignorePureComponents":true}]
```
Rule Name：[react/react-in-jsx-scope](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md)  
```
["error"]
```
Rule Name：[react/require-render-return](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-render-return.md)  
```
["error"]
```
Rule Name：[react/self-closing-comp](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md)  
```
["error"]
```
Rule Name：[react/jsx-wrap-multilines](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-wrap-multilines.md)  
```
["error",{"declaration":"parens-new-line","assignment":"parens-new-line","return":"parens-new-line","arrow":"parens-new-line","condition":"parens-new-line","logical":"parens-new-line","prop":"parens-new-line"}]
```
Rule Name：[react/jsx-first-prop-new-line](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-first-prop-new-line.md)  
```
["error","multiline-multiprop"]
```
Rule Name：[react/jsx-equals-spacing](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-equals-spacing.md)  
```
["error","never"]
```
Rule Name：[react/jsx-indent](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent.md)  
```
["error",2]
```
Rule Name：[react/jsx-no-target-blank](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-target-blank.md)  
```
["error",{"enforceDynamicLinks":"always"}]
```
Rule Name：[react/jsx-no-comment-textnodes](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-comment-textnodes.md)  
```
["error"]
```
Rule Name：[react/no-render-return-value](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-render-return-value.md)  
```
["error"]
```
Rule Name：[react/require-optimization](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/require-optimization.md)  
```
["off",{"allowDecorators":[]}]
```
Rule Name：[react/no-find-dom-node](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-find-dom-node.md)  
```
["error"]
```
Rule Name：[react/forbid-component-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/forbid-component-props.md)  
```
["off",{"forbid":[]}]
```
Rule Name：[react/forbid-elements](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/forbid-elements.md)  
```
["off",{"forbid":[]}]
```
Rule Name：[react/no-danger-with-children](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-danger-with-children.md)  
```
["error"]
```
Rule Name：[react/no-unused-prop-types](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unused-prop-types.md)  
```
["error",{"customValidators":[],"skipShapeProps":true}]
```
Rule Name：[react/style-prop-object](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/style-prop-object.md)  
```
["error"]
```
Rule Name：[react/no-unescaped-entities](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unescaped-entities.md)  
```
["error"]
```
Rule Name：[react/no-children-prop](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-children-prop.md)  
```
["error"]
```
Rule Name：[react/jsx-tag-spacing](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-tag-spacing.md)  
```
["error",{"closingSlash":"never","beforeSelfClosing":"always","afterOpening":"never","beforeClosing":"never"}]
```
Rule Name：[react/jsx-space-before-closing](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-space-before-closing.md)  
```
["off","always"]
```
Rule Name：[react/no-array-index-key](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-array-index-key.md)  
```
["error"]
```
Rule Name：[react/forbid-foreign-prop-types](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/forbid-foreign-prop-types.md)  
```
["warn",{"allowInPropTypes":true}]
```
Rule Name：[react/void-dom-elements-no-children](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/void-dom-elements-no-children.md)  
```
["error"]
```
Rule Name：[react/default-props-match-prop-types](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/default-props-match-prop-types.md)  
```
["error",{"allowRequiredDefaults":false}]
```
Rule Name：[react/no-redundant-should-component-update](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-redundant-should-component-update.md)  
```
["error"]
```
Rule Name：[react/no-unused-state](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unused-state.md)  
```
["error"]
```
Rule Name：[react/boolean-prop-naming](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/boolean-prop-naming.md)  
```
["off",{"propTypeNames":["bool","mutuallyExclusiveTrueProps"],"rule":"^(is|has)[A-Z]([A-Za-z0-9]?)+","message":""}]
```
Rule Name：[react/no-typos](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-typos.md)  
```
["error"]
```
Rule Name：[react/jsx-curly-brace-presence](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-curly-brace-presence.md)  
```
["error",{"props":"never","children":"never"}]
```
Rule Name：[react/no-access-state-in-setstate](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-access-state-in-setstate.md)  
```
["error"]
```
Rule Name：[react/button-has-type](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/button-has-type.md)  
```
["error",{"button":true,"submit":true,"reset":false}]
```
Rule Name：[react/jsx-child-element-spacing](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-child-element-spacing.md)  
```
["off"]
```
Rule Name：[react/no-this-in-sfc](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-this-in-sfc.md)  
```
["error"]
```
Rule Name：[react/jsx-max-depth](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-max-depth.md)  
```
["off"]
```
Rule Name：[react/jsx-props-no-multi-spaces](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-props-no-multi-spaces.md)  
```
["error"]
```
Rule Name：[react/no-unsafe](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unsafe.md)  
```
["off"]
```
Rule Name：[react/jsx-fragments](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-fragments.md)  
```
["error","syntax"]
```
Rule Name：[react/jsx-curly-newline](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-curly-newline.md)  
```
["error",{"multiline":"consistent","singleline":"consistent"}]
```
Rule Name：[react/state-in-constructor](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/state-in-constructor.md)  
```
["error","always"]
```
Rule Name：[react/prefer-read-only-props](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prefer-read-only-props.md)  
```
["off"]
```
Rule Name：[react/jsx-no-useless-fragment](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-useless-fragment.md)  
```
["off"]
```
Rule Name：[react/no-adjacent-inline-elements](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-adjacent-inline-elements.md)  
```
["off"]
```
Rule Name：[react/function-component-definition](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/function-component-definition.md)  
```
["off",{"namedComponents":"function-expression","unnamedComponents":"function-expression"}]
```
Rule Name：[strict](http://eslint.org/docs/rules/strict)  
```
["error","never"]
```
Rule Name：[import/named](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/named.md)  
```
["error"]
```
Rule Name：[import/default](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/default.md)  
```
["off"]
```
Rule Name：[import/namespace](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/namespace.md)  
```
["off"]
```
Rule Name：[import/export](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/export.md)  
```
["error"]
```
Rule Name：[import/no-named-as-default](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-named-as-default.md)  
```
["error"]
```
Rule Name：[import/no-named-as-default-member](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-named-as-default-member.md)  
```
["error"]
```
Rule Name：[import/no-deprecated](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-deprecated.md)  
```
["off"]
```
Rule Name：[import/no-commonjs](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-commonjs.md)  
```
["off"]
```
Rule Name：[import/no-amd](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-amd.md)  
```
["error"]
```
Rule Name：[import/no-nodejs-modules](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-nodejs-modules.md)  
```
["off"]
```
Rule Name：[import/imports-first](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/imports-first.md)  
```
["off"]
```
Rule Name：[import/no-namespace](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-namespace.md)  
```
["off"]
```
Rule Name：[import/order](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/order.md)  
```
["error",{"groups":[["builtin","external","internal"]]}]
```
Rule Name：[import/newline-after-import](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/newline-after-import.md)  
```
["error"]
```
Rule Name：[import/no-restricted-paths](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-restricted-paths.md)  
```
["off"]
```
Rule Name：[import/max-dependencies](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/max-dependencies.md)  
```
["off",{"max":10}]
```
Rule Name：[import/no-absolute-path](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-absolute-path.md)  
```
["error"]
```
Rule Name：[import/no-dynamic-require](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-dynamic-require.md)  
```
["error"]
```
Rule Name：[import/no-internal-modules](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-internal-modules.md)  
```
["off",{"allow":[]}]
```
Rule Name：[import/unambiguous](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/unambiguous.md)  
```
["off"]
```
Rule Name：[import/no-unassigned-import](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-unassigned-import.md)  
```
["off"]
```
Rule Name：[import/no-named-default](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-named-default.md)  
```
["error"]
```
Rule Name：[import/no-anonymous-default-export](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-anonymous-default-export.md)  
```
["off",{"allowArray":false,"allowArrowFunction":false,"allowAnonymousClass":false,"allowAnonymousFunction":false,"allowLiteral":false,"allowObject":false}]
```
Rule Name：[import/exports-last](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/exports-last.md)  
```
["off"]
```
Rule Name：[import/group-exports](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/group-exports.md)  
```
["off"]
```
Rule Name：[import/no-default-export](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-default-export.md)  
```
["off"]
```
Rule Name：[import/no-named-export](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-named-export.md)  
```
["off"]
```
Rule Name：[import/no-self-import](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-self-import.md)  
```
["error"]
```
Rule Name：[import/no-cycle](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-cycle.md)  
```
["error",{"maxDepth":null,"ignoreExternal":false}]
```
Rule Name：[import/no-useless-path-segments](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-useless-path-segments.md)  
```
["error",{"commonjs":true}]
```
Rule Name：[import/dynamic-import-chunkname](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/dynamic-import-chunkname.md)  
```
["off",{"importFunctions":[],"webpackChunknameFormat":"[0-9a-zA-Z-_/.]+"}]
```
Rule Name：[import/no-relative-parent-imports](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-relative-parent-imports.md)  
```
["off"]
```
Rule Name：[import/no-unused-modules](https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-unused-modules.md)  
```
["off",{"ignoreExports":[],"missingExports":true,"unusedExports":true}]
```
Rule Name：[constructor-super](http://eslint.org/docs/rules/constructor-super)  
```
["error"]
```
Rule Name：[no-class-assign](http://eslint.org/docs/rules/no-class-assign)  
```
["error"]
```
Rule Name：[no-duplicate-imports](http://eslint.org/docs/rules/no-duplicate-imports)  
```
["off"]
```
Rule Name：[no-new-symbol](http://eslint.org/docs/rules/no-new-symbol)  
```
["error"]
```
Rule Name：[no-restricted-exports](http://eslint.org/docs/rules/no-restricted-exports)  
```
["off",{"restrictedNamedExports":["default","then"]}]
```
Rule Name：[no-restricted-imports](http://eslint.org/docs/rules/no-restricted-imports)  
```
["off",{"paths":[],"patterns":[]}]
```
Rule Name：[no-this-before-super](http://eslint.org/docs/rules/no-this-before-super)  
```
["error"]
```
Rule Name：[no-useless-computed-key](http://eslint.org/docs/rules/no-useless-computed-key)  
```
["error"]
```
Rule Name：[no-useless-rename](http://eslint.org/docs/rules/no-useless-rename)  
```
["error",{"ignoreDestructuring":false,"ignoreImport":false,"ignoreExport":false}]
```
Rule Name：[prefer-numeric-literals](http://eslint.org/docs/rules/prefer-numeric-literals)  
```
["error"]
```
Rule Name：[prefer-reflect](http://eslint.org/docs/rules/prefer-reflect)  
```
["off"]
```
Rule Name：[require-yield](http://eslint.org/docs/rules/require-yield)  
```
["error"]
```
Rule Name：[rest-spread-spacing](http://eslint.org/docs/rules/rest-spread-spacing)  
```
["error","never"]
```
Rule Name：[sort-imports](http://eslint.org/docs/rules/sort-imports)  
```
["off",{"ignoreCase":false,"ignoreDeclarationSort":false,"ignoreMemberSort":false,"memberSyntaxSortOrder":["none","all","multiple","single"]}]
```
Rule Name：[symbol-description](http://eslint.org/docs/rules/symbol-description)  
```
["error"]
```
Rule Name：[yield-star-spacing](http://eslint.org/docs/rules/yield-star-spacing)  
```
["error","after"]
```
Rule Name：[init-declarations](http://eslint.org/docs/rules/init-declarations)  
```
["off"]
```
Rule Name：[no-catch-shadow](http://eslint.org/docs/rules/no-catch-shadow)  
```
["off"]
```
Rule Name：[no-delete-var](http://eslint.org/docs/rules/no-delete-var)  
```
["error"]
```
Rule Name：[no-label-var](http://eslint.org/docs/rules/no-label-var)  
```
["error"]
```
Rule Name：[no-restricted-globals](http://eslint.org/docs/rules/no-restricted-globals)  
```
["error","isFinite","isNaN","addEventListener","blur","close","closed","confirm","defaultStatus","defaultstatus","event","external","find","focus","frameElement","frames","history","innerHeight","innerWidth","length","location","locationbar","menubar","moveBy","moveTo","name","onblur","onerror","onfocus","onload","onresize","onunload","open","opener","opera","outerHeight","outerWidth","pageXOffset","pageYOffset","parent","print","removeEventListener","resizeBy","resizeTo","screen","screenLeft","screenTop","screenX","screenY","scroll","scrollbars","scrollBy","scrollTo","scrollX","scrollY","self","status","statusbar","stop","toolbar","top"]
```
Rule Name：[no-shadow-restricted-names](http://eslint.org/docs/rules/no-shadow-restricted-names)  
```
["error"]
```
Rule Name：[no-undef-init](http://eslint.org/docs/rules/no-undef-init)  
```
["error"]
```
Rule Name：[no-undefined](http://eslint.org/docs/rules/no-undefined)  
```
["off"]
```
Rule Name：[no-use-before-define](http://eslint.org/docs/rules/no-use-before-define)  
```
["error",{"functions":true,"classes":true,"variables":true}]
```
Rule Name：[array-bracket-newline](http://eslint.org/docs/rules/array-bracket-newline)  
```
["off","consistent"]
```
Rule Name：[array-element-newline](http://eslint.org/docs/rules/array-element-newline)  
```
["off",{"multiline":true,"minItems":3}]
```
Rule Name：[capitalized-comments](http://eslint.org/docs/rules/capitalized-comments)  
```
["off","never",{"line":{"ignorePattern":".*","ignoreInlineComments":true,"ignoreConsecutiveComments":true},"block":{"ignorePattern":".*","ignoreInlineComments":true,"ignoreConsecutiveComments":true}}]
```
Rule Name：[consistent-this](http://eslint.org/docs/rules/consistent-this)  
```
["off"]
```
Rule Name：[function-call-argument-newline](http://eslint.org/docs/rules/function-call-argument-newline)  
```
["off","consistent"]
```
Rule Name：[func-name-matching](http://eslint.org/docs/rules/func-name-matching)  
```
["off","always",{"includeCommonJSModuleExports":false,"considerPropertyDescriptor":true}]
```
Rule Name：[id-blacklist](http://eslint.org/docs/rules/id-blacklist)  
```
["off"]
```
Rule Name：[id-match](http://eslint.org/docs/rules/id-match)  
```
["off"]
```
Rule Name：[line-comment-position](http://eslint.org/docs/rules/line-comment-position)  
```
["off",{"position":"above","ignorePattern":"","applyDefaultPatterns":true}]
```
Rule Name：[lines-between-class-members](http://eslint.org/docs/rules/lines-between-class-members)  
```
["error","always",{"exceptAfterSingleLine":false}]
```
Rule Name：[lines-around-comment](http://eslint.org/docs/rules/lines-around-comment)  
```
["off"]
```
Rule Name：[lines-around-directive](http://eslint.org/docs/rules/lines-around-directive)  
```
["error",{"before":"always","after":"always"}]
```
Rule Name：[max-depth](http://eslint.org/docs/rules/max-depth)  
```
["off",4]
```
Rule Name：[max-lines](http://eslint.org/docs/rules/max-lines)  
```
["off",{"max":300,"skipBlankLines":true,"skipComments":true}]
```
Rule Name：[max-lines-per-function](http://eslint.org/docs/rules/max-lines-per-function)  
```
["off",{"max":50,"skipBlankLines":true,"skipComments":true,"IIFEs":true}]
```
Rule Name：[max-nested-callbacks](http://eslint.org/docs/rules/max-nested-callbacks)  
```
["off"]
```
Rule Name：[max-params](http://eslint.org/docs/rules/max-params)  
```
["off",3]
```
Rule Name：[max-statements](http://eslint.org/docs/rules/max-statements)  
```
["off",10]
```
Rule Name：[max-statements-per-line](http://eslint.org/docs/rules/max-statements-per-line)  
```
["off",{"max":1}]
```
Rule Name：[multiline-comment-style](http://eslint.org/docs/rules/multiline-comment-style)  
```
["off","starred-block"]
```
Rule Name：[multiline-ternary](http://eslint.org/docs/rules/multiline-ternary)  
```
["off","never"]
```
Rule Name：[new-parens](http://eslint.org/docs/rules/new-parens)  
```
["error"]
```
Rule Name：[newline-after-var](http://eslint.org/docs/rules/newline-after-var)  
```
["off"]
```
Rule Name：[newline-before-return](http://eslint.org/docs/rules/newline-before-return)  
```
["off"]
```
Rule Name：[no-bitwise](http://eslint.org/docs/rules/no-bitwise)  
```
["error"]
```
Rule Name：[no-inline-comments](http://eslint.org/docs/rules/no-inline-comments)  
```
["off"]
```
Rule Name：[no-lonely-if](http://eslint.org/docs/rules/no-lonely-if)  
```
["error"]
```
Rule Name：[no-mixed-spaces-and-tabs](http://eslint.org/docs/rules/no-mixed-spaces-and-tabs)  
```
["error"]
```
Rule Name：[no-negated-condition](http://eslint.org/docs/rules/no-negated-condition)  
```
["off"]
```
Rule Name：[no-spaced-func](http://eslint.org/docs/rules/no-spaced-func)  
```
["error"]
```
Rule Name：[no-tabs](http://eslint.org/docs/rules/no-tabs)  
```
["error"]
```
Rule Name：[no-ternary](http://eslint.org/docs/rules/no-ternary)  
```
["off"]
```
Rule Name：[object-property-newline](http://eslint.org/docs/rules/object-property-newline)  
```
["error",{"allowAllPropertiesOnSameLine":true,"allowMultiplePropertiesPerLine":false}]
```
Rule Name：[one-var-declaration-per-line](http://eslint.org/docs/rules/one-var-declaration-per-line)  
```
["error","always"]
```
Rule Name：[operator-assignment](http://eslint.org/docs/rules/operator-assignment)  
```
["error","always"]
```
Rule Name：[padding-line-between-statements](http://eslint.org/docs/rules/padding-line-between-statements)  
```
["off"]
```
Rule Name：[prefer-exponentiation-operator](http://eslint.org/docs/rules/prefer-exponentiation-operator)  
```
["off"]
```
Rule Name：[prefer-object-spread](http://eslint.org/docs/rules/prefer-object-spread)  
```
["error"]
```
Rule Name：[require-jsdoc](http://eslint.org/docs/rules/require-jsdoc)  
```
["off"]
```
Rule Name：[semi-spacing](http://eslint.org/docs/rules/semi-spacing)  
```
["error",{"before":false,"after":true}]
```
Rule Name：[semi-style](http://eslint.org/docs/rules/semi-style)  
```
["error","last"]
```
Rule Name：[sort-keys](http://eslint.org/docs/rules/sort-keys)  
```
["off","asc",{"caseSensitive":false,"natural":true}]
```
Rule Name：[sort-vars](http://eslint.org/docs/rules/sort-vars)  
```
["off"]
```
Rule Name：[space-unary-ops](http://eslint.org/docs/rules/space-unary-ops)  
```
["error",{"words":true,"nonwords":false,"overrides":{}}]
```
Rule Name：[switch-colon-spacing](http://eslint.org/docs/rules/switch-colon-spacing)  
```
["error",{"after":true,"before":false}]
```
Rule Name：[template-tag-spacing](http://eslint.org/docs/rules/template-tag-spacing)  
```
["error","never"]
```
Rule Name：[unicode-bom](http://eslint.org/docs/rules/unicode-bom)  
```
["error","never"]
```
Rule Name：[wrap-regex](http://eslint.org/docs/rules/wrap-regex)  
```
["off"]
```
Rule Name：[callback-return](http://eslint.org/docs/rules/callback-return)  
```
["off"]
```
Rule Name：[global-require](http://eslint.org/docs/rules/global-require)  
```
["error"]
```
Rule Name：[handle-callback-err](http://eslint.org/docs/rules/handle-callback-err)  
```
["off"]
```
Rule Name：[no-buffer-constructor](http://eslint.org/docs/rules/no-buffer-constructor)  
```
["error"]
```
Rule Name：[no-mixed-requires](http://eslint.org/docs/rules/no-mixed-requires)  
```
["off",false]
```
Rule Name：[no-new-require](http://eslint.org/docs/rules/no-new-require)  
```
["error"]
```
Rule Name：[no-path-concat](http://eslint.org/docs/rules/no-path-concat)  
```
["error"]
```
Rule Name：[no-process-env](http://eslint.org/docs/rules/no-process-env)  
```
["off"]
```
Rule Name：[no-process-exit](http://eslint.org/docs/rules/no-process-exit)  
```
["off"]
```
Rule Name：[no-restricted-modules](http://eslint.org/docs/rules/no-restricted-modules)  
```
["off"]
```
Rule Name：[no-sync](http://eslint.org/docs/rules/no-sync)  
```
["off"]
```
Rule Name：[for-direction](http://eslint.org/docs/rules/for-direction)  
```
["error"]
```
Rule Name：[getter-return](http://eslint.org/docs/rules/getter-return)  
```
["error",{"allowImplicit":true}]
```
Rule Name：[no-compare-neg-zero](http://eslint.org/docs/rules/no-compare-neg-zero)  
```
["error"]
```
Rule Name：[no-cond-assign](http://eslint.org/docs/rules/no-cond-assign)  
```
["error","always"]
```
Rule Name：[no-console](http://eslint.org/docs/rules/no-console)  
```
["warn"]
```
Rule Name：[no-constant-condition](http://eslint.org/docs/rules/no-constant-condition)  
```
["warn"]
```
Rule Name：[no-control-regex](http://eslint.org/docs/rules/no-control-regex)  
```
["error"]
```
Rule Name：[no-debugger](http://eslint.org/docs/rules/no-debugger)  
```
["error"]
```
Rule Name：[no-dupe-args](http://eslint.org/docs/rules/no-dupe-args)  
```
["error"]
```
Rule Name：[no-dupe-else-if](http://eslint.org/docs/rules/no-dupe-else-if)  
```
["off"]
```
Rule Name：[no-dupe-keys](http://eslint.org/docs/rules/no-dupe-keys)  
```
["error"]
```
Rule Name：[no-duplicate-case](http://eslint.org/docs/rules/no-duplicate-case)  
```
["error"]
```
Rule Name：[no-empty](http://eslint.org/docs/rules/no-empty)  
```
["error"]
```
Rule Name：[no-empty-character-class](http://eslint.org/docs/rules/no-empty-character-class)  
```
["error"]
```
Rule Name：[no-ex-assign](http://eslint.org/docs/rules/no-ex-assign)  
```
["error"]
```
Rule Name：[no-extra-boolean-cast](http://eslint.org/docs/rules/no-extra-boolean-cast)  
```
["error"]
```
Rule Name：[no-extra-parens](http://eslint.org/docs/rules/no-extra-parens)  
```
["off","all",{"conditionalAssign":true,"nestedBinaryExpressions":false,"returnAssign":false,"ignoreJSX":"all","enforceForArrowConditionals":false}]
```
Rule Name：[no-func-assign](http://eslint.org/docs/rules/no-func-assign)  
```
["error"]
```
Rule Name：[no-import-assign](http://eslint.org/docs/rules/no-import-assign)  
```
["off"]
```
Rule Name：[no-inner-declarations](http://eslint.org/docs/rules/no-inner-declarations)  
```
["error"]
```
Rule Name：[no-invalid-regexp](http://eslint.org/docs/rules/no-invalid-regexp)  
```
["error"]
```
Rule Name：[no-irregular-whitespace](http://eslint.org/docs/rules/no-irregular-whitespace)  
```
["error"]
```
Rule Name：[no-loss-of-precision](http://eslint.org/docs/rules/no-loss-of-precision)  
```
["off"]
```
Rule Name：[no-misleading-character-class](http://eslint.org/docs/rules/no-misleading-character-class)  
```
["error"]
```
Rule Name：[no-obj-calls](http://eslint.org/docs/rules/no-obj-calls)  
```
["error"]
```
Rule Name：[no-regex-spaces](http://eslint.org/docs/rules/no-regex-spaces)  
```
["error"]
```
Rule Name：[no-setter-return](http://eslint.org/docs/rules/no-setter-return)  
```
["off"]
```
Rule Name：[no-sparse-arrays](http://eslint.org/docs/rules/no-sparse-arrays)  
```
["error"]
```
Rule Name：[no-template-curly-in-string](http://eslint.org/docs/rules/no-template-curly-in-string)  
```
["error"]
```
Rule Name：[no-unexpected-multiline](http://eslint.org/docs/rules/no-unexpected-multiline)  
```
["error"]
```
Rule Name：[no-unreachable](http://eslint.org/docs/rules/no-unreachable)  
```
["error"]
```
Rule Name：[no-unsafe-finally](http://eslint.org/docs/rules/no-unsafe-finally)  
```
["error"]
```
Rule Name：[no-unsafe-negation](http://eslint.org/docs/rules/no-unsafe-negation)  
```
["error"]
```
Rule Name：[no-useless-backreference](http://eslint.org/docs/rules/no-useless-backreference)  
```
["off"]
```
Rule Name：[no-negated-in-lhs](http://eslint.org/docs/rules/no-negated-in-lhs)  
```
["off"]
```
Rule Name：[require-atomic-updates](http://eslint.org/docs/rules/require-atomic-updates)  
```
["off"]
```
Rule Name：[use-isnan](http://eslint.org/docs/rules/use-isnan)  
```
["error"]
```
Rule Name：[valid-jsdoc](http://eslint.org/docs/rules/valid-jsdoc)  
```
["off"]
```
Rule Name：[valid-typeof](http://eslint.org/docs/rules/valid-typeof)  
```
["error",{"requireStringLiterals":true}]
```
Rule Name：[accessor-pairs](http://eslint.org/docs/rules/accessor-pairs)  
```
["off"]
```
Rule Name：[block-scoped-var](http://eslint.org/docs/rules/block-scoped-var)  
```
["error"]
```
Rule Name：[complexity](http://eslint.org/docs/rules/complexity)  
```
["off",11]
```
Rule Name：[curly](http://eslint.org/docs/rules/curly)  
```
["error","multi-line"]
```
Rule Name：[default-case](http://eslint.org/docs/rules/default-case)  
```
["error",{"commentPattern":"^no default$"}]
```
Rule Name：[default-case-last](http://eslint.org/docs/rules/default-case-last)  
```
["off"]
```
Rule Name：[default-param-last](http://eslint.org/docs/rules/default-param-last)  
```
["off"]
```
Rule Name：[dot-location](http://eslint.org/docs/rules/dot-location)  
```
["error","property"]
```
Rule Name：[grouped-accessor-pairs](http://eslint.org/docs/rules/grouped-accessor-pairs)  
```
["off"]
```
Rule Name：[guard-for-in](http://eslint.org/docs/rules/guard-for-in)  
```
["error"]
```
Rule Name：[max-classes-per-file](http://eslint.org/docs/rules/max-classes-per-file)  
```
["error",1]
```
Rule Name：[no-alert](http://eslint.org/docs/rules/no-alert)  
```
["warn"]
```
Rule Name：[no-caller](http://eslint.org/docs/rules/no-caller)  
```
["error"]
```
Rule Name：[no-constructor-return](http://eslint.org/docs/rules/no-constructor-return)  
```
["off"]
```
Rule Name：[no-div-regex](http://eslint.org/docs/rules/no-div-regex)  
```
["off"]
```
Rule Name：[no-empty-pattern](http://eslint.org/docs/rules/no-empty-pattern)  
```
["error"]
```
Rule Name：[no-eq-null](http://eslint.org/docs/rules/no-eq-null)  
```
["off"]
```
Rule Name：[no-extend-native](http://eslint.org/docs/rules/no-extend-native)  
```
["error"]
```
Rule Name：[no-extra-bind](http://eslint.org/docs/rules/no-extra-bind)  
```
["error"]
```
Rule Name：[no-extra-label](http://eslint.org/docs/rules/no-extra-label)  
```
["error"]
```
Rule Name：[no-fallthrough](http://eslint.org/docs/rules/no-fallthrough)  
```
["error"]
```
Rule Name：[no-floating-decimal](http://eslint.org/docs/rules/no-floating-decimal)  
```
["error"]
```
Rule Name：[no-global-assign](http://eslint.org/docs/rules/no-global-assign)  
```
["error",{"exceptions":[]}]
```
Rule Name：[no-native-reassign](http://eslint.org/docs/rules/no-native-reassign)  
```
["off"]
```
Rule Name：[no-implicit-coercion](http://eslint.org/docs/rules/no-implicit-coercion)  
```
["off",{"boolean":false,"number":true,"string":true,"allow":[]}]
```
Rule Name：[no-implicit-globals](http://eslint.org/docs/rules/no-implicit-globals)  
```
["off"]
```
Rule Name：[no-implied-eval](http://eslint.org/docs/rules/no-implied-eval)  
```
["error"]
```
Rule Name：[no-labels](http://eslint.org/docs/rules/no-labels)  
```
["error",{"allowLoop":false,"allowSwitch":false}]
```
Rule Name：[no-lone-blocks](http://eslint.org/docs/rules/no-lone-blocks)  
```
["error"]
```
Rule Name：[no-multi-spaces](http://eslint.org/docs/rules/no-multi-spaces)  
```
["error",{"ignoreEOLComments":false}]
```
Rule Name：[no-multi-str](http://eslint.org/docs/rules/no-multi-str)  
```
["error"]
```
Rule Name：[no-new](http://eslint.org/docs/rules/no-new)  
```
["error"]
```
Rule Name：[no-octal](http://eslint.org/docs/rules/no-octal)  
```
["error"]
```
Rule Name：[no-octal-escape](http://eslint.org/docs/rules/no-octal-escape)  
```
["error"]
```
Rule Name：[no-proto](http://eslint.org/docs/rules/no-proto)  
```
["error"]
```
Rule Name：[no-redeclare](http://eslint.org/docs/rules/no-redeclare)  
```
["error"]
```
Rule Name：[no-return-assign](http://eslint.org/docs/rules/no-return-assign)  
```
["error","always"]
```
Rule Name：[no-return-await](http://eslint.org/docs/rules/no-return-await)  
```
["error"]
```
Rule Name：[no-self-assign](http://eslint.org/docs/rules/no-self-assign)  
```
["error",{"props":true}]
```
Rule Name：[no-self-compare](http://eslint.org/docs/rules/no-self-compare)  
```
["error"]
```
Rule Name：[no-sequences](http://eslint.org/docs/rules/no-sequences)  
```
["error"]
```
Rule Name：[no-throw-literal](http://eslint.org/docs/rules/no-throw-literal)  
```
["error"]
```
Rule Name：[no-unmodified-loop-condition](http://eslint.org/docs/rules/no-unmodified-loop-condition)  
```
["off"]
```
Rule Name：[no-unused-labels](http://eslint.org/docs/rules/no-unused-labels)  
```
["error"]
```
Rule Name：[no-useless-call](http://eslint.org/docs/rules/no-useless-call)  
```
["off"]
```
Rule Name：[no-useless-catch](http://eslint.org/docs/rules/no-useless-catch)  
```
["error"]
```
Rule Name：[no-useless-concat](http://eslint.org/docs/rules/no-useless-concat)  
```
["error"]
```
Rule Name：[no-useless-return](http://eslint.org/docs/rules/no-useless-return)  
```
["error"]
```
Rule Name：[no-void](http://eslint.org/docs/rules/no-void)  
```
["error"]
```
Rule Name：[no-warning-comments](http://eslint.org/docs/rules/no-warning-comments)  
```
["off",{"terms":["todo","fixme","xxx"],"location":"start"}]
```
Rule Name：[no-with](http://eslint.org/docs/rules/no-with)  
```
["error"]
```
Rule Name：[prefer-promise-reject-errors](http://eslint.org/docs/rules/prefer-promise-reject-errors)  
```
["error",{"allowEmptyReject":true}]
```
Rule Name：[prefer-named-capture-group](http://eslint.org/docs/rules/prefer-named-capture-group)  
```
["off"]
```
Rule Name：[prefer-regex-literals](http://eslint.org/docs/rules/prefer-regex-literals)  
```
["off"]
```
Rule Name：[require-await](http://eslint.org/docs/rules/require-await)  
```
["off"]
```
Rule Name：[require-unicode-regexp](http://eslint.org/docs/rules/require-unicode-regexp)  
```
["off"]
```
Rule Name：[vars-on-top](http://eslint.org/docs/rules/vars-on-top)  
```
["error"]
```
Rule Name：[yoda](http://eslint.org/docs/rules/yoda)  
```
["error"]
```
