Code Monkey home page Code Monkey logo

node-minizip's Introduction

node-minizip

Build Status Dependency Status npm version

node-minizip is a node.js addon binding Minizip for handling zip files.

Install

npm install node-minizip

Quick Start

var Minizip = require('node-minizip');
Minizip.zip('your/src/dir', 'your/path/name.zip', function(err) {
  if (err)
    console.log(err);
  else
    console.log('zip successfully.');
});

Minizip.unzip('path/to/name.zip', 'dest/dir', function(err) {
  if (err)
    console.log(err);
  else
    console.log('unzip successfully.');
});

APIs

Minizip.zip(src_dir, dest_file, callback)

  • src_dir String
  • dest_file String
  • callback Function(err)

Minizip.unzip(zip_file, unzip_dir, callback)

  • zip_file String
  • unzip_dir String
  • callback Function(err)

License

MIT license. See LICENSE file for details.

node-minizip's People

Contributors

hokein avatar imskull avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

node-minizip's Issues

Any plan to support io.js?

Got lots of errors when I updated nan to 2.0.5 and compiled:

../src/zip_async_worker.h:14:31: error: unknown class name 'NanAsyncWorker'; did you mean 'ZipAsyncWorker'?
class ZipAsyncWorker : public NanAsyncWorker {
                              ^~~~~~~~~~~~~~
                              ZipAsyncWorker
../src/zip_async_worker.h:14:7: note: 'ZipAsyncWorker' declared here
class ZipAsyncWorker : public NanAsyncWorker {
      ^
../src/zip_async_worker.h:14:31: error: base class has incomplete type
class ZipAsyncWorker : public NanAsyncWorker {
                       ~~~~~~~^~~~~~~~~~~~~~
../src/zip_async_worker.h:14:7: note: definition of 'zip::ZipAsyncWorker' is not complete until the closing '}'
class ZipAsyncWorker : public NanAsyncWorker {

Issue installing on debian 8 jessie

Trying to install on debian 8 jessie

uname -a
3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux

when trying to install using npm install node-minizip I get the following error...

...
make: Entering directory '/opt/futurefinance/FF-API/node_modules/node-minizip/build'
  CC(target) Release/obj.target/zlib/deps/zlib/contrib/minizip/ioapi.o
  CC(target) Release/obj.target/zlib/deps/zlib/contrib/minizip/unzip.o
  CC(target) Release/obj.target/zlib/deps/zlib/contrib/minizip/zip.o
  CC(target) Release/obj.target/zlib/deps/zlib/adler32.o
  CC(target) Release/obj.target/zlib/deps/zlib/compress.o
  CC(target) Release/obj.target/zlib/deps/zlib/crc32.o
  CC(target) Release/obj.target/zlib/deps/zlib/deflate.o
  CC(target) Release/obj.target/zlib/deps/zlib/gzclose.o
  CC(target) Release/obj.target/zlib/deps/zlib/gzlib.o
../deps/zlib/gzlib.c: In function ‘gz_open’:
../deps/zlib/gzlib.c:256:9: warning: implicit declaration of function ‘lseek’ [-Wimplicit-function-declaration]
         state->start = LSEEK(state->fd, 0, SEEK_CUR);
         ^
  CC(target) Release/obj.target/zlib/deps/zlib/gzread.o
../deps/zlib/gzread.c: In function ‘gz_load’:
../deps/zlib/gzread.c:30:9: warning: implicit declaration of function ‘read’ [-Wimplicit-function-declaration]
         ret = read(state->fd, buf + *have, len - *have);
         ^
../deps/zlib/gzread.c: In function ‘gzclose_r’:
../deps/zlib/gzread.c:591:5: warning: implicit declaration of function ‘close’ [-Wimplicit-function-declaration]
     ret = close(state->fd);
     ^
  CC(target) Release/obj.target/zlib/deps/zlib/gzwrite.o
../deps/zlib/gzwrite.c: In function ‘gz_comp’:
../deps/zlib/gzwrite.c:84:9: warning: implicit declaration of function ‘write’ [-Wimplicit-function-declaration]
         got = write(state->fd, strm->next_in, strm->avail_in);
         ^
../deps/zlib/gzwrite.c: In function ‘gzclose_w’:
../deps/zlib/gzwrite.c:573:5: warning: implicit declaration of function ‘close’ [-Wimplicit-function-declaration]
     if (close(state->fd) == -1)
     ^
  CC(target) Release/obj.target/zlib/deps/zlib/infback.o
  CC(target) Release/obj.target/zlib/deps/zlib/inffast.o
  CC(target) Release/obj.target/zlib/deps/zlib/inflate.o
  CC(target) Release/obj.target/zlib/deps/zlib/inftrees.o
  CC(target) Release/obj.target/zlib/deps/zlib/trees.o
  CC(target) Release/obj.target/zlib/deps/zlib/uncompr.o
  CC(target) Release/obj.target/zlib/deps/zlib/zutil.o
  AR(target) Release/obj.target/deps/zlib/chrome_zlib.a
  COPY Release/chrome_zlib.a
  CXX(target) Release/obj.target/node-minizip/src/zip.o
  CXX(target) Release/obj.target/node-minizip/src/zip_api.o
  CXX(target) Release/obj.target/node-minizip/src/zip_api.o
In file included from ../src/zip_api.cc:5:0:
../../nan/nan.h:602:20: error: variable or field ‘AddGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback
                    ^
../../nan/nan.h:602:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCEpilogueCallback callback
       ^
../../nan/nan.h:603:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^
../../nan/nan.h:608:20: error: variable or field ‘RemoveGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback) {
                    ^
../../nan/nan.h:608:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCEpilogueCallback callback) {
       ^
../../nan/nan.h:613:20: error: variable or field ‘AddGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback
                    ^
../../nan/nan.h:613:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCPrologueCallback callback
       ^
../../nan/nan.h:614:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^
../../nan/nan.h:619:20: error: variable or field ‘RemoveGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback) {
                    ^
../../nan/nan.h:619:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
       v8::Isolate::GCPrologueCallback callback) {
       ^
node-minizip.target.mk:104: recipe for target 'Release/obj.target/node-minizip/src/zip_api.o' failed

OSX install issue with node 12

Trying to install simply with npm install -g

I get

expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/zip_api.cc:53:69: error: too few arguments to function call, single
      argument 'context' was not specified
                 Nan::New<v8::FunctionTemplate>(Unzip)->GetFunction());
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^

Using node 12

Error: Fail to add folderName to zip.

I'm using https://github.com/rherwig/template-react-ssr.git as a random folder to zip. Every other folder I tried succeeded except this folder. I have tried zipping with other software and it was successful. However, node-minizip failed to zip this folder.

I'm zipping from the current folder using . as the path. zipFileName is just a random file name.

  Minizip.zip('.', zipFileName, function(err) {
    if (err) {
      console.log(err);
    }
  });

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.