logs.js 607 B

123456789101112131415161718192021
  1. const stdouts = [];
  2. export default (maxLength = 200) => {
  3. const oldWrite = process.stdout.write.bind(process.stdout);
  4. module.exports.disable = () => {
  5. module.exports.isModified = false;
  6. return process.stdout.write = oldWrite;
  7. };
  8. process.stdout.write = (chunk, encoding, callback) => {
  9. stdouts.push(Buffer.from(chunk, encoding));
  10. oldWrite(chunk, encoding, callback);
  11. if (stdouts.length > maxLength) stdouts.shift();
  12. };
  13. module.exports.isModified = true;
  14. return module.exports;
  15. };
  16. export const isModified = false;
  17. export function logs() {
  18. return Buffer.concat(stdouts);
  19. }