Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-unar

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-unar

ESM front-end to unar and lsar a command line tool. The universal un-archiver/unpacker to a lot of formats: .zip, zipx, rar, 7z, tar, gzip, bzip2, lzma, cab, msi, cpio, xar, exe, etc...

  • 1.0.8
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

node-unar

NPM

Dependencies Status Node.js CI codecov MaintainabilityRelease

ESM front-end to unar and lsar a command line tool. The universal un-archiver/unpacker to a lot of formats: .zip, zipx, rar, 7z, tar, gzip, bzip2, lzma, cab, msi, cpio, xar, exe, etc....

The necessary cli tool lsar and unar, will be downloaded to package directory at install time, for Windows amd macOS. If your host is Linux, node-sys will be used to install unar onto your system.

Usage

//ESM Node JS v12+
import { list, unpack } from 'node-unar';

// list only:
list(archiveFile, options)
  .then((fileListArray) => {
  })
  .catch((anyError) => {
  });;

// unpack:
unpack(archiveFile, options | outputDirectory)
  .progress((eachFle) => {
  })
  .then((results) => {
    let type = results.type;
    let fileList = results.files;
    let outputDirectory = results.directory;
  })
  .catch((anyError) => {
  });

// unpack: only requested files/directories
unpack(archiveFile, outputDirectory, file | [files], options)
  .progress((eachFle) => {
  })
  .then((results) => {
    let type = results.type;
    let fileList = results.files;
    let outputDirectory = results.directory;
  })
  .catch((anyError) => {
  });

Examples

Example: unpack file
//ESM Node JS v12+
import  { unpack } from 'node-unar';

unpack('test/abc.rar', 'out')
  .progress((files) => {
    console.log('files', files);
  })
  .then((results) => {
    console.log('Archive type: ', results.type);
    console.log('Archive files', results.files);
    console.log('Archive output directory', results.directory);
  })
  .catch((err) => {
    console.error(err);
  });
});
Example: list content
//ESM Node JS v12+
import { list } from 'node-unar';

list('test/abc.rar')
  .then((files) => {
    console.log('files', files);
  })
  .catch((err) => {
    console.error(err);
  });

Options

KeyPossible valuesComment
quiettrue/false (default)true will reduce logging for unpacking
targetDir<String>The directory to write the contents of the archive to. Defaults to the current directory.
files<String>Only unpack this list of files or directories.
forceOverwritetrue/false (default)if null, tmp dir will created automatically
forceDirectorytrue/false/undefinedAlways create a containing directory for the contents of the unpacked archive. By default, a directory is created if there is more than one top-level file or folder.
noDirectorytrue/false/undefinedNever create a containing directory for the contents of the unpacked archive.
noRecursiontrue/false/undefinedDo not attempt to extract archives contained in other archives. For instance, when unpacking a .tar.gz file, only unpack the .gz file and not its contents.
copyTimetrue/false/undefinedCopy the file modification time from the archive file to the containing directory, if one is created.
password<String>The password to use for decrypting protected archives.
passwordEncoding<String>The encoding to use for the password for the archive, when it is not known. If not specified, then either the encoding given by the -encoding option or the auto-detected encoding is used.
encoding<String>The encoding to use for filenames in the archive, when it is not known. If not specified, the program attempts to auto-detect the encoding used. Use "help" or "list" as the argument to give

Keywords

FAQs

Package last updated on 12 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc