当你将自己开发的 npm 包发布到 npm 官方仓库时,想要立即同步淘宝镜像站上面的版本,那么就可以使用这个工具自动完成同步工作。
本项目受魔法哥的启发,但是关于实现方式我有自己的想法。
另外,我平时也会发布一些 npm 包,所以这个工具对我来说是一个刚需,于是就有了本项目。
npm install -D sync-npm-mirror
yarn add -D sync-npm-mirror
pnpm add -D sync-npm-mirror
在你需要同步的 npm 包的package.json
中添加下面这个脚本:
{
"name": "awesome-tools",
"scripts": {
+ "postpublish": "sync-npm-mirror awesome-tools"
},
"devDependencies": {
"sync-npm-mirror": "x.y.z"
},
}
这样,当你的包在发布到官方仓库之后,会立即执行sync-npm-mirror awesome-tools
将这个包同步更新到淘宝镜像站。
⚠️ ⚠️ ⚠️ 注意上面的代码段中的
awesome-tools
为演示目的,需要替换成你自己的包名。
const { syncNpmMirrorPackage } = require("sync-npm-mirror")
// sync single package
syncNpmMirrorPackage("axios")
// sync multi pakcage
syncNpmMirrorPackage(["axios", "express"])
sync-npm-mirror axios
sync-npm-mirror axios express koa
由于依赖中的脚本无法获取到使用它的包名,所以需要在参数中手动指定你要同步的包名,也就是在postpublish
脚本中指定包名作为sync-npm-mirror
命令的参数。
参考上面的推荐用法。