# @catenarycloud/linteffect 中文文档

规范地址：https://npmcn.com/package/%40catenarycloud/linteffect/

版本：0\.1\.0
npm 元数据更新时间：2026-11-01T16:13:51.807Z
中文译文更新时间：2026-11-09T05:30:00.051Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40catenarycloud/linteffect
原文对照：https://npmcn.com/package/%40catenarycloud/linteffect/?lang=original
项目主页：https://github.com/OperationalFallacy/biome-effect-linting-rules#readme
源码仓库：https://github.com/OperationalFallacy/biome-effect-linting-rules

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：130 kB，79 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>= 24\.0\.0
- 运行依赖：3 个
- 首次发布：2026-04-06T20:51:43.167Z
- 最新版本发布：2026-11-01T16:13:51.455Z
- 近 30 天下载量：6794（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：29（近 12 个月 29 个）

## 中文简介

Biome Grit规则用于声明效果类型Script的构成和全库风格的一致性.

## 安装

```sh
npm install @catenarycloud/linteffect
```

也可以使用：`pnpm add @catenarycloud/linteffect`、`yarn add @catenarycloud/linteffect`、`bun add @catenarycloud/linteffect`

## README

# 无效

`lintEffect` 是使用 Effect v4 的 TypeScript 项目的 Biome lint 规则集。 规则将相关步骤放在一起,使每个行动的决定和结果明确.

