let stdouts = [] module.exports = (maxLength = 200) => { let oldWrite = process.stdout.write.bind(process.stdout) module.exports.disable = () => { module.exports.isModified = false return process.stdout.write = oldWrite } process.stdout.write = (chunk, encoding, callback) => { stdouts.push(Buffer.from(chunk, encoding)) oldWrite(chunk, encoding, callback) if (stdouts.length > maxLength) stdouts.shift() } module.exports.isModified = true return module.exports } module.exports.isModified = false module.exports.logs = () => Buffer.concat(stdouts)