Skip to content

Pack directory with native command line tools (ZIP, DMG, Node.js, cross-platform).

License

Notifications You must be signed in to change notification settings

annexare/PackDir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PackDir

NPM Travis CI AppVeyor CI

Pack specified directory with native current OS command line tools.

Main purpose for this lib was to pack the Electron app.
So, by default, if specified path has a darwin in it's name, the directory will be packed as DMG under OS X.

Usage

Get the package via NPM: npm install pack-dir.

const Pack = require('pack-dir');

// Set custom DMG RegEx, default is `/darwin/`.
Pack.param('dmg', /osx/);

// Pack the directory
let zipPath = Pack.path('some/test/dir');
// Extract to directory
let extractedPath = Pack.extract(zipPath, 'some/destination');

// Async example
Pack.param('isSync', false);
let zipPath = Pack.path('some/test/dir', (error, stdout, stderr) => {
  // ...
});

Parameters

  • dmg boolean|RegEx, check to pack into DMG instead of ZIP.
  • dmgFormat string, the hdiutil -format parameter value (docs).
  • isSilent boolean, false, will write only Errors to console.
  • isSync boolean, true, synchronous packaging.
  • skipDirName boolean, true, don't create extra directory inside ZIP archive.
  • zipOutputMaxBuffer int, 1024 * 200.

Credits

Created by Annexare Studio. Feel free to use it as you need in your apps or send updates into this public repository. All code is under MIT license.

7-Zip

For Windows host 7-Zip standalone console app is used (~1MB, doesn't require installation). All license files are included with it, with respect to the author (Igor Pavlov).