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 }