@cloudfour/eslint-config

中文文档
29.0.1发布于 2026/11/04MITES Module近 30 天下载 2883

云四的共享 ESLint 配置

中文使用文档
文档目录3 节
  1. 使用量
  2. 写入您的自定义
  3. 为已发布的软件包推荐设置

@ cloudfour/ eslint- config

NPM version Build Status Renovate

云四的ESLint配置.

此配置扩展了以下插件 :

这是建立在 eslint-config-xo,哪个 捆绑和配置我们依赖的大多数插件——包括 unicorn, (中文(简体) ), jsdoc, (中文(简体) ), n, (中文(简体) ), @typescript-eslint, (中文(简体) ), regexp 财务报告和审定财务报表 import-x 附加规则 package.jsonJSON,马克道,CSS和HTML。 再说,我们自己加 超能力,这就是我们家的风格.

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

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

  • promise我们正在考虑 放下这个 : promise/param-names 是我们唯一的规则, 和整个 依赖一条规则是很难辩解的。 如果我们放弃它, 规则随之而来.

使用量

此套件导出 平面 ESLint 配置。 。 。 .

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

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

示例 eslint.config.js数字 :

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

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

写入您的自定义

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

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

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

{
    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-enginesengines.node该软件包实际运行于节点. 跳过它用于浏览器库, 其中有 Node 版本可以描述 .
package-json/prefer-type-module"type": "module"你准备只接受无害环境管理 这打破了每个消费者使用 require(),所以这是一个重大释放决定.

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

{
    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 工作空间, 扩展您自己配置的范围 :

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

版本与发布记录

@cloudfour/eslint-config 共发布 25 个版本,首次发布于 2018/07/06;过去 12 个月发布了 9 个版本。

版本发布日期距今
29.0.1latest2026/11/046 天前
29.0.02026/09/301 个月前
28.0.02026/09/181 个月前
27.1.02026/09/171 个月前
27.0.02026/09/161 个月前
26.1.02026/09/012 个月前

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

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