platform/packages/cli/package.json has no test script and no test files, unlike every other TS package in the workspace (sdk, ui-core, vue, microfrontend-bridge all use vitest). The publish-npm.yml workflow runs pnpm -r test before publishing to npm; since cli declares no test script, pnpm silently skips it instead of failing, so the CLI ships to npm without a single test ever running.
Highest-risk untested logic:
- src/utils/replace.ts: recursive directory move/rename for Java package restructuring, token replacement across arbitrary file trees
- src/utils/config.ts: hand-rolled properties parser feeding every version/URL/token used at runtime
Add vitest (matching the rest of the workspace) with unit tests for these two modules at minimum, plus a real test script so CI actually gates on it.
platform/packages/cli/package.json has no test script and no test files, unlike every other TS package in the workspace (sdk, ui-core, vue, microfrontend-bridge all use vitest). The publish-npm.yml workflow runs pnpm -r test before publishing to npm; since cli declares no test script, pnpm silently skips it instead of failing, so the CLI ships to npm without a single test ever running.
Highest-risk untested logic:
Add vitest (matching the rest of the workspace) with unit tests for these two modules at minimum, plus a real test script so CI actually gates on it.