Skip to content

Latest commit

 

History

History
79 lines (56 loc) · 2.33 KB

File metadata and controls

79 lines (56 loc) · 2.33 KB

贡献指南

向本仓(平台与 SDK)提交改动时看这篇。业务模块在独立作者仓发布,不经本仓 changesets。

更细约定见 代码约定;脚本见 工具脚本;模块发包见 发布你的模块。

环境

  • Node.js ≥ 22.13
  • pnpm workspace(pnpm-workspace.yaml);本地 @sfmc-bds/* 用 ^<version>,禁止 workspace:*
  • 可选:Python 3.12 + pip install -r docs/requirements.txt
pnpm install && pnpm run build && pnpm run verify

根脚本

以下命令统一使用 pnpm。

日常

命令 说明
pnpm run build 各 workspace build
pnpm run typecheck 各 workspace typecheck
pnpm run lint build eslint-plugin 后 eslint .
pnpm start CLI

单包:pnpm --filter @sfmc-bds/sdk run build。

自检

命令 说明
pnpm run verify 平台集成自检

文档

pnpm run docs api
pnpm run docs serve
pnpm run docs build

依赖对齐

pnpm run syncpack:fix
pnpm exec syncpack format --check

平台发包

命令 说明
pnpm run changeset 添加 changeset;push main 后 CI 开 Version PR
node packages/tools/pack-verify.mjs 检查发布包内容

日常发版:合并 Version PR 即可,无需本地 prerelease / release。正式版使用 npm latest;预发布需单独启用 Changesets pre mode。模块作者发包见 发布你的模块。

仓库规则

  • 业务模块只依赖 @sfmc-bds/sdk + @minecraft/*;跨模块用 manifest + service
  • 不直连 db-server、不 import 其它模块源码、不读写对方私有表
  • 配置 JSON、SAPI 启动缓存;改配置后重启 BDS
  • 消息用 Msg.*,不用 player.sendMessage()
  • 包内 build/typecheck 走 monorepo @sfmc-bds/tools workspace bin,勿写随深度变化的 ../../../tools
  • 不提交 configs/、data/、密钥、本机 .sfmc/
  • 注释中文 UTF-8;审查关注 DRY / OCP / DIP / LSP / 最少知识

相关

文档 内容
架构 分层
平台开发 SDK / db / CLI
ESLint 约定 规则
文档站维护 Rspress / TypeDoc