From 8891b2609e124ffb6d850c92a005cff37207dceb Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Tue, 26 Dec 2023 14:47:49 +0530 Subject: [PATCH] make build concurrency configurable --- src/node/build/build.ts | 2 +- src/node/config.ts | 3 ++- src/node/siteConfig.ts | 10 ++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/node/build/build.ts b/src/node/build/build.ts index da9b6593..1634b358 100644 --- a/src/node/build/build.ts +++ b/src/node/build/build.ts @@ -123,7 +123,7 @@ export async function build( additionalHeadTags ) }, - { concurrency: 64 } + { concurrency: siteConfig.buildConcurrency } ) }) diff --git a/src/node/config.ts b/src/node/config.ts index a67a7f2e..ee0e2e94 100644 --- a/src/node/config.ts +++ b/src/node/config.ts @@ -141,7 +141,8 @@ export async function resolveConfig( transformPageData: userConfig.transformPageData, rewrites, userConfig, - sitemap: userConfig.sitemap + sitemap: userConfig.sitemap, + buildConcurrency: userConfig.buildConcurrency ?? 64 } // to be shared with content loaders diff --git a/src/node/siteConfig.ts b/src/node/siteConfig.ts index 56c0592c..74174280 100644 --- a/src/node/siteConfig.ts +++ b/src/node/siteConfig.ts @@ -147,6 +147,15 @@ export interface UserConfig */ useWebFonts?: boolean + /** + * This option allows you to configure the concurrency of the build. + * A lower number will reduce the memory usage but will increase the build time. + * + * @experimental + * @default 64 + */ + buildConcurrency?: number + /** * @experimental * @@ -240,4 +249,5 @@ export interface SiteConfig } logger: Logger userConfig: UserConfig + buildConcurrency: number }