> 我制定并维持了这些规则 [贸易网.com](https://tradedal.com/)一个交易应用程序的选项。 我用它们来保存密码 并减少不必要的锅炉板.
> 
> Roman Naumenko, 作者和维护者

规则识别出诸如"巢"等反花样动物 `Effect.gen` 块和连续操作 `Effect.all`。每个诊断解释模式,并建议如何重写代码.

规则目标 4. 第0.0.9版是Effect v3的最终发布.

可以使用完整的规则集或者选择更小的预设. 从一个较小的预设开始,将规则引入一个既定的项目.

例如,这个代码使用嵌入效应呼叫来获取一个用户并读取他们的配置:

```ts
const loadUser = Effect.map(
  Effect.flatMap(getUserId, (userId) => fetchUser(userId)),
  (user) => user.profile
);
```

在输油管中,这些电话按它们运行的顺序出现:

```ts
const loadUser = getUserId.pipe(
  Effect.flatMap((userId) => fetchUser(userId)),
  Effect.map((user) => user.profile)
);
```

在此演示中, Codex 使用规则重构 [来自效果Discord bot 的信件](https://github.com/Effect-TS/discord-bot/blob/main/packages/discord/src/Messages.ts)。 。 。 .

![Messages refactor demo](https://npmcn.com/package/%40catenarycloud/linteffect/media/messagesRefactor.gif)

## 试试你的密码

您可以检查您的代码 `npx` 不更改您的工程的依赖性或配置。 从工程目录中运行此命令 :

```bash
npx @catenarycloud/linteffect check src --preset=core
```

命令需要节点.js 24或更新. 它检查 `src` 与核心预设并保留源文件不变。 它运行Biome的WebAssembly引擎在同一节点.js进程,独立于您的项目Biome设置. 它将所选规则加载到一个孤立的模拟工作空间,并且不创建临时配置文件.

目录目标包括连续支持的文件. CLI在 traversal 时跳过依赖性和版本控制目录,它从未遵循目录的同义链接. 大于 1 MiB 的文件无法检查 .

选择 `core`, (中文(简体) ), `web`, (中文(简体) ), `ts-type`,或 `full` 与 `--preset`编辑 [预设表格](https://npmcn.com/package/%40catenarycloud/linteffect/#readme-presets) 描述每个组。 如果你遗漏 `--preset`,命令使用 `full`。 。 。 .

包包括一个 [向导](https://npmcn.com/package/%40catenarycloud/linteffect/docs/linting.md) 用来修复错误并检查结果。 添加 `--guide` 在诊断前将其文本输入命令输出中:

```bash
npx @catenarycloud/linteffect check src --preset=core --guide
```

如果代理运行此命令, 它可以读取指南 和 lint 结果 .

使用 `--help` 用于命令选项。 尝试预释,使用 `@catenarycloud/linteffect@dev` 在命令中.

## 添加到您的项目中

### 安装和配置

用您的项目软件包管理器安装 Biome 和规则 :

```bash
npm install -D @biomejs/biome @catenarycloud/linteffect
```

```bash
yarn add -D @biomejs/biome @catenarycloud/linteffect
```

```bash
pnpm add -D @biomejs/biome @catenarycloud/linteffect
```

创建一个 `biome.json` 或者说 `biome.jsonc` 核心预设在 `extends`。如果您已经拥有其中任一文件,请在其中添加预设 `extends` 数组并保留您的其余配置 :

```jsonc
{
  "extends": ["@catenarycloud/linteffect/core"]
}
```

预设使用Biome 2.6.3的配置方案. 独立的CLI将匹配的WebAssembly引擎捆绑起来,不需要单独的Biome安装.

和Yarn Berry,设定 `nodeLinker: node-modules` 这样Biome就可以找到规则了 `node_modules`。 。 。 .

### 运行您的工程检查

在保存配置后, 从项目目录中运行 Biome :

```bash
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` | 类型断言、数据守护、可选值和字符串状态 |

### 林特发现

每个诊断信息都建议重写.

这个 [指南](https://npmcn.com/package/%40catenarycloud/linteffect/docs/linting.md) 解释诊断方法以及如何修复代码. 要求特工们在做出改变前先阅读. 使用您项目的 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 源文件 留在这些检查之外 因为它们包含 蓄意违反。 通过一个路径来查看焦点 :

```sh
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检查语法和格式.

使用 [固定布局和命令](https://npmcn.com/package/%40catenarycloud/linteffect/tests/specs/README.md)。 。 。 .

规则在 `rules/*.grit`中的文件 `configs/` 列出每个预设的规则。 该项目使用普罗让. 编辑 [`.projenrc.ts`](https://npmcn.com/package/%40catenarycloud/linteffect/.projenrc.ts) 更改软件包元数据或构建任务.

这个 [规则制定指南](https://npmcn.com/package/%40catenarycloud/linteffect/docs/rule-guidance.md) 解释如何写出一个规则,对照有效而无效的代码进行测试,并添加到一个预设中. 跟随 [文件/未记录文件](https://npmcn.com/package/%40catenarycloud/linteffect/docs/unslop.md) 用于文件和诊断信息.

## 叉子和类似项目

这个项目通过社区叉来适应其他林特人:

-   [OXC 效应](https://github.com/shekohex/oxc-effect-linting-rules) 由Shekohex修改了Oxlint和ESLint的规则. 它的目标是Effect v4.

效果还提供了检查效果代码的工具:

-   [效果语言服务](https://github.com/Effect-TS/language-service) 在您的编辑器中添加效果诊断、快速修正和重构。 它检查诸如未解决的服务要求和从未执行的影响等问题.
-   [效果图](https://github.com/Effect-TS/tsgo) 将这些工具带入原生的 TypeScript 编译器,用于 TypeScript 7 并更新. 它还支持Oxlint中的有类型意识效应规则,其中包含 [Oxlint 设置指南](https://github.com/Effect-TS/tsgo/blob/main/docs/README.md)。 。 。 .

## 常见问题

### @catenarycloud/linteffect 是什么？

Biome Grit规则用于声明效果类型Script的构成和全库风格的一致性\.

### 如何安装 @catenarycloud/linteffect？

在项目目录运行 npm install @catenarycloud/linteffect，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 linteffect，可以用 npx linteffect 直接运行。

### @catenarycloud/linteffect 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/catenarycloud\_\_linteffect 是否存在。

### @catenarycloud/linteffect 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @catenarycloud/linteffect 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>= 24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @catenarycloud/linteffect 可以商用吗？

@catenarycloud/linteffect 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @catenarycloud/linteffect 的下载量有多少？

根据 npm 官方下载统计，@catenarycloud/linteffect 在 2026/10/09 – 2026/11/07 这 30 天内被下载 6,794 次，日均约 226 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @catenarycloud/linteffect 还在维护吗？

最新版本 0\.1\.0 发布于 2026/11/02（7 天前）；至今共发布 29 个版本，其中过去 12 个月发布了 29 个；首次发布于 2026/04/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

