{"id":39404548,"url":"https://github.com/aliuq/suzip","last_synced_at":"2026-01-18T03:28:11.124Z","repository":{"id":41886897,"uuid":"335848820","full_name":"aliuq/suzip","owner":"aliuq","description":"Compression files or directories","archived":false,"fork":false,"pushed_at":"2022-04-26T15:40:51.000Z","size":247,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-04T14:20:57.108Z","etag":null,"topics":["compression","gzip","tar","zip"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aliuq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-04T05:33:46.000Z","updated_at":"2022-04-25T05:51:01.000Z","dependencies_parsed_at":"2022-08-11T20:10:56.546Z","dependency_job_id":null,"html_url":"https://github.com/aliuq/suzip","commit_stats":null,"previous_names":["liuqian1996/arch-file"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/aliuq/suzip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliuq%2Fsuzip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliuq%2Fsuzip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliuq%2Fsuzip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliuq%2Fsuzip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aliuq","download_url":"https://codeload.github.com/aliuq/suzip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliuq%2Fsuzip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28528041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compression","gzip","tar","zip"],"created_at":"2026-01-18T03:28:11.030Z","updated_at":"2026-01-18T03:28:11.105Z","avatar_url":"https://github.com/aliuq.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable no-inline-html --\u003e\n\u003ch1 align='center'\u003eSUZIP\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  English\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u003ca href=\"./README_ZH.md\"\u003e中文\u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \u003csamp\u003eA simple and easy-to-use file compression tool\u003c/samp\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \u003cimg src=\"https://img.shields.io/npm/l/suzip\" alt=\"license\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/workflow/status/aliuq/suzip/Release\" alt=\"build\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/v/suzip\" alt=\"version\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/dw/suzip\" alt=\"download\"\u003e\n\u003c/p\u003e\n\n## Features\n\n+ Supports zip, tar, gzip formats\n+ Provides command line tools and support for configuration files\n\n## Installation\n\n```bash\nnpm install suzip -D\n# or\nyarn add suzip -D\n# or\npnpm add suzip -D\n```\n\n## Useage\n\nNode\n\n```ts\nimport { zip } from 'suzip'\n\nzip({\n  cwd: '. /',\n  output: '. /.output/dist.zip',\n  ignore: ['node_modules/**', '.output/**', 'dist/**'],\n  dot: true,\n})\n```\n\nSet `SUZIP_DEBUG=debug` environment variable to start debug mode\n\nCommand Line\n\n```bash\nsuzip [command] [option]\n\nCommands:\n  suzip zip [options]  Compression files or directories\n  suzip                Compression files or directories                [default]\n\nOptions:\n  -s, --cwd         Input Sources (only one can be specified)           [string]\n  -c, --context     Working directory path, default to current directory[string]\n  -o, --output      Output File Path\n  -p, --pattern     Regular expression matching input source file       [string]\n  -i, --ignore      Regular expression to ignore output                  [array]\n  -I, --ignoreFile  File path to ignore output                          [string]\n      --dot         Include files starting with the . symbol           [boolean]\n      --zip         Zip option attribute in package.json file\n      --example     Show examples                                      [boolean]\n      --debug       Debug mode, print more information, modified by\n                    `process.env.SUZIP_DEBUG` environment variable     [boolean]\n  -h, --help        Show help                                          [boolean]\n  -v, --version     Show version number                                [boolean]\n```\n\nSee more [examples](./examples/)\n\n## Options\n\nFor detailed option types, refer to [source](https://github.com/aliuq/suzip/blob/ca4c97e3265a4d3a115460fa8d9ba2f25a66d447/src/types.ts#L96)\n\n+ **context**: `{string}`, Default is current directory `process.cwd()`, it affects other option parameters with relative path values\n+ **output**: `{string}`, output file path, Default is `dist.zip`\n+ **cwd**: `{string}`, the input source, only one can be specified\n+ **pattern**: `{string}`, regular expression to match the input source file, Default is `**/*`\n+ **ignore**: `{string | string[]}`, regular expression ignore output\n+ **ignoreFile**: `{string | boolean}`, specify an ignore file, if `true`, then use the `.gitignore` file in the cwd directory\n+ **prefix**: `{string}`, the output file prefix\n+ **dot**: `{boolean}`, whether to include files starting with `.`\n+ **globOption**: `{object}`, options for the glob module, see [node-readdir-glob](https://github.com/yqnn/node-readdir-glob#options)、[node-glob](https://github.com/isaacs/node-glob#options) for more details\n+ **globEntryData**: `{object}`, input parameter for glob module, see [node-archiver](https://www.archiverjs.com/docs/archiver#entry-data) for more details\n+ **archiverOption**: `{object}`, the options for the archiver module, see [node-archiver](https://www.archiverjs.com/docs/archiver#options) for more details\n+ **sources**: `{object[]}`, input source group, each object contains `cwd, pattern, ignore, ignoreFile, prefix, dot, globOption, globEntryData` attributes\n\n## About suzip\n\nsuzip is based on the original `arch-file` refactoring and renaming, using typescript for type management, using unbuild (rollup + esbuild) for packaging build, new command line tools, which can make the compressed file operation out of the webpack or vite compilation process, can be directly in the command line, It is also easy to integrate with the corresponding hooks.\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliuq%2Fsuzip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faliuq%2Fsuzip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliuq%2Fsuzip/lists"}