Documentation Index
Fetch the complete documentation index at: https://mintlify.com/nodejs/userland-migrations/llms.txt
Use this file to discover all available pages before exploring further.
This codemod replaces zlib.bytesRead with zlib.bytesWritten for consistent stream property naming to handle Node.js DEP0108.
What It Does
This codemod:
- Replaces
bytesRead property with bytesWritten in all zlib transform streams
- Handles both CommonJS and ESM imports
- Works with all zlib stream types (Gzip, Deflate, Inflate, etc.)
Before/After Examples
Basic Usage with Gzip
Before:
const zlib = require("node:zlib");
const gzip = zlib.createGzip();
gzip.on("end", () => {
console.log("Bytes processed:", gzip.bytesRead);
});
After:
const zlib = require("node:zlib");
const gzip = zlib.createGzip();
gzip.on("end", () => {
console.log("Bytes processed:", gzip.bytesWritten);
});
Statistics Object
Before:
const zlib = require("node:zlib");
const deflate = zlib.createDeflate();
deflate.on("finish", () => {
const stats = {
input: deflate.bytesRead,
output: deflate.bytesWritten
};
});
After:
const zlib = require("node:zlib");
const deflate = zlib.createDeflate();
deflate.on("finish", () => {
const stats = {
input: deflate.bytesWritten,
output: deflate.bytesWritten
};
});
Progress Tracking
Before:
const zlib = require("node:zlib");
function trackProgress(stream) {
setInterval(() => {
console.log(`Progress: ${stream.bytesRead} bytes`);
}, 1000);
}
After:
const zlib = require("node:zlib");
function trackProgress(stream) {
setInterval(() => {
console.log(`Progress: ${stream.bytesWritten} bytes`);
}, 1000);
}
ESM Import
Before:
import { createGzip } from "node:zlib";
const gzip = createGzip();
const bytesProcessed = gzip.bytesRead;
After:
import { createGzip } from "node:zlib";
const gzip = createGzip();
const bytesProcessed = gzip.bytesWritten;
Destructured Require
Before:
const { createGzip } = require("node:zlib");
const gzip = createGzip();
const bytes = gzip.bytesRead;
After:
const { createGzip } = require("node:zlib");
const gzip = createGzip();
const bytes = gzip.bytesWritten;
Usage
Run this codemod on your project:
npx codemod node/userland/zlib-bytesread-to-byteswritten
The property name change from bytesRead to bytesWritten may seem counterintuitive, but it aligns with the stream’s perspective: bytes written to the compression/decompression stream.
This codemod works with all zlib compression streams including createGzip(), createGunzip(), createDeflate(), createInflate(), createDeflateRaw(), createInflateRaw(), createUnzip(), and createBrotliCompress()/createBrotliDecompress().