From 3d5317fe467551205a61c8f5e6dbfe732209760b Mon Sep 17 00:00:00 2001 From: Martin Slota Date: Tue, 28 Nov 2023 17:29:04 +0100 Subject: [PATCH 1/3] Ensure trailing newline is written to files and stdout --- src/cli/utl/io.mjs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/cli/utl/io.mjs b/src/cli/utl/io.mjs index 13bc06c41..c57705111 100644 --- a/src/cli/utl/io.mjs +++ b/src/cli/utl/io.mjs @@ -1,4 +1,5 @@ import { writeFileSync, createReadStream } from "node:fs"; +import { EOL } from "node:os"; const PIPE_BUFFER_SIZE = 512; @@ -35,15 +36,18 @@ function writeToStdOut(pString, pBufferSize = PIPE_BUFFER_SIZE) { const lChunkStart = lIndex * pBufferSize; process.stdout.write( pString.substring(lChunkStart, lChunkStart + pBufferSize), - "utf8" + "utf8", ); } } export function write(pOutputTo, pContent) { + const lContentWithTrailingNewline = pContent.endsWith(EOL) + ? pContent + : pContent + EOL; if ("-" === pOutputTo) { - writeToStdOut(pContent); + writeToStdOut(lContentWithTrailingNewline); } else { - writeToFile(pOutputTo, pContent); + writeToFile(pOutputTo, lContentWithTrailingNewline); } } From e5c53e20d1ca9d25d5f28d39bf4a088d0c1589ae Mon Sep 17 00:00:00 2001 From: Martin Slota Date: Tue, 28 Nov 2023 18:52:06 +0100 Subject: [PATCH 2/3] Fix failing test --- test/cli/__fixtures__/cjs.dir.filtered.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cli/__fixtures__/cjs.dir.filtered.html b/test/cli/__fixtures__/cjs.dir.filtered.html index d3715f5d9..584748692 100644 --- a/test/cli/__fixtures__/cjs.dir.filtered.html +++ b/test/cli/__fixtures__/cjs.dir.filtered.html @@ -267,4 +267,4 @@ - \ No newline at end of file + From b101114bae7b29d32e0c56c4e566de99f3c02c56 Mon Sep 17 00:00:00 2001 From: Martin Slota Date: Tue, 28 Nov 2023 20:12:49 +0100 Subject: [PATCH 3/3] Just use line feed characters --- src/cli/utl/io.mjs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/cli/utl/io.mjs b/src/cli/utl/io.mjs index c57705111..4875e5b51 100644 --- a/src/cli/utl/io.mjs +++ b/src/cli/utl/io.mjs @@ -1,5 +1,4 @@ import { writeFileSync, createReadStream } from "node:fs"; -import { EOL } from "node:os"; const PIPE_BUFFER_SIZE = 512; @@ -41,9 +40,9 @@ function writeToStdOut(pString, pBufferSize = PIPE_BUFFER_SIZE) { } } export function write(pOutputTo, pContent) { - const lContentWithTrailingNewline = pContent.endsWith(EOL) + const lContentWithTrailingNewline = pContent.endsWith("\n") ? pContent - : pContent + EOL; + : `${pContent}\n`; if ("-" === pOutputTo) { writeToStdOut(lContentWithTrailingNewline); } else {