# @cloudfour/eslint-config 中文文档

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

版本：29\.0\.1
npm 元数据更新时间：2026-11-03T18:13:16.236Z
中文译文更新时间：2026-11-10T03:55:31.927Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：28.8 kB，4 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：^22\.13\.0 \|\| \>=24
- 运行依赖：3 个
- peer 依赖：eslint ^10\.6\.0，typescript \>=6\.0\.0 \<6\.1\.0
- 首次发布：2018-07-05T23:07:20.837Z
- 最新版本发布：2026-11-03T18:13:16.012Z
- 近 30 天下载量：2883（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：25（近 12 个月 9 个）

## 中文简介

云四的共享 ESLint 配置

## 安装

```sh
npm install @cloudfour/eslint-config
```

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

## README

# @ cloudfour/ eslint- config

[![NPM version](https://img.shields.io/npm/v/@cloudfour/eslint-config.svg)](https://www.npmjs.com/package/@cloudfour/eslint-config) [![Build Status](https://github.com/cloudfour/eslint-config/workflows/CI/badge.svg)](https://github.com/cloudfour/eslint-config/actions?query=workflow%3ACI) [![Renovate](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/)

云四的ESLint配置.

此配置扩展了以下插件 :

这是建立在 [`eslint-config-xo`](https://github.com/xojs/eslint-config-xo),哪个 捆绑和配置我们依赖的大多数插件——包括 [`unicorn`](https://github.com/sindresorhus/eslint-plugin-unicorn), (中文(简体) ), [`jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc), (中文(简体) ), [`n`](https://github.com/eslint-community/eslint-plugin-n), (中文(简体) ), [`@typescript-eslint`](https://github.com/typescript-eslint/typescript-eslint), (中文(简体) ), [`regexp`](https://github.com/ota-meshi/eslint-plugin-regexp) 财务报告和审定财务报表 [`import-x`](https://github.com/un-ts/eslint-plugin-import-x) 附加规则 `package.json`JSON,马克道,CSS和HTML。 再说,我们自己加 超能力,这就是我们家的风格.

规则名称使用xo的命名空间为-is. 请注意,进口规则是 `import-x/*`没有 `import/*`。 。 。 .

一个插件是我们的,而不是Xo的:

-   [`promise`](https://github.com/xjamundx/eslint-plugin-promise)我们正在考虑 放下这个 : `promise/param-names` 是我们唯一的规则, 和整个 依赖一条规则是很难辩解的。 如果我们放弃它, 规则随之而来.

## 使用量

此套件导出 [平面 ESLint 配置](https://eslint.org/docs/latest/use/configure/configuration-files-new)。 。 。 .

```bash
npm install --save-dev eslint @cloudfour/eslint-config
```

如果您的工程使用 TypeScript, 其版本必须在 `typescript` 此软件包中的区域 `peerDependencies`,这跟随什么 `typescript-eslint` 支持 。 在这个范围以外, npm 停止与同伴依赖性冲突 名称 `@cloudfour/eslint-config`。 。 。 .

示例 `eslint.config.js`数字 :

```js
import cloudFourConfig from '@cloudfour/eslint-config';

export default [
    ...cloudFourConfig,
    {
        rules: {
            // your overrides here
            ...
        }
    },
];
```

### 写入您的自定义

xo 将它的分层扩展到它们所插入的文件类型, 并在这些类型上注册插件 层。 A 类 `rules` 块中无 `files` 适用于一切,包括 JSON, Markdown, CSS 和 HTML 现在的xo 插件, 这些插件从来就没有过 注册。 ESLint 然后无法完全装入配置 :

```text
A configuration object specifies rule "jsdoc/check-indentation",
but could not find plugin "jsdoc".
```

因此对 JavaScript 插件的覆盖范围 :

```js
{
    files: ['**/*.{js,cjs,mjs,ts}'],
    rules: {
        'jsdoc/check-indentation': 'off',
    },
}
```

这是很容易错过的,因为当你插入一个文件时它会过去 (单位:千美元)`eslint src/index.js`),并且只在整个项目中失败(`eslint .`) (中文(简体) ).

## 为已发布的软件包推荐设置

关了三个 `package.json` 规则 否则会向每一个 包括许多从未出版过的东西 每个人都要求 一个真正值得你接受的东西 _对_ 发布到 npm,所以 考虑把它们换回去:

| 规则 | 问 | 值得当 |
| --- | --- | --- |
| `package-json/prefer-exports` | 一个 `exports` 字段改为 `main` | 软件包已经发布,您需要定义的公共界面 。 将入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入出入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入入. |
| `package-json/require-engines` | `engines.node` | 该软件包实际运行于节点. 跳过它用于浏览器库, 其中有 Node 版本可以描述 . |
| `package-json/prefer-type-module` | `"type": "module"` | 你准备只接受无害环境管理 这打破了每个消费者使用 `require()`,所以这是一个重大释放决定. |

在一个项目中采纳这些建议:

```js
{
    files: ['package.json'],
    rules: {
        'package-json/prefer-exports': 'error',
        'package-json/require-engines': 'error',
    },
}
```

请注意,我们的范围xo's `package.json` 层到 **根号** 显出. 规则 喜欢 `require-fields` 财务报告和审定财务报表 `prefer-type-module` 描述一个包裹的表, 并应用到每个 `**/package.json` 关于非文件的报表 软件包——最显著的是 `{"type": "commonjs"}` 标记双重文件 通用JS/ESM在其输出目录中构建位置. 如果你保持真实 显示除寄存器根以外的地方, 如 npm 工作空间, 扩展您自己配置的范围 :

```js
{
    files: ['packages/*/package.json'],
    rules: {
        'package-json/require-fields': 'error',
    },
}
```

## 常见问题

### @cloudfour/eslint-config 是什么？

云四的共享 ESLint 配置

### 如何安装 @cloudfour/eslint-config？

在项目目录运行 npm install @cloudfour/eslint-config，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：eslint（^10\.6\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @cloudfour/eslint-config 支持 TypeScript 吗？

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

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

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

### @cloudfour/eslint-config 需要什么版本的 Node\.js？

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

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

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

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

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

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

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

