@capawesome-team/capacitor-zip¶
Capacitor plugin to zip and unzip files.
Features¶
We are proud to offer one of the most complete and feature-rich Capacitor plugins for zipping and unzipping files. Here are some of the key features:
- 🖥️ Cross-platform: Supports Android and iOS.
- 📁 File Compression: Zip and unzip single or multiple files.
- 🔑 Encryption: Encrypt and decrypt files.
- 📦 SPM: Supports Swift Package Manager for iOS.
- 🔁 Up-to-date: Always supports the latest Capacitor version.
- ⭐️ Support: Priority support from the Capawesome Team.
Missing a feature? Just open an issue and we'll add it for you!
Compatibility¶
Plugin Version | Capacitor Version | Status |
---|---|---|
7.x.x | >=7.x.x | Active support |
6.x.x | 6.x.x | Deprecated |
Demo¶
A working example can be found here.
Installation¶
This plugin is only available to Capawesome Insiders. First, make sure you have the Capawesome npm registry set up. You can do this by running the following commands:
npm config set @capawesome-team:registry https://npm.registry.capawesome.io
npm config set //npm.registry.capawesome.io/:_authToken <YOUR_LICENSE_KEY>
Attention: Replace <YOUR_LICENSE_KEY>
with the license key you received from Polar. If you don't have a license key yet, you can get one by becoming a Capawesome Insider.
Next, install the package:
Android¶
Proguard¶
If you are using Proguard, you need to add the following rules to your proguard-rules.pro
file:
Variables¶
This plugin will use the following project variables (defined in your app’s variables.gradle
file):
$zip4jVersion
version ofnet.lingala.zip4j:zip4j
(default:2.11.5
)
Configuration¶
No configuration required for this plugin.
Usage¶
import { Zip } from '@capawesome-team/capacitor-zip';
const unzip = async () => {
await Zip.unzip({
source: 'file:///data/user/0/dev.robingenz.capacitor.plugindemo/cache/1714900095398.zip',
destination: 'file:///data/user/0/dev.robingenz.capacitor.plugindemo/cache/1714900095398',
password: 'secret',
});
};
const zip = async () => {
await Zip.zip({
source: 'file:///data/user/0/dev.robingenz.capacitor.plugindemo/cache/1714900095398',
destination: 'file:///data/user/0/dev.robingenz.capacitor.plugindemo/cache/1714900095398.zip',
password: 'secret',
});
};
API¶
unzip(...)¶
Unzip a file.
Only available on Android and iOS.
Param | Type |
---|---|
options |
UnzipOptions |
Since: 6.0.0
zip(...)¶
Zip a file or directory.
Only available on Android and iOS.
Param | Type |
---|---|
options |
ZipOptions |
Since: 6.0.0
Interfaces¶
UnzipOptions¶
Prop | Type | Description | Since |
---|---|---|---|
destination |
string |
The destination directory. | 6.0.0 |
password |
string |
The password to decrypt the zip file. | 6.1.0 |
source |
string |
The source file to unzip. | 6.0.0 |
ZipOptions¶
Prop | Type | Description | Since |
---|---|---|---|
destination |
string |
The destination file. | 6.0.0 |
password |
string |
The password to encrypt the zip file. | 6.1.0 |
source |
string |
The source file or directory to zip. | 6.0.0 |
Changelog¶
See CHANGELOG.md.
Breaking Changes¶
See BREAKING.md.
License¶
See LICENSE.