Skip to content

限制包管理器

目的

统一团队的包管理器,防止出现不同的锁文件冲突,或者胡乱依赖

方案

only-allow

  1. 安装
javascript
pnpm add -D only-allow
  1. 使用 package.json
javascript
{
  "scripts": {
    "preinstall": "npx only-allow pnpm"
  }
}
  1. 效果

原理

参见 only-allow 源码https://github.com/pnpm/only-allow/blob/master/bin.js

简单看

  1. 在 preinstall 阶段(在 install 之前),先执行 only-allow
  2. 在内部进行判断
  3. 不符合通过 process.exit(1)打断

made with ❤️ by ankang