你是否经常需要为你的项目打包压缩文件,然后上传到服务器或者分享给其他人?
如果你的答案是肯定的,那么你可能会对我今天要介绍的一个工具感兴趣。
它叫 zzip,它可以让你用一条简单的命令就能生成一个符合你要求的压缩文件,而不需要每次都手动修改文件名或者选择压缩模式。
让我来给你演示一下 zzip 的用法。假设你有一个叫 xx 系统的项目,你想要把它构建后的产物压缩成一个 zip 文件,文件名包含项目名、打包时间和最新的版本 tag。如果你用传统的 zip 命令,你可能需要这样写:
pnpm build && zip -q -r xx系统-2023-10-31-v0.0.1.zip ./dist
这样做有什么问题呢?首先,你需要手动输入文件名,如果你有多个项目,或者经常打包,那么这样做就很麻烦。其次,你需要记住 zip 命令的参数,比如 -q 表示静默模式,-r 表示递归压缩等等。最后,你可能还需要考虑不同的压缩模式,比如 tar, tgz 等等,这些都需要不同的命令和参数。
那么 zzip 可以怎么帮助你呢?zzip 是一个基于 Node.js 的 CLI 工具,它可以自动从你的项目中获取一些信息,比如 package.json 的内容、git 的状态、当前时间等等,并且支持多种压缩模式。你无需安装 zzip,只需要在项目根目录下运行:
pnpm build && npx zzip --name="format:%package.name-%cd-%tag"
好么,这也没短几个字符,但是要知道,zzip 支持 c12,这意味着我们可以使用 zip.config.json, zip.config.{ts,js,mjs,cjs} 或者 .ziprc。在用户(~)目录建一个 .ziprc:
name=format:%package.name-%entry.name-%cd-%tag
再试一次
pnpm build && npx zzip # 干净!
本文借助 Edge Copilot 编写
- Github:github.com/KeJunMao/zz…