From e80af521708c388f530807e79be9c27d80a52792 Mon Sep 17 00:00:00 2001 From: SukkaW Date: Mon, 22 Dec 2025 11:55:10 +0800 Subject: [PATCH] Chore: close fs write stream properly --- Build/lib/create-file.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Build/lib/create-file.ts b/Build/lib/create-file.ts index 84edd799..c85eed67 100644 --- a/Build/lib/create-file.ts +++ b/Build/lib/create-file.ts @@ -6,6 +6,7 @@ import type { Span } from '../trace'; import { readFileByLine } from './fetch-text-by-line'; import { writeFile } from './misc'; import { createCompareSource, fileEqualWithCommentComparator } from 'foxts/compare-source'; +import { promisify } from 'node:util'; export const fileEqual = createCompareSource(fileEqualWithCommentComparator); @@ -31,7 +32,7 @@ export async function compareAndWriteFile(span: Span, linesA: string[], filePath // So we make sure direct write to file if the content is // most likely less than 250 lines if (linesALen < 250) { - return writeFile(filePath, fastStringArrayJoin(linesA, '\n') + '\n'); + return writeFile(filePath, fastStringArrayJoin(linesA, '\n')); } const writeStream = fs.createWriteStream(filePath); @@ -40,8 +41,7 @@ export async function compareAndWriteFile(span: Span, linesA: string[], filePath // eslint-disable-next-line no-await-in-loop -- stream high water mark if (p) await p; } - - writeStream.end(); - writeStream.close(); + await promisify(writeStream.end.bind(writeStream))(); + await promisify(writeStream.close.bind(writeStream))(); }); }