zip2
TypeScript icon, indicating that this package has built-in type declarations

0.0.4 • Public • Published

Welcome to zip2 👋

Version License: MIT

jszip based library that works on both node.js, browser and other cross platform.

Good compatibility with CapacitorJS via plugin capacitor-fs

Installation

yarn add zip2

Usage

Zip2.zip(options)

import fs from "fs"
import { zip } from "zip2"

await zip({
   fs,
   path: "folder-zip",
   filepaths: ["."],
   filter: (filepath: string) => filepath.startsWith("dist/") === false,
   onProgress: (event) => console.log(event),
   return: "folder-zip.zip"
})

console.log("Zipped done")

Options object:

Param Type [= default] Description
fs LikeFs An object that has the same functions as the fs module. Example capacitor-fs
path string The parent folder contains files and subfolders that need zip compression.
filepaths string[] = ["."] The files and folders that need zip compression will be listed here. If you want to select all use ["."], if you want to unzip a certain file or folder use ["!.git/"].
filter (filepath) => boolean = () => true function to filter files. Note this function has lower priority than options.filepaths
onProgress (event)? => void | Promise This function will be called every time a file or directory is added to the zip. View type object event
return false | string? zip2 will return in any fashion. If options.return = false Zip2.zip() will return a Promise<ArrayBuffer>, if it is string Zip2.zip() will return a Promise<void> and save the zip file to options.return

Important note options.filepaths filters absolute paths. If you want to select a folder, you must have a / after it, otherwise Zip2 will understand that you want to select the file.

Zip2.unzip(options)

import fs from "fs"
import { unzip } from "unzip"

await unzip({
   fs,
   extractTo: "folder-extract-zip",
   filepaths: ["."],
   filter: (filepath: string) => filepath.startsWith("dist/") === false,
   onProgress: (event) => console.log(event),
   path: "folder-zip.zip"
})

Options object:

Param Type [= default] Description
fs LikeFs An object that has the same functions as the fs module. Example capacitor-fs
extractTo string Unzipped folder to
filepaths string[] = ["."] The files and folders that need zip compression will be listed here. If you want to select all use ["."], if you want to unzip a certain file or folder use ["!.git/"].
filter (filepath) => boolean = () => true function to filter files. Note this function has lower priority than options.filepaths
onProgress (event)? => void | Promise This function will be called every time a file or directory is added to the zip. View type object event
data ArrayBuffer | Uint8Array? Buffer of file zip. Required this option or options.path
path string? Path to zip file. Required this option or options.data

Important note options.filepaths filters absolute paths. If you want to select a folder, you must have a / after it, otherwise Zip2 will understand that you want to select the file.

License

MIT (c) 2021 Tachibana Shin

Readme

Keywords

none

Package Sidebar

Install

npm i zip2

Weekly Downloads

8

Version

0.0.4

License

MIT

Unpacked Size

351 kB

Total Files

62

Last publish

Collaborators

  • tachibana-shin