仅供测试的包会按默认方式安装为常规依赖
原文依据:4 处说明称 shoehorn 只能用于测试,但安装命令是 `npm i @total-typescript/shoehorn`,没有使用开发依赖标志。npm 的常规行为会把它记录为生产依赖,并修改依赖清单和锁文件。
项目可能把仅测试使用的包纳入生产安装或部署依赖,扩大依赖面并增加构建、审计和维护负担。
该技能明确规定 shoehorn 只能用于测试,却两次要求使用不带开发依赖标志的 `npm i`。在 npm 的通常配置下,这会把测试工具加入常规 dependencies,并改动项目的依赖清单和锁文件;安装步骤实际执行时才会产生影响。用户可要求作者改为开发依赖安装,并在执行前确认将修改哪些文件。
**Test code only.** Never use shoehorn in production code.查看另外 3 个位置
## Install```bashnpm i @total-typescript/shoehorn```2. **Install and migrate**: - [ ] Install: `npm i @total-typescript/shoehorn` - [ ] Find test files with `as` assertions: `grep -r " as [A-Z]" --include="*.test.ts" --include="*.spec.ts"` - [ ] Replace `as Type` with `fromPartial()````bashnpm i @total-typescript/shoehorn```