无效
lintEffect 是使用 Effect v4 的 TypeScript 项目的 Biome lint 规则集。 规则将相关步骤放在一起,使每个行动的决定和结果明确.
我制定并维持了这些规则 贸易网.com一个交易应用程序的选项。 我用它们来保存密码 并减少不必要的锅炉板.
Roman Naumenko, 作者和维护者
规则识别出诸如"巢"等反花样动物 Effect.gen 块和连续操作 Effect.all。每个诊断解释模式,并建议如何重写代码.
规则目标 4. 第0.0.9版是Effect v3的最终发布.
可以使用完整的规则集或者选择更小的预设. 从一个较小的预设开始,将规则引入一个既定的项目.
例如,这个代码使用嵌入效应呼叫来获取一个用户并读取他们的配置:
const loadUser = Effect.map(
Effect.flatMap(getUserId, (userId) => fetchUser(userId)),
(user) => user.profile
);
在输油管中,这些电话按它们运行的顺序出现:
const loadUser = getUserId.pipe(
Effect.flatMap((userId) => fetchUser(userId)),
Effect.map((user) => user.profile)
);
在此演示中, Codex 使用规则重构 来自效果Discord bot 的信件。 。 。 .

试试你的密码
您可以检查您的代码 npx 不更改您的工程的依赖性或配置。 从工程目录中运行此命令 :
npx @catenarycloud/linteffect check src --preset=core
命令需要节点.js 24或更新. 它检查 src 与核心预设并保留源文件不变。 它运行Biome的WebAssembly引擎在同一节点.js进程,独立于您的项目Biome设置. 它将所选规则加载到一个孤立的模拟工作空间,并且不创建临时配置文件.
目录目标包括连续支持的文件. CLI在 traversal 时跳过依赖性和版本控制目录,它从未遵循目录的同义链接. 大于 1 MiB 的文件无法检查 .
选择 core, (中文(简体) ), web, (中文(简体) ), ts-type,或 full 与 --preset编辑 预设表格 描述每个组。 如果你遗漏 --preset,命令使用 full。 。 。 .
包包括一个 向导 用来修复错误并检查结果。 添加 --guide 在诊断前将其文本输入命令输出中:
npx @catenarycloud/linteffect check src --preset=core --guide
如果代理运行此命令, 它可以读取指南 和 lint 结果 .
使用 --help 用于命令选项。 尝试预释,使用 @catenarycloud/linteffect@dev 在命令中.
添加到您的项目中
安装和配置
用您的项目软件包管理器安装 Biome 和规则 :
npm install -D @biomejs/biome @catenarycloud/linteffect
yarn add -D @biomejs/biome @catenarycloud/linteffect
pnpm add -D @biomejs/biome @catenarycloud/linteffect
创建一个 biome.json 或者说 biome.jsonc 核心预设在 extends。如果您已经拥有其中任一文件,请在其中添加预设 extends 数组并保留您的其余配置 :
{
"extends": ["@catenarycloud/linteffect/core"]
}
预设使用Biome 2.6.3的配置方案. 独立的CLI将匹配的WebAssembly引擎捆绑起来,不需要单独的Biome安装.
和Yarn Berry,设定 nodeLinker: node-modules 这样Biome就可以找到规则了 node_modules。 。 。 .
运行您的工程检查
在保存配置后, 从项目目录中运行 Biome :
npx biome lint src
Biome现在读取预设作为您项目配置的一部分. 您的脚本和CI检查也会在使用此配置运行Biome时使用这些规则.
预设
要更改预设,请在 extends 与一张从这个表格。 试运行时,将预设名称传给CLI,例如: --preset=core。 。 。 .
| 软件包路径 | 包含的规则 |
|---|---|
@catenarycloud/linteffect | 完整的预设,也可以使用 @catenarycloud/linteffect/recommended |
@catenarycloud/linteffect/core | 效果构成、控制流程和执行命令 |
@catenarycloud/linteffect/web | 反应钩子、原子访问、状态更新和香草提取样式 |
@catenarycloud/linteffect/ts-type | 类型断言、数据守护、可选值和字符串状态 |
林特发现
每个诊断信息都建议重写.
这个 指南 解释诊断方法以及如何修复代码. 要求特工们在做出改变前先阅读. 使用您项目的 Biome 设置时, 单独提供指南 .
发展和贡献
克隆此寄存器并安装其开发依赖 yarn install运行 yarn test 检查规则和 yarn build 以重新生成项目文件,运行测试,并创建 npm 归档.
yarn lint 检查安装的执行代码 @catenarycloud/linteffect@dev 软件包. yarn lint:dev 明确选择它。 Yarn 锁定已安装的释放; 运行 yarn up -R @catenarycloud/linteffect 用于更新分辨率,而不以版本范围取代dev标签.
yarn lint:local 检查同样的文件 与检查规则。 两个配置共享格式化,导入组织,推荐Biome规则,而Git忽略设置. Fixture 源文件 留在这些检查之外 因为它们包含 蓄意违反。 通过一个路径来查看焦点 :
yarn lint:dev src/cli.ts
yarn lint:local src/cli.ts
测试和构建运行 yarn lint设置 BIOME_CONFIG_PATH=biome.local.jsonc 使用退出规则,例如 BIOME_CONFIG_PATH=biome.local.jsonc yarn test。在重写之前比较已发布和本地诊断.
.projenrc.ts 生成配置及其共享 biome.base.jsonc。它从本地插件列表中获取 configs/full.jsonc。 。 。 .
效果语言服务处检查效果使用和编辑中的布尔条件 yarn typecheck。编译器任务自动应用其补丁. yarn effect:diagnostics 报告调查结果。 错误会失败类型检查;警告和建议不会。 Biome检查语法和格式.
使用 固定布局和命令。 。 。 .
规则在 rules/*.grit中的文件 configs/ 列出每个预设的规则。 该项目使用普罗让. 编辑 .projenrc.ts 更改软件包元数据或构建任务.
这个 规则制定指南 解释如何写出一个规则,对照有效而无效的代码进行测试,并添加到一个预设中. 跟随 文件/未记录文件 用于文件和诊断信息.
叉子和类似项目
这个项目通过社区叉来适应其他林特人:
- OXC 效应 由Shekohex修改了Oxlint和ESLint的规则. 它的目标是Effect v4.
效果还提供了检查效果代码的工具:
- 效果语言服务 在您的编辑器中添加效果诊断、快速修正和重构。 它检查诸如未解决的服务要求和从未执行的影响等问题.
- 效果图 将这些工具带入原生的 TypeScript 编译器,用于 TypeScript 7 并更新. 它还支持Oxlint中的有类型意识效应规则,其中包含 Oxlint 设置指南。 。 。 .