From 388577c6daef7dc8ebb0f7eed8a3d8c0a10d559a Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 30 Jul 2026 03:37:22 +0530 Subject: [PATCH] refactor(build): write sitemap through stream pipeline pipeline() replaces the manual finish/error promise and also surfaces SitemapStream errors, which pipe() never forwarded to the write stream. Co-Authored-By: Claude Fable 5 --- src/node/build/generateSitemap.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/node/build/generateSitemap.ts b/src/node/build/generateSitemap.ts index 9be902de..79b9c0fe 100644 --- a/src/node/build/generateSitemap.ts +++ b/src/node/build/generateSitemap.ts @@ -1,5 +1,6 @@ import fs from 'node:fs' import path from 'node:path' +import { pipeline } from 'node:stream/promises' import { SitemapStream, type EnumChangefreq, @@ -66,14 +67,10 @@ export async function generateSitemap( const sitemapPath = path.join(siteConfig.outDir, 'sitemap.xml') const sitemapStream = new SitemapStream(siteConfig.sitemap) - const writeStream = fs.createWriteStream(sitemapPath) - sitemapStream.pipe(writeStream) items.forEach((item) => sitemapStream.write(item)) sitemapStream.end() - await new Promise((resolve, reject) => - writeStream.on('finish', resolve).on('error', reject) - ) + await pipeline(sitemapStream, fs.createWriteStream(sitemapPath)) }) }