# @caspeco/eslint-config-react 中文文档

规范地址：https://npmcn.com/package/%40caspeco/eslint-config-react/

版本：5\.5\.1
npm 元数据更新时间：2026-10-20T10:38:18.234Z
中文译文更新时间：2026-11-09T08:54:34.249Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40caspeco/eslint-config-react
原文对照：https://npmcn.com/package/%40caspeco/eslint-config-react/?lang=original
项目主页：https://github.com/Caspeco/eslint-config#readme
源码仓库：https://github.com/Caspeco/eslint-config

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

- 包体积（解压后）：19.4 kB，16 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- peer 依赖：eslint ^9\.39\.4 \|\| ^10\.0\.0，globals ^17\.4\.0，eslint-plugin-react-hooks ^7\.1\.1，eslint-plugin-react-refresh ^0\.5\.4
- 首次发布：2025-11-11T09:30:06.941Z
- 最新版本发布：2026-10-20T10:38:16.824Z
- 近 30 天下载量：3246（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

反应项目的 Caspeco ESLint 配置

## 安装

```sh
npm install @caspeco/eslint-config-react
```

也可以使用：`pnpm add @caspeco/eslint-config-react`、`yarn add @caspeco/eslint-config-react`、`bun add @caspeco/eslint-config-react`

## README

# @caspeco/slint-config- react

用于React + TypeScript项目的 Caspeco ESLint配置.

## 安装

```bash
npm install --save-dev @caspeco/eslint-config-react
```

### 从 v4. x 移走

如果你正在升级 从 `@caspeco/eslint-config` v4.x,使用自动迁移脚本 :

```bash
# Preview changes
npx caspeco-react-migrate-v5 src/ --dry-run

# Apply changes
npx caspeco-react-migrate-v5 src/
```

更新插件命名空间 `caspeco/` 改为 `caspeco-react/`见 [移徙指南](https://npmcn.com/package/MIGRATION.md) 详细情况.

## 使用量

创建一个 `eslint.config.js` 在工程根中的文件 :

```js
import config from "@caspeco/eslint-config-react";

export default [{ ignores: ["dist/**/*", "build/**/*"] }, ...config];
```

### 反应编译器( opt- in)

如果你的项目通过了 [React 编译器](https://react.dev/learn/react-compiler),使用 `/compiler` 而不是进入点。 它是一个即时的替换 使得全 `eslint-plugin-react-hooks` 建议的规则,包括反应编译器规则 (单位:千美元)`react-hooks/purity`, (中文(简体) ), `react-hooks/static-components`, (中文(简体) ), `react-hooks/use-memo`, (中文(简体) ), `react-hooks/immutability`, (中文(简体) ), `react-hooks/set-state-in-render`,还有:

```js
import config from "@caspeco/eslint-config-react/compiler";

export default [{ ignores: ["dist/**/*", "build/**/*"] }, ...config];
```

默认配置( N)`@caspeco/eslint-config-react`故意只允许 `react-hooks/rules-of-hooks` 财务报告和审定财务报表 `react-hooks/exhaustive-deps`,所以没有 尚未通过 React 编译器, 也没有被特定编译器的警告淹没 .

## 包含什么

此配置包括来自我们 TypeScript 配置加 React 特定规则的所有内容 :

### 基础类型脚本配置

-   **类型脚本 ESLint** - 建议类型检查的配置
-   **没有弹匣文件** - 防止桶文件的使用
-   **文件命名公约** - 执行文件和文件夹的kebab案
-   **高级整合** - 与Pretier格式兼容

### 反应- 特定配置

-   **反应插件** - 核心回放规则
-   **反应钩** - 执行钩子规则
-   **反应刷新** - 对Vite/开发的快速更新支持
-   **Caspeco 插件** - Caspeco项目的自定义规则(Chakra UI进口限制)

## 同伴依赖关系

此软件包需要以下对等依赖( 自动由 npm 7+ 安装) :

-   `eslint` (9或10个)
-   `eslint-plugin-react-hooks`
-   `eslint-plugin-react-refresh`
-   `globals`

见 [软件包.json](https://npmcn.com/package/%40caspeco/eslint-config-react/package.json) 用于特定版本要求.

**说明:** 其它类型Script 关联的对等关系从 `@caspeco/eslint-config-ts` (作为正常依赖而自动安装).

`eslint-plugin-react` 是一种正常的依赖,而不是对等关系。 它还没有发布支持 ESLint 10,所以这个软件包用 `fixupRule` 从 `@eslint/compat`。 。 。 .

### ESLint 10 (英语)

-   删除 `eslint-plugin-react` 从你自己 `package.json`,或 npm 失败 `ERESOLVE`。 。 。 .
-   npm 指纹 `npm warn ERESOLVE overriding peer dependency` 页:1 `eslint-plugin-react`。安装成功并启动.
-   安装严格的对等关系( 如 pnpm) `strict-peer-dependencies`失败直到 `eslint-plugin-react` 支持 ESLint 10 语句.
-   使用 `@eslint/js` 10与ESLint 10 (英语). 内容 `recommended` 添加 `no-useless-assignment`, (中文(简体) ), `no-unassigned-vars` 财务报告和审定财务报表 `preserve-caught-error`。 。 。 .
-   在ESLint 9上,保留 `@eslint/js` 打开 `^9`。没有锁文件的新安装 `@eslint/js` 10个.

## 插件

### eslint- 插件反应

[eslint- 插件反应](https://github.com/jsx-eslint/eslint-plugin-react)

Core React Linting 规则,并附带以下定制:

-   `react-in-jsx-scope`: 关闭( 现代反应中不需要)
-   `prop-types`: 关闭( 使用类型脚本代替)
-   `display-name`关闭 :

### eslint-plugin- react-hooks (英语)

[eslint-plugin- react-hooks (英语)](https://www.npmjs.com/package/eslint-plugin-react-hooks)

执行:

-   虎克规则(错误)
-   过度依赖( 警告)

### eslint-plugin-反应再现

[eslint-plugin-反应再现](https://github.com/ArnaudBarre/eslint-plugin-react-refresh)

确保组件与开发中的快刷新兼容.

### 光谱反应插件

自定义具有 Caspeco 规则的特定反应插件 :

-   阻碍直接从 `@chakra-ui/react` (代之以使用主题组件)

## 与@caspeco/eslint-config-ts的关系

此软件包依赖于并延伸 `@caspeco/eslint-config-ts`,它作为依赖性自动安装。 这保证了React工程总是使用同样的TypeScript规则而不会漂移. 如果你正在建立一个反应项目,使用这个包. 用于香草类型Script项目 `@caspeco/eslint-config-ts`。 。 。 .

## 许可证

麻省理工学院

## 常见问题

### @caspeco/eslint-config-react 是什么？

反应项目的 Caspeco ESLint 配置

### 如何安装 @caspeco/eslint-config-react？

在项目目录运行 npm install @caspeco/eslint-config-react，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：eslint（^9\.39\.4 \|\| ^10\.0\.0）、globals（^17\.4\.0）、eslint-plugin-react-hooks（^7\.1\.1）、eslint-plugin-react-refresh（^0\.5\.4）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。它还提供命令行工具 caspeco-react-migrate-v5，可以用 npx caspeco-react-migrate-v5 直接运行。

### @caspeco/eslint-config-react 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @caspeco/eslint-config-react 支持 ESM 还是 CommonJS？

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

### @caspeco/eslint-config-react 可以商用吗？

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

### @caspeco/eslint-config-react 的下载量有多少？

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

### @caspeco/eslint-config-react 还在维护吗？

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

