'Why do I get an empty gzip?

I get an empty gzip (it creates just the .gz file, but it's empty and I get an error trying to open it with 7zip), all the files exist and are not empty:

    var zlib = require('zlib');
var gzip = zlib.createGzip();
var fs = require('fs');

var JSinp = fs.createReadStream('public/javascripts/final/end_0.0.0.min.js');
var JSout = fs.createWriteStream('public/javascripts/final/end_0.0.0.min.js.gz');
JSinp.pipe(gzip).pipe(JSout);

So, I don't know why.

JSinp looks like (debug):

    result = ReadStream
 autoClose = true
 domain = null
 end = undefined
 fd = null
 flags = "r"
 mode = 438
 path = "public/javascripts/final/end_0.0.0.min.js"
 pos = undefined
 readable = true
 start = undefined
 _events = Object
 _maxListeners = undefined
 _readableState = ReadableState
  awaitDrain = 0
  buffer = Array[0]
  decoder = null
  defaultEncoding = "utf8"
  emittedReadable = false
  encoding = null
  endEmitted = false
  ended = false
  flowing = null
  highWaterMark = 65536
  length = 0
  needReadable = false
  objectMode = false
  pipes = null
  pipesCount = 0
  ranOut = false
  readableListening = false
  reading = false
  readingMore = false
  sync = true
  __proto__ = ReadableState
 __proto__ = ReadStream

JSout looks like (debug):

    result = WriteStream
 bytesWritten = 0
 domain = null
 fd = null
 flags = "w"
 mode = 438
 path = "public/javascripts/final/end_0.0.0.min.js.gz"
 pos = undefined
 start = undefined
 writable = true
 _events = Object
 _maxListeners = undefined
 _writableState = WritableState
  bufferProcessing = false
  bufferedRequest = null
  corked = 0
  decodeStrings = true
  defaultEncoding = "utf8"
  ended = false
  ending = false
  errorEmitted = false
  finished = false
  highWaterMark = 16384
  lastBufferedRequest = null
  length = 0
  needDrain = false
  objectMode = false
  onwrite = function (er) {
  pendingcb = 0
  prefinished = false
  sync = true
  writecb = null
  writelen = 0
  writing = false
  __proto__ = WritableState
 __proto__ = WriteStream

Calling JSinp.pipe(gzip).pipe(JSout); (debugger):

    result = WriteStream
 bytesWritten = 0
 domain = null
 fd = null
 flags = "w"
 mode = 438
 path = "public/javascripts/final/end_0.0.0.min.js.gz"
 pos = undefined
 start = undefined
 writable = true
 _events = Object
 _maxListeners = undefined
 _writableState = WritableState
  bufferProcessing = false
  bufferedRequest = null
  corked = 0
  decodeStrings = true
  defaultEncoding = "utf8"
  ended = false
  ending = false
  errorEmitted = false
  finished = false
  highWaterMark = 16384
  lastBufferedRequest = null
  length = 0
  needDrain = false
  objectMode = false
  onwrite = function (er) {
  pendingcb = 0
  prefinished = false
  sync = true
  writecb = null
  writelen = 0
  writing = false
  __proto__ = WritableState
 __proto__ = WriteStream


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source