Skip to content

Latest commit

 

History

History
81 lines (58 loc) · 2.71 KB

File metadata and controls

81 lines (58 loc) · 2.71 KB

贡献指南

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

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

环境

  • Node.js ≥ 22.13
  • pnpm workspacepnpm-workspace.yaml,主仓推荐)或 npm workspaces;本地 @sfmc-bds/*^<version>,禁止 workspace:*
  • 可选:Python 3.12 + pip install -r docs/requirements.txt
pnpm install && pnpm run build && pnpm run verify
npm install && npm run build --workspaces --if-present && npm run verify

根脚本

下文 pnpm / npm 等价(单包 filter 写法见第二列)。

日常

pnpm npm 说明
pnpm run build npm run build --workspaces --if-present 各 workspace build
pnpm run typecheck npm run typecheck 各 workspace typecheck
pnpm run lint npm run lint build eslint-plugin 后 eslint .
pnpm start npm start CLI

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

自检

pnpm npm 说明
pnpm run verify npm run verify 平台集成自检

文档

pnpm run docs -- api|serve|build
npm run docs -- api|serve|build

依赖对齐

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

平台发包

pnpm npm 说明
pnpm run changeset npm run changeset 添加 changeset;push main 后 CI 开 Version PR
node packages/tools/pack-verify.mjs 同上 可选:pnpm pack / npm pack 冒烟

日常发版:合并 Version PR 即可,无需本地 prerelease / release。当前 beta-only。模块作者发包见 发布你的模块

仓库规则

  • 业务模块只依赖 @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