Node.js · Middle · Question 20 of 75
How do you gzip a file with streams?
import { createReadStream, createWriteStream } from "node:fs";
import { createGzip } from "node:zlib";
import { pipeline } from "node:stream/promises";- 1
await createGzip("a.log", "a.log.gz") - 2
createReadStream("a.log").gzip().save("a.log.gz") - ✓Correct answer:
await pipeline(createReadStream("a.log"), createGzip(), createWriteStream("a.log.gz"))
Explanation
createGzip() is a Transform stream. The whole file is never in memory, and pipeline handles errors and cleanup.