UNPKG

zip-a-folder

Version:

Compress a complete folder or a glob list into a zip/tgz/br/7z file

50 lines 2 kB
import * as fs from "fs"; import * as zlib from "zlib"; //#region lib/core/types.d.ts type COMPRESSION_LEVELS = 'uncompressed' | 'medium' | 'high'; type TAR_COMPRESSION_TYPE = 'none' | 'gzip' | 'brotli'; type CoreOptions = { statConcurrency?: number; exclude?: string[]; }; type ZipArchiveOptions = CoreOptions & { comment?: string; forceLocalTime?: boolean; forceZip64?: boolean; namePrependSlash?: boolean; store?: boolean; zlib?: import('zlib').ZlibOptions; customWriteStream?: fs.WriteStream; destPath?: string; compression?: COMPRESSION_LEVELS; }; type TarArchiveOptions = CoreOptions & { gzip?: boolean; gzipOptions?: zlib.ZlibOptions; compressionType?: TAR_COMPRESSION_TYPE; brotliOptions?: zlib.BrotliOptions; customWriteStream?: fs.WriteStream; compression?: COMPRESSION_LEVELS; }; type SevenZipArchiveOptions = CoreOptions & { compressionLevel?: number; customWriteStream?: fs.WriteStream; compression?: COMPRESSION_LEVELS; }; //#endregion //#region lib/ZipAFolder.d.ts declare const COMPRESSION_LEVEL: { readonly uncompressed: "uncompressed"; readonly medium: "medium"; readonly high: "high"; }; declare class ZipAFolder { static zip(source: string, targetFilePath?: string, options?: ZipArchiveOptions): Promise<void>; static tar(source: string, targetFilePath?: string, options?: TarArchiveOptions): Promise<void>; static sevenZip(source: string, targetFilePath?: string, options?: SevenZipArchiveOptions): Promise<void>; } declare function zip(source: string, targetFilePath?: string, options?: ZipArchiveOptions): Promise<void>; declare function tar(source: string, targetFilePath?: string, options?: TarArchiveOptions): Promise<void>; declare function sevenZip(source: string, targetFilePath?: string, options?: SevenZipArchiveOptions): Promise<void>; //#endregion export { COMPRESSION_LEVEL, type SevenZipArchiveOptions, type TAR_COMPRESSION_TYPE, type TarArchiveOptions, ZipAFolder, type ZipArchiveOptions, sevenZip, tar, zip };