# @brandlab-digital/eslint-plugin 中文文档

规范地址：https://npmcn.com/package/%40brandlab-digital/eslint-plugin/

版本：4\.2\.2
npm 元数据更新时间：2026-11-06T10:03:03.963Z
中文译文更新时间：2026-11-08T14:04:09.883Z
软件包许可：UNLICENSED

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

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

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

- 包体积（解压后）：122 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：eslint \>=9，eslint-config-next \>=16
- 首次发布：2026-05-26T03:28:47.168Z
- 最新版本发布：2026-11-06T10:03:03.791Z
- 近 30 天下载量：7760（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：118（近 12 个月 118 个）

## 中文简介

专有软件 Brandlab Digital Marketing. 版权所有。 为Brandlab客户端网站发布.

## 安装

```sh
npm install @brandlab-digital/eslint-plugin
```

也可以使用：`pnpm add @brandlab-digital/eslint-plugin`、`yarn add @brandlab-digital/eslint-plugin`、`bun add @brandlab-digital/eslint-plugin`

## README

# `@brandlab-digital/eslint-plugin`

专有软件 Brandlab Digital Marketing. 版权所有。 为Brandlab客户端网站发布.

为 Brandlab Next.js 消费者提供快速,语法级别的保障. 该插件为可以从单一源文件中被确定的违规提供即时编辑器和CI反馈.

它故意不执行释放支持、移民政策、项目健康、产出验证或投资组合评分。 这些决定属于 `@brandlab-digital/conformance`。 。 。 .

## 客户端预设

每个 Brandlab Next.js 客户端都使用完整的预设 `eslint.config.mjs`数字 :

```js
import brandlab from '@brandlab-digital/eslint-plugin'

export default brandlab.configs.next
```

`configs.next` 下一个 `core-web-vitals` 财务报告和审定财务报表 `typescript` 配置,然后 `configs.recommended`,则 `react/no-unescaped-entities` 关闭( apostropes 是普通副本) 标准忽略(`.next/`, (中文(简体) ), `out/`, (中文(简体) ), `build/`, (中文(简体) ), `coverage/`, (中文(简体) ), `playwright-report/`, (中文(简体) ), `test-results/`, (中文(简体) ), `.vercel/`, (中文(简体) ), `public/`, (中文(简体) ), `next-env.d.ts`) (中文(简体) ). 装入 `eslint-config-next` 首次使用时,请安装 `eslint-config-next` 准确版本为 `next`。 。 。 .

## 建议的平面配置

对于非下一个消费者,或组成自定义数组:

```js
import brandlab from '@brandlab-digital/eslint-plugin'

export default [brandlab.configs.recommended]
```

建议的配置可以使下表中的每个规则都作为出错而存在,只有两个被标记的"站点系统配置"除外,下一节涵盖了这两个规则.

## 站点系统配置

