diff --git a/apps/desktop/scripts/build.ts b/apps/desktop/scripts/build.ts index 0b76d8b25..2e5f82c50 100644 --- a/apps/desktop/scripts/build.ts +++ b/apps/desktop/scripts/build.ts @@ -1,7 +1,8 @@ +import { writeFileSync } from "fs"; import { join } from "path"; + import BuildHelper from "../../../scripts/build-utils"; import originalPackageJson from "../package.json" with { type: "json" }; -import { writeFileSync } from "fs"; const build = new BuildHelper("apps/desktop"); @@ -18,9 +19,7 @@ async function main() { build.copyNodeModules([ "better-sqlite3", "bindings", "file-uri-to-path", "@electron/remote" ]); build.copy("/node_modules/ckeditor5/dist/ckeditor5-content.css", "ckeditor5-content.css"); - // Integrate the client. - build.triggerBuildAndCopyTo("apps/client", "public/"); - build.deleteFromOutput("public/webpack-stats.json"); + build.buildFrontend(); generatePackageJson(); } diff --git a/apps/server/scripts/build.ts b/apps/server/scripts/build.ts index c315f32b2..9fa1f9cb8 100644 --- a/apps/server/scripts/build.ts +++ b/apps/server/scripts/build.ts @@ -14,12 +14,7 @@ async function main() { build.copyNodeModules([ "better-sqlite3", "bindings", "file-uri-to-path" ]); build.copy("/node_modules/ckeditor5/dist/ckeditor5-content.css", "ckeditor5-content.css"); - // Integrate the client. - build.triggerBuildAndCopyTo("apps/client", "public/"); - build.deleteFromOutput("public/webpack-stats.json"); - - // pdf.js - build.triggerBuildAndCopyTo("packages/pdfjs-viewer", "pdfjs-viewer"); + build.buildFrontend(); } main(); diff --git a/scripts/build-utils.ts b/scripts/build-utils.ts index b3cb33afe..31992bcc7 100644 --- a/scripts/build-utils.ts +++ b/scripts/build-utils.ts @@ -68,6 +68,14 @@ export default class BuildHelper { writeFileSync(join(this.outDir, "meta.json"), JSON.stringify(result.metafile)); } + buildFrontend() { + this.triggerBuildAndCopyTo("apps/client", "public/"); + this.deleteFromOutput("public/webpack-stats.json"); + + // pdf.js + this.triggerBuildAndCopyTo("packages/pdfjs-viewer", "pdfjs-viewer"); + } + triggerBuildAndCopyTo(projectToBuild: string, destPath: string) { const projectDir = join(this.rootDir, projectToBuild); execSync("pnpm build", { cwd: projectDir, stdio: "inherit" });