Подтвердить что ты не робот

Yeoman - Как извлечь zipped файлы в генератор?

Я хочу создать генератор Yeoman, который должен распаковать файл.

Из документации , похоже, этот процесс выполняется с помощью this.registerTransformStream(...). В нем говорится, что он принимает любой плагин gulp, поэтому я попробовал gulp-unzip (ссылка)

Здесь мой код:

// index.js
...
writing: function() {
  var source = this.templatePath('zip'); // the folder where the zipped file is
  var destination = this.destinationRoot();

  this.fs.copy(source, destination);
  this.registerTransformStream(unzip() );
}
...

Результат кажется многообещающим, сначала он показывает весь список файлов, затем я получаю ошибку Error: write after end.

Здесь дамп:

   create license.txt
   create readme.html
   create config.php
   ...
   ...
events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: write after end
    at writeAfterEnd (C:\Users\myname\Documents\project\generator-test\node_modules\gulp-unzip\node_modules\readable-stream\lib\_stream_writable.js:144:12)
    at Transform.Writable.write (C:\Users\myname\Documents\project\generator-test\node_modules\gulp-unzip\node_modules\readable-stream\lib\_stream_writable.js:192:5)
    at DestroyableTransform.ondata (C:\Users\myname\Documents\project\generator-test\node_modules\through2\node_modules\readable-stream\lib\_stream_readable.js:531:20)
    at emitOne (events.js:77:13)
    at DestroyableTransform.emit (events.js:169:7)
    at readableAddChunk (C:\Users\myname\Documents\project\generator-test\node_modules\through2\node_modules\readable-stream\lib\_stream_readable.js:198:18)
    at DestroyableTransform.Readable.push (C:\Users\myname\Documents\project\generator-test\node_modules\through2\node_modules\readable-stream\lib\_stream_readable.js:157:10)
    at DestroyableTransform.Transform.push (C:\Users\myname\Documents\project\generator-test\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:123:32)
    at DestroyableTransform._transform (C:\Users\myname\Documents\project\generator-test\node_modules\mem-fs-editor\lib\actions\commit.js:34:12)
    at DestroyableTransform.Transform._read (C:\Users\myname\Documents\project\generator-test\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:159:10)

После этого папка назначения пуста. Кажется, поток пытается записать распакованный файл, но не удалось.

Кто-нибудь решил эту проблему раньше? Или существует альтернативный способ , просто используя встроенный fs?

Спасибо большое

4b9b3361