open-index/open-npm huggingface dataset:
npm package: 7z-bin
Description: 7-Zip full feature precompiled binaries
Latest version: 0.0.8

# 7z-bin ![NPM Version](https://img.shields.io/npm/v/7z-bin?link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F7z-bin)

7z-bin contains full featured 7-Zip precompiled binaries, which means `7z.exe` and `7zz`.

As this package will contain `7z.exe`, `7z.dll` and `7zz`, it means its size is larger than any other packages containing `7za`, please refer to the [Defferences](#differences-between-7zz-and-7za) section below before using, to consider to choose this package or other packages like [`7zip-bin`](https://github.com/develar/7zip-bin) within smaller size `7za` binaries.

## Environment Variables

- `USE_SYSTEM_7Z`: set to use `7z` from current system instead of the binaries in this packages.
- `SZ_COMPRESSION_LEVEL`: set the compression level for 7z archive. The default value is `9`.

## Package Version

| `7z-bin` package version | `7-Zip` binaries veriosn |
| :----------------------- | :----------------------- |
| 7z-bin@0.0.8            | 7-Zip@24.09 (2024-11-29) |
| 7z-bin@0.0.3             | 7-Zip@24.08 (2024-08-11) |
| 7z-bin@0.0.2             | 7-Zip@24.05 (2024-05-14) |

The changelogs of `7-Zip`, please refer to [7-Zip ChangeLog / History](https://www.7-zip.org/history.txt) and also [7-Zip](https://www.7-zip.org/) website.

## Differences between `7zz` and `7za`

These information are based on [7-Zip](https://www.7-zip.org/) website and `readme.txt` file in `7-Zip` distribution files.

### `7z.exe` / `7zz`

`7z.exe` (with `7z.dll` 7-Zip engine module) and `7zz` are the command line version of 7-Zip, having full features of 7-Zip.

Supported formats:

- Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM.
- Unpacking only: APFS, AR, ARJ, Base64, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VHDX, VMDK, XAR, Z and ZSTD.

### `7za.exe` / `7za`

`7za.exe` and `7za` (a = alone) are standalone version of 7-Zip, supporting only 7z, xz, lzma, cab, zip, gzip, bzip2 and tar formats, and it doesn't use external modules.

Supported formats:

- Packing / unpacking: 7z, xz, ZIP, GZIP, BZIP2 and TAR
- Unpacking only: lzma, CAB, ZSTD.

## License

This repository is licensed under the [MIT License](LICENSE).

This repository was forked from [7zip-bin](https://github.com/develar/7zip-bin), licensed under the [MIT License](https://github.com/develar/7zip-bin/blob/master/LICENSE.txt).

This repository contains 7-Zip binaries from [7-Zip](https://www.7-zip.org/), licensed under [7-Zip License for use and distribution](https://www.7-zip.org/license.txt)
npm package: 7zip-min-electron
Description: Standalone cross-platform zip/unzip with 7za
Author: xianyunleo
Latest version: 1.4.4

7zip-min-electron
========

Minimal cross-platform pack/unpack (and any command) with **7-zip** for Electron.   
It does not require **7zip** to be installed in your system. 
This package includes standalone **7za** version of **7-Zip** (uses precompiled binaries from [7zip-bin](https://github.com/develar/7zip-bin) package).


Supporting archive formats
--------------------------

According to [Command Line Version User's Guide](https://sevenzip.osdn.jp/chm/cmdline/index.htm) page, 7za supports only **7z**, **lzma**, **cab**, **zip**, **gzip**, **bzip2**, **Z** and **tar** formats. 


Supporting platforms
--------------------

- win (32/64)
- mac
  - arm64 (Apple Silicon)
  - x64 
- linux
  - arm
  - arm64
  - ia32
  - x64

To get more details check [7zip-bin](https://github.com/develar/7zip-bin) package repo. 


Usage
-----

You may use `pack` and `unpack` methods for simple packing/unpacking. 

You can also use `list` to get an array with the file content properties (includes date, time, attr, size, compressed and name)

Or use `cmd` to run 7za with custom parameters (see [Command Line Version User's Guide](https://sevenzip.osdn.jp/chm/cmdline/index.htm))

```js
const _7z = require('7zip-min-electron');

// unpack
_7z.unpack('path/to/archive.7z', 'where/to/unpack', err => {
    // done
});

// unpack into the current directory (process.cwd()) if no output directory specified
_7z.unpack('path/to/archive.7z', err => {
    // done
});

// pack
_7z.pack('path/to/dir/or/file', 'path/to/archive.7z', err => {
    // done
});

// list
_7z.list('path/to/archive.7z', (err, result) => {
    // in result you will have an array with info list for your archive
    // for each element in archive you will have:
    // name, date, time, attr, size (in bytes), compressed (compressed size in bytes), crc, method, encrtypted, block
    // depeneds on archive type some values may be empty or missed
});

// cmd
// in the first parameter you have to provide array of parameters
// check 7z's Command Line Version User's Guide - https://sevenzip.osdn.jp/chm/cmdline/index.htm
// the bellow command is equal to `7za a path/to/archive.7z path/to/dir/or/file` and will add `path/to/dir/or/file` to `path/to/archive.7z` archive
_7z.cmd(['a', 'path/to/archive.7z', 'path/to/dir/or/file'], err => {
    // done
});
```

Test
----

`npm test`
npm package: 7zip-standalone
Description: Usage:
Author: Denis Kudelin
Latest version: 0.0.3

Usage:

```
var sevenZip = require("7zip-standalone");

// For now, it supports only 2 methods.
sevenZip.add("D:/node/archive.7z", "D:/node/node-7zip-standalone/src/**/*");
sevenZip.extract("D:/node/archive.7z", "D:/node/archive/");
```

Tested on windows, linux and mac.