ESLint 约定
用 @sfmc-bds/eslint-plugin 卡住模块与 SDK 约定(Msg、导入路径、跨模块边界等)。形态对齐 eslint-plugin-minecraft-linting:独立包 + flat configs.recommended。
安装
主仓 workspace 已包含。作者仓:
Flat config
更严:改用 sfmc.configs.all(部分 warn 升为 error)。
主仓根 eslint.config.js 已接入;pnpm run lint 会先 build 插件再跑。
规则(recommended)
规则名前缀均为 @sfmc-bds/。完整说明见插件 README。
编辑器
模板 .vscode/extensions.json 已推荐 ESLint(dbaeumer.vscode-eslint)与 SFMC Module。安装后打开 sapi/src 即可在 Problems 看到规则诊断;勿把 eslint-plugin 再打包成独立 VS Code 扩展。
SFMC Module 扩展在 package.json 中通过 extensionRecommendations 推荐 ESLint 扩展(非强制依赖,缺少时 SFMC Module 仍能激活,但 rules 诊断不可用)。
与 代码约定 互补:lint 管强制项,约定管文风与流程。