From 953b376ce33cb0d184225545bb3f7dfc9584a30a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 1 Nov 2025 20:58:32 +0200 Subject: [PATCH] refactor(build-docs): trigger build of share theme internally --- apps/build-docs/src/build-docs.ts | 13 +++++++++++-- apps/build-docs/src/main.ts | 2 +- package.json | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/apps/build-docs/src/build-docs.ts b/apps/build-docs/src/build-docs.ts index 6beeaa852..39a3dd30b 100644 --- a/apps/build-docs/src/build-docs.ts +++ b/apps/build-docs/src/build-docs.ts @@ -8,6 +8,8 @@ import * as fs from "fs/promises"; import * as fsExtra from "fs-extra"; import archiver from "archiver"; import { WriteStream } from "fs"; +import { execSync } from "child_process"; +import BuildContext from "./context.js"; const DOCS_ROOT = "../../../docs"; const OUTPUT_DIR = "../../site"; @@ -107,8 +109,15 @@ export async function extractZip(zipFilePath: string, outputPath: string, ignore }); } -export default async function buildDocs() { - return new Promise((res, rej) => { +export default async function buildDocs({ gitRootDir }: BuildContext) { + // Build the share theme. + execSync(`pnpm run --filter share-theme build`, { + stdio: "inherit", + cwd: gitRootDir + }); + + // Trigger the actual build. + await new Promise((res, rej) => { cls.init(() => { buildDocsInner() .catch(rej) diff --git a/apps/build-docs/src/main.ts b/apps/build-docs/src/main.ts index 21bb50d61..8d4023328 100644 --- a/apps/build-docs/src/main.ts +++ b/apps/build-docs/src/main.ts @@ -15,7 +15,7 @@ async function main() { mkdirSync(context.baseDir); // Start building. - await buildDocs(); + await buildDocs(context); buildSwagger(context); } diff --git a/package.json b/package.json index 69ad523ce..cfda2dc8e 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "chore:generate-openapi": "tsx ./scripts/generate-openapi.ts", "chore:update-build-info": "tsx ./scripts/update-build-info.ts", "chore:update-version": "tsx ./scripts/update-version.ts", - "docs:build": "pnpm run --filter share-theme build && pnpm run --filter build-docs start", + "docs:build": "pnpm run --filter build-docs start", "edit-docs:edit-docs": "pnpm run --filter edit-docs edit-docs", "edit-docs:edit-demo": "pnpm run --filter edit-docs edit-demo", "test:all": "pnpm test:parallel && pnpm test:sequential",