@fluidframework/eslint-config-fluid

中文文档
14.0.0发布于 2026/08/07MITCommonJS近 30 天下载 6948

流体框架可共享的 ESLint 配置

中文使用文档
文档目录11 节
  1. 所需资源
  2. 使用量
  3. ESLint 8.21+ (英语). 用户
  4. 模块结构
  5. 配置
  6. 建议
  7. 严格
  8. 严格比欧姆
  9. 修改插件配置
  10. 跟踪信息配置随时间变化
  11. 脚本

@fluidframework/slint-config-fluid (英语)

这个软件包包含一个共享的ESLint配置,所有软件包在"流体框架 repo"中使用.

所需资源

  • ESLint 9 (英语) (建议),或
  • ESLint 8.21+ (英语) 与 ESLINT_USE_FLAT_CONFIG=true 环境变量

这个包只使用ESLint的平面配置格式. 遗产 .eslintrc 不支持格式.

使用量

导入想要的配置并将其扩散到您的 eslint.config.mts数字 :

// eslint.config.mts
import { strict } from "@fluidframework/eslint-config-fluid";
export default [...strict];

包根导出标准平面和服务器配置 。 对于特殊案例,也有明确的子路径: @fluidframework/eslint-config-fluid/flat.mts 财务报告和审定财务报表 @fluidframework/eslint-config-fluid/server.mts。 。 。 .

ESLint 8.21+ (英语). 用户

如果您使用ESLint 8.21-8.x,您必须通过环境变量启用平面配置支持:

ESLINT_USE_FLAT_CONFIG=true eslint .

或者在你的 npm 脚本中:

{
    "scripts": {
        "lint": "cross-env ESLINT_USE_FLAT_CONFIG=true eslint ."
    }
}

说明: ESLint 8.x平面配置支持是实验性的. 我们建议升级到ESLint 9,以获得最佳经验.

模块结构

平面配置为可维护性模块结构:

eslint-config-fluid/
├── flat.mts                    # Main entry point (~30 lines)
├── library/
│   ├── constants.mts           # Shared constants (ignores, file patterns, import restrictions)
│   ├── settings.mts            # Plugin settings (import-x, jsdoc)
│   ├── rules/
│   │   ├── base.mts            # Base rules from eslint:recommended, typescript-eslint, etc.
│   │   ├── recommended.mts     # Rules for recommended config (unicorn, type safety)
│   │   └── strict.mts          # Rules for strict config (jsdoc requirements, explicit access)
│   └── configs/
│       ├── base.mts            # Base config builder with all plugins
│       ├── overrides.mts       # Shared overrides (test files, React, JS files)
│       └── factory.mts         # Config factory functions

这一结构确保:

  • 单个文件不超过~250行
  • 常数和设置的单一真理源
  • 每个单元都有一个单一的责任
  • 易于理解和维护

配置

Fluid Framework 库中使用的标准名为配置.

import { recommended } from "@fluidframework/eslint-config-fluid";
export default [...recommended];

建议存储库中的所有图书馆使用此配置,尽管 严格 只要合理,就倾向于配置.

严格

Fluid框架库中最严格的配置 。 建议实施最高质量标准.

import { strict } from "@fluidframework/eslint-config-fluid";
export default [...strict];

鼓励公众面对API的图书馆使用这种配置,鼓励将这种配置用作外部实例(例如: fluidframework.com) (中文(简体) ).

严格比欧姆

一种"严格"配置的版本,可以使Biome"推荐"所覆盖的规则被禁用. 用于同时使用ESLint和Biome的项目.

import { strictBiome } from "@fluidframework/eslint-config-fluid";
export default [...strictBiome];

修改插件配置

如果您想要更改共享的 lint 配置( 即此软件包), 您需要做以下操作 :

  1. 使相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相.
  2. 发布预发包.
  3. 更新核心软件包,以使用预放出lint配置.

更新 Lint 配置( 第 1步) 时, 运行 npm run build 并做出相应的改变.

跟踪信息配置随时间变化

当我们改变我们的设计时 经常会出现的一个问题是, “什么改变了?” 即使我们 除了升级道具,不要做其他任何更改,因为依赖升级可能包括一条新规则.

ESLint提供了打印适用于文件的配置的方法(--print-config因此,我们利用这种能力 打印应用配置为 JSON 文件。 当我们改变配置时, 我们可以再次打印出配置并获得 diff作为公关的一部分来审查-- 就像我们对代码更改的API报告一样.

脚本

脚本说明
buildnpm run print-config
build:readme:disabledmarkdown-magic --files "**/*.md"
cleanrimraf --glob dist "**/*.build.log"
formatnpm run prettier:fix
install-no-frozenpnpm --config.minimum-release-age=10080 i --no-frozen-lockfile
prettierprettier --check .
prettier:fixprettier --write .
print-configstsx scripts/print-configs.ts printed-configs
testecho TODO: add tests in @fluidframework/eslint-config-fluid
test:mochamocha "src/test/**/*.test.mts"

见 GitHub 图像 需要更多关于流体框架和内部软件包的细节.

版本与发布记录

@fluidframework/eslint-config-fluid 共发布 76 个版本,首次发布于 2020/09/01;过去 12 个月发布了 5 个版本。

版本发布日期距今
14.0.0latest2026/08/073 个月前
13.0.02026/06/105 个月前
12.0.02026/06/035 个月前
10.0.02026/04/166 个月前
9.0.02026/03/287 个月前
8.1.02025/11/041 年前

其他发布通道:next → 3.2.0-225617,dev → 5.4.0-289708。

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

@fluidframework/eslint-config-fluid 是什么?

流体框架可共享的 ESLint 配置

如何安装 @fluidframework/eslint-config-fluid?

在项目目录运行 npm install @fluidframework/eslint-config-fluid,或使用 pnpm add / yarn add / bun add。

@fluidframework/eslint-config-fluid 支持 TypeScript 吗?

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

@fluidframework/eslint-config-fluid 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@fluidframework/eslint-config-fluid 需要什么版本的 Node.js?

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

@fluidframework/eslint-config-fluid 可以商用吗?

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

@fluidframework/eslint-config-fluid 的下载量有多少?

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

@fluidframework/eslint-config-fluid 还在维护吗?

最新版本 14.0.0 发布于 2026/08/07(3 个月前);至今共发布 76 个版本,其中过去 12 个月发布了 5 个;首次发布于 2020/09/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。