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))(); }); }