test(cli): assert build-script docs and CLI-first default build

Adds guards so README and CONTRIBUTING stay in sync with the actual
default `pnpm build` (excluding desktop/mobile) and the explicit
opt-in scripts for full / desktop / mobile builds.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-05-03 02:02:31 -07:00
parent 43a9cad3b9
commit 63e16143c4
2 changed files with 26 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ describe("CI workflow (.github/workflows/ci.yml)", () => {
let content: string;
let ciSteps: any[];
let contributingContent: string;
let readmeContent: string;
let cliPackageJsonContent: string;
let extensionSuiteContent: string;
let agentExportSuiteContent: string;
@@ -35,6 +36,7 @@ describe("CI workflow (.github/workflows/ci.yml)", () => {
content = result.content;
ciSteps = workflow.jobs?.ci?.steps ?? [];
contributingContent = readFileSync(join(workspaceRoot, "docs", "contributing.md"), "utf-8");
readmeContent = readFileSync(join(workspaceRoot, "README.md"), "utf-8");
cliPackageJsonContent = readFileSync(join(workspaceRoot, "packages", "cli", "package.json"), "utf-8");
extensionSuiteContent = readFileSync(
join(workspaceRoot, "packages", "cli", "src", "__tests__", "extension.test.ts"),
@@ -112,6 +114,14 @@ describe("CI workflow (.github/workflows/ci.yml)", () => {
expect(contributingContent).toContain("test:extension-integration");
});
it("keeps docs aligned with default and explicit build commands", () => {
expect(readmeContent).toContain("pnpm build # Build default workspace packages (excludes desktop/mobile)");
expect(readmeContent).toContain("pnpm build:all # Build all packages (including desktop/mobile)");
expect(contributingContent).toContain("pnpm build # default build (excludes desktop/mobile)");
expect(contributingContent).toContain("pnpm build:all # full recursive build including desktop/mobile");
});
it("includes binary build step", () => {
expect(content).toContain("build:exe");
});