限制包管理器
目的
统一团队的包管理器,防止出现不同的锁文件冲突,或者胡乱依赖
方案
only-allow
- 安装
javascript
pnpm add -D only-allow- 使用 package.json
javascript
{
"scripts": {
"preinstall": "npx only-allow pnpm"
}
}- 效果

原理
参见 only-allow 源码https://github.com/pnpm/only-allow/blob/master/bin.js
简单看
- 在 preinstall 阶段(在 install 之前),先执行 only-allow
- 在内部进行判断
- 不符合通过 process.exit(1)打断
