22 ноября 2011 года JiLiZART всем нам сообщил, что есть на свете полезная библиотека JSZip с открытым исходным кодом, написанная на джаваскрипте и умеющая создавать zip-архивы (и даже, если это необходимо — с подкаталогами) из скормленных ей текстовых и двоичных данных.
Первым же комментарием к его сообщению стали мои слова:
— Прекрасно.
— Теперь ему бы ещё распаковывать уметь.
Прошло полгода с тех пор, и можно видеть, что это естественное пожелание сбылось: очевидно, оно пришло на ум не одному мне, так что программисты принялись за дело — и в открытый на Гитхабе исходный код JSZip добавили методы, способные служить и распаковке zip-архивов, а не только составлению их. (Подробности употребления новинок API смотрите в документации.)
В открытом коде всегда приятно видеть, как другие люди действуют в направлении твоих мыслей.
Поклонникам же джаваскриптового движка Node.js будет наверняка не менее приятно узнать о появлении модуля node-zip, содержащего весь код JSZip, оформленный в качестве модуля Node. Стало быть, теперь JSZip можно запускать не только во браузере, но и на сервере, а равно и у себя на компьютере.
Обёртка вокруг JSZip целиком содержится в коде скрипта nodeZip.js и может послужить превосходным примером употребления модуля vm, служащего для обращения к виртуальной машине V8 в недрах Node.
Автор: Mithgol