@caspeco/eslint-config-react

中文文档
5.5.1发布于 2026/10/20MITTypeScriptES Module构建来源已验证近 30 天下载 3246

反应项目的 Caspeco ESLint 配置

中文使用文档
文档目录16 节
  1. 安装
  2. 从 v4. x 移走
  3. 使用量
  4. 反应编译器( opt- in)
  5. 包含什么
  6. 基础类型脚本配置
  7. 反应- 特定配置
  8. 同伴依赖关系
  9. ESLint 10 (英语)
  10. 插件
  11. eslint- 插件反应
  12. eslint-plugin- react-hooks (英语)
  13. eslint-plugin-反应再现
  14. 光谱反应插件
  15. 与@caspeco/eslint-config-ts的关系
  16. 许可证

@caspeco/slint-config- react

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

安装

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

从 v4. x 移走

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

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

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

更新插件命名空间 caspeco/ 改为 caspeco-react/见 移徙指南 详细情况.

使用量

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

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

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

反应编译器( opt- in)

如果你的项目通过了 React 编译器,使用 /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,还有:

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 用于特定版本要求.

说明: 其它类型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- 插件反应

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

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

eslint-plugin- react-hooks (英语)

eslint-plugin- react-hooks (英语)

执行:

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

eslint-plugin-反应再现

eslint-plugin-反应再现

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

光谱反应插件

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

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

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

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

许可证

麻省理工学院

版本与发布记录

@caspeco/eslint-config-react 共发布 17 个版本,首次发布于 2025/11/11;过去 12 个月发布了 17 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.5.1latest2026/10/2019 天前
5.5.02026/10/2020 天前
5.5.0-beta.0next2026/10/2020 天前
5.4.22026/08/122 个月前
5.4.12026/07/104 个月前
5.4.02026/07/094 个月前

关于 @caspeco/eslint-config-react 的常见问题

@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 和提交记录判断。