埃斯林特- 配置- fido
用于 Typescript & React 项目的共享ESLint配置.
目录
安装
yarn add --dev @fido.id/eslint-config-fido
您还需要安装 eslint 财务报告和审定财务报表 prettier数字 :
yarn add --dev eslint prettier
使用量
导出配置
此套件会导出两个主要配置 :
- 建议:所有TypeScript项目的基本规则(没有React/JSX特定规则).
- 反应: 以附加规则来扩展基础配置 React/JSX 项目.
实例:eslint.config.js
const fido = require("@fido.id/eslint-config-fido");
module.exports = [
// For TypeScript projects:
...fido.configs.recommended,
// For React/JSX projects, use:
// ...fido.configs.react,
{
rules: {
// your custom rules here
},
},
];
CLI 使用量
这个软件包为运行测试、内嵌和安装依赖性提供了CLI:
./cli start在多克容器内安装所有项目依赖性../cli tests进行所有测试../cli tests --fix——运行起伏并自动解决问题.
说明: CLI要求多克安装和运行在您的系统中.
自定义 pretier
如果您想要自定义 Pretier 设置, 请创建一个名为 .prettierrc 在您的工程目录中。 此文件必须像这样声明 Pretier 配置 :
{
"printWidth": 100,
"tabWidth": 2,
"singleQuote": true,
"jsxBracketSameLine": true,
"trailingComma": "es5"
}
自定义规则
此套件提供以下自定义的ESLint规则:
| 规则名称 | 说明 | 有效示例 | 无效的示例 | 解释 |
|---|---|---|---|---|
no-nested-ternary-operators | 损坏嵌入式三角操作器,以提高可读性. | const x = a ? b : c; | const x = a ? (b ? 1 : 2) : 3; | 巢穴取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取来. 有取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取取. |
prefer-early-returns | 更喜欢提前返回(保护条款),而不是只包含一个如果的区块. | function f(a){ if (!a) return; doWork(a); } | function f(a,b){ if (a > 0) { doA(); } else if (b > 0) { doB(); } else { doC(); } } | 避免了深筑巢,并通过使用护卫条款而不是其他/else-if来提高代码清晰度. |
prefer-object-parameters | 为具有许多参数的函数偏好一个单一对象参数,以提高可读性和可扩展性. | function foo({a, b, c, d, e}) {} | function foo(a, b, c, d, e) {} | 当一个函数需要超过一组参数(默认:4)时,使用单个对象参数而不是多个位置参数. |
mui-prefer-components | 在JSX中存在等同物时,优于原生HTML元素的材料UI组件. | <Box><Typography>Text</Typography></Box> | <div><p>Text</p></div> | 强制使用MUI组件(如Box,Typography,Button)来代替JSX中的原生HTML标记来与设计系统保持一致. |
哲学
这个配置旨在将严重的问题(例如:语法错误)标记为错误,而语法问题则标记为警告. 这让你的团队应用诸如"确保承诺没有出错,但如果承诺没有引入警告,则忽略警告"的政策