我正试图按照这个存储库中的说明来修补Jest。
Patch Jest。
建议使用贴片包装,但我发现在使用yarn 2时可以使用纱线贴片。
我设法修补了jest运行时,但jest的包中似乎不需要jest-runtime
,所以我不知道它来自哪里,可以将其用作声明修补文件的引用。
Jest包.json
我知道如果Jest是需要修补的,我可以这样声明:
package.json
"devDependencies": {
"jest": "patch:jest@26.6.3#./patches/jest.patch"
}
我尝试使用相同的逻辑来包含以下代码以包含jest-runtime
,但没有成功。
"devDependencies": {
"jest": "^26.6.3",
"jest-runtime": "patch:jest-runtime@26.6.3#./patches/jest-runtime.patch"
}
我如何声明这个补丁的jest运行时,以便jest可以使用它?
清单中的Resolutions字段是声明未添加到devDependencies
中的修补模块(如子模块(的正确方法。
resolutions
字段允许您指示Yarn使用特定的分辨率,而不是解析器通常选择的任何分辨率。这对于强制所有程序包使用单一版本的依赖项或反向端口修复程序非常有用。
该问题的解决方案:
{
...
"dependencies": {
"jest": "^26.6.3",
},
"resolutions": {
"jest-runtime": "patch:jest-runtime@26.6.3#./patches/jest-runtime.patch"
},
}