每周轮子之 only-allow:统一规范团队包管理器

4Ark at 
需求首先我们来提一个团队开发中很常见的需求:一般来说每个团队都会统一规定项目内只使用同一个包管理器,譬如 npm、yarn、pnpm 等,如果成员使用了不同的包管理器,则可能会因为 lock file 失效而导致项目无法正常运行,虽然这种情况一般都可以通过项目的上手文档来形容共识,但有没有更好的解决方案,比如在项目安装依赖时检测如果使用了不同的包管理器就抛出错误信息?当然是可以的,pnpm 就有一个包叫做 only-allow ,连 vite 都在使用它,所以本周我们就从 0 到 1 实现这个工具,以此对它的工作原理一探究竟。实践说干就干,我们先在 npm 文档 搜寻一番,发现有一个钩子叫做 ……