refactor(build-docs): trigger build of share theme internally

This commit is contained in:
Elian Doran
2025-11-01 20:58:32 +02:00
parent 80f1707d8b
commit 953b376ce3
3 changed files with 13 additions and 4 deletions

View File

@@ -8,6 +8,8 @@ import * as fs from "fs/promises";
import * as fsExtra from "fs-extra"; import * as fsExtra from "fs-extra";
import archiver from "archiver"; import archiver from "archiver";
import { WriteStream } from "fs"; import { WriteStream } from "fs";
import { execSync } from "child_process";
import BuildContext from "./context.js";
const DOCS_ROOT = "../../../docs"; const DOCS_ROOT = "../../../docs";
const OUTPUT_DIR = "../../site"; const OUTPUT_DIR = "../../site";
@@ -107,8 +109,15 @@ export async function extractZip(zipFilePath: string, outputPath: string, ignore
}); });
} }
export default async function buildDocs() { export default async function buildDocs({ gitRootDir }: BuildContext) {
return new Promise((res, rej) => { // 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(() => { cls.init(() => {
buildDocsInner() buildDocsInner()
.catch(rej) .catch(rej)

View File

@@ -15,7 +15,7 @@ async function main() {
mkdirSync(context.baseDir); mkdirSync(context.baseDir);
// Start building. // Start building.
await buildDocs(); await buildDocs(context);
buildSwagger(context); buildSwagger(context);
} }

View File

@@ -26,7 +26,7 @@
"chore:generate-openapi": "tsx ./scripts/generate-openapi.ts", "chore:generate-openapi": "tsx ./scripts/generate-openapi.ts",
"chore:update-build-info": "tsx ./scripts/update-build-info.ts", "chore:update-build-info": "tsx ./scripts/update-build-info.ts",
"chore:update-version": "tsx ./scripts/update-version.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-docs": "pnpm run --filter edit-docs edit-docs",
"edit-docs:edit-demo": "pnpm run --filter edit-docs edit-demo", "edit-docs:edit-demo": "pnpm run --filter edit-docs edit-demo",
"test:all": "pnpm test:parallel && pnpm test:sequential", "test:all": "pnpm test:parallel && pnpm test:sequential",