@brandlab-digital/eslint-plugin
专有软件 Brandlab Digital Marketing. 版权所有。 为Brandlab客户端网站发布.
为 Brandlab Next.js 消费者提供快速,语法级别的保障. 该插件为可以从单一源文件中被确定的违规提供即时编辑器和CI反馈.
它故意不执行释放支持、移民政策、项目健康、产出验证或投资组合评分。 这些决定属于 @brandlab-digital/conformance。 。 。 .
客户端预设
每个 Brandlab Next.js 客户端都使用完整的预设 eslint.config.mjs数字 :
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。 。 。 .
建议的平面配置
对于非下一个消费者,或组成自定义数组:
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,所以舰队起伏 和安全补丁 保持绿色 直到一个地点 采纳共享的外壳:
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、行为和输出证据.