`configs['site-system']` 实值 `configs.recommended` 加两个站点系统规则(`no-preferred-region`, (中文(简体) ), `no-long-class-in-list`所有错误 一个网站在宣布 `siteSystem` 级别 `brandlab.config.ts`,所以舰队起伏 和安全补丁 保持绿色 直到一个地点 采纳共享的外壳:

```js
import brandlab from '@brandlab-digital/eslint-plugin'

export default [...brandlab.configs.next, brandlab.configs['site-system']]
```

合格工程检查完全接受两个 `eslint.config.mjs` 默认导出 : `export default brandlab.configs.next`,以及上述表格(`brandlab.configs["site-system"]` 双引号也被接受,一个后导逗号或数组被从行中分割出来也是被接受的. 其它数组失败 `tool-preset` 检查.

对于非下一个消费者, `[brandlab.configs['site-system']]` 单凭一个人就能遵守九条规则. `SITE_SYSTEM_RULE_IDS` 列出两个身份.

## 稳定规则ID

| 规则 | 目的 | 首选执行 |
| --- | --- | --- |
| `brandlab/no-retired-analytics-events` | 拒绝已删除的事件名称, 如 `contact_form_submission` 财务报告和审定财务报表 `phone_call`。 。 。 . | 使用 `contact_form` 表格和表格 `phone_link_click` 电话连接诊断. |
| `brandlab/no-raw-json-ld` | 拒绝原始 JSON LD `<script>` 财务报告和审定财务报表 `createElement` 消费者产出. | 已输入图 `@brandlab-digital/site-next/schema`。 。 。 . |
| `brandlab/no-unsafe-rich-text-sinks` | 拒绝每个项目拥有的原始 HTML 槽(`dangerouslySetInnerHTML` 在JSX,道具对象或任务)中,无论它命名的什么疗效. 合规检查员采用同样的政策. | (原始内容存档于2018-09-31). Render JSON-LD with `SchemaScript` 和丰富的文本 `SafeRichText` 从 `@brandlab-digital/site-next`。 。 。 . |
| `brandlab/no-protected-platform-reimplementation` | 拒绝绕过被保护接触,SEO或分析表面的本地声明和直接呼叫. | 导入共享 `site-core` 或者说 `site-next` API (英语). |
| `brandlab/no-analytics-pii` | 在已知分析汇中拒绝静态可验证的铅PII、消息和附件数据. | 只发送共享的允许列表事件参数 . |
| `brandlab/no-unsafe-external-links` | 拒绝包含脚本的链接方案,拒绝在URL为静态时使用打开器访问的外部新文本链接. | 使用安全计划 `rel="noopener"`; 将运行时间 URL 验证保存在信任边界上. |
| `brandlab/no-raw-image-elements` | 拒绝原始网站 `<img>` 财务报告和审定财务报表 `createElement('img')` 输出. | 使用 `next/image`; 文档 `getImageProps` 艺术方向模式和电子邮件渲染器文件仍然豁免. |
| `brandlab/no-preferred-region` (现场系统配置,3.13.0) | 拒绝导出 `preferredRegion` (变量、函数或 `export { x as preferredRegion }`) (中文(简体) ). 在韦尔塞尔岛上只接受 `auto`, (中文(简体) ), `global` 或者说 `home`。 。 。 . | 离开该区域 `vercel.json` `regions`,录入 `brandlab.config.ts` `hosting.originRegion` (规则原产地-地区-v1). |
| `brandlab/no-long-class-in-list` (现场系统配置, 3.14.0) | 拒绝 a `className` (或 `class`(a) 字符串超过80个字符 `.map()` 或者说 `.flatMap()` 回调:文字、模板文本或内部的字符串 `cx()`,一个三角, `&&` 或数组。 每件物品在HTML和RSC有效载荷中重复. 测试和已安装的软件包是免责的. | 在站点样式表上用一个命名的类对重复的项目进行样式处理,或者将类保持为80个字符或更少. |

`RULE_IDS` (所有12个) 用于不需要重复字符串而需要犬形ID的工具被导出. 3.0版已删除 `brandlab/no-allow-indexing-true` 一、导 言 `ALLOW_INDEXING` 路径; 索引由部署环境决定.

## 故意边界

-   保护地规则检查申报,保留平台API名称和直接运输或分析电话。 它不比较执行行为或成套版本.
-   分析规则检查已知的事件汇和源可见的有效载荷。 它不猜测不透明的动态物体的内容;运行时间允许列名和符合仍然是强制性的.
-   链接规则只作用于静态可解的URL. 动态目的地需要运行时间验证和行为验证.
-   图像规则适用于网站UI. 当文件被明确定位或命名为电子邮件渲染器时,原始图像标记仍然可供非下一个渲染器使用.
-   共同执行 `site-core`, (中文(简体) ), `site-next` 和安装 `@brandlab-digital` 软件包不作为消费者的再实施处理.
-   电话连接规则读取 `href` 属性。 在其他地方建立的链接(a) `telHref` 变量,一个配置对象, `createElement`) 无法达到; 符合读取已提供的链接.
-   悬浮计时规则跟随在同一文件中声明的处理者: 内线,命名,包裹在诸如 `useCallback`,或者通过本地助手功能达到。 进口钩子中的定时器或由悬浮状态所驱动的效果没有找到。 它忽略外面的文件 `src/` 和文件,其路径和导出不命名标题、导航、菜单或抽屉.
-   深度进口规则涵盖 `@brandlab-digital/site-next` 只有这个.

这些限制使决定力和编辑速度不断下降,而符合性引擎拥有更深的AST、行为和输出证据.

## 常见问题

### @brandlab-digital/eslint-plugin 是什么？

专有软件 Brandlab Digital Marketing\. 版权所有。 为Brandlab客户端网站发布\.

### 如何安装 @brandlab-digital/eslint-plugin？

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

### @brandlab-digital/eslint-plugin 支持 TypeScript 吗？

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

### @brandlab-digital/eslint-plugin 支持 ESM 还是 CommonJS？

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

### @brandlab-digital/eslint-plugin 可以商用吗？

@brandlab-digital/eslint-plugin 使用 UNLICENSED 许可。作者声明为 UNLICENSED，即不授予公开使用许可（与公共领域的 Unlicense 不同）。使用前需获得作者授权。以上为概括，不构成法律意见，请以许可原文为准。

### @brandlab-digital/eslint-plugin 的下载量有多少？

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

### @brandlab-digital/eslint-plugin 还在维护吗？

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

