Skip to content

ci: Docs/changeset-release 在 npm ci 后先 build workspaces - #95

Merged
Tanya7z merged 2 commits into
mainfrom
cursor/fix-ci-workspace-build-91ed
Aug 5, 2026
Merged

ci: Docs/changeset-release 在 npm ci 后先 build workspaces#95
Tanya7z merged 2 commits into
mainfrom
cursor/fix-ci-workspace-build-91ed

Conversation

@Tanya7z

@Tanya7z Tanya7z commented Aug 5, 2026

Copy link
Copy Markdown
Member

问题

tools/ 迁到 packages/tools/ 后,packages/tools/lib/paths.mjs 在运行时 import @sfmc-bds/sdk/node/config,需要 SDK 的 dist/ 已存在。

OOTB workflow 在 npm ci 后会执行 npm run build --workspaces --if-present,因此能通过。但 Docschangeset-release 只跑了 npm ci,随后执行 npm run docs -- buildnode packages/tools/build-publishable.mjs 时会报错:

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '.../node_modules/@sfmc-bds/sdk/dist/esm/node/config/index.js'

修复

在以下 workflow 的 npm ci 之后、调用 tools 脚本之前,增加与 ootb.yml 一致的 build 步骤:

  • .github/workflows/docs.yml
  • .github/workflows/changeset-release.yml
  • .github/workflows/npm-publish.yml(同类隐患,一并修复)
- name: Build all workspaces
  run: npm run build --workspaces --if-present

验证

本地 npm cinpm run build --workspaces --if-present 后:

  • import('./packages/tools/lib/paths.mjs') 正常
  • node packages/tools/build-publishable.mjs 正常
Open in Web Open in Cursor 

tools 迁到 packages/tools/ 后,paths.mjs 运行时 import @sfmc-bds/sdk/node/config,
需要 SDK dist/ 存在。OOTB 已有 build 步骤;Docs 与 changeset-release 仅 npm ci
导致 ERR_MODULE_NOT_FOUND。与 ootb.yml 对齐,在 npm ci 后增加
npm run build --workspaces --if-present。

Co-authored-by: Shiroha <Tanya7z@users.noreply.github.com>
@Tanya7z
Tanya7z merged commit e37b600 into main Aug 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants