你的提案是否与问题相关?
我的团队开发了一个Lerna单仓库中的几个CRA应用。为了方便起见,我们没有安装Jest、Webpack等,所以我们不会让CRA
因为有不同的版本而感到困扰,也不会使用SKIP_PREFLIGHT_CHECK
标志。
因此,对于我们在单仓库中的非CRA包,我们使用react-script test
在非CRA包中运行测试。
问题是函数verifyTypeScriptSetup.js强制覆盖我们的tsconfig.json
,并且每次运行测试脚本时都会调用scripts/test.js#L31。在我们的案例中,添加"noEmit": true
。
描述你希望的解决方案
类似于verifyPackageTree()
,有一个环境变量来跳过这个步骤
if (process.env.SKIP_TYPESCRIPT_SETUP_CHECK !== 'true') {
verifyTypeScriptSetup();
}
我们需要它来进行react-scripts test
,但这是所有其他脚本中同样的问题。
描述你考虑过的替代方案
我们目前有一个posttest
npm脚本调用一个node脚本来撤销更改。当我们有N个新包时,不可扩展。
附加上下文
我希望能得到关于这个问题的反馈,并添加这部分代码!
感谢CRA团队的所有伟大工作!
2条答案
按热度按时间6ss1mwsb1#
你好,bnbarak。你只使用
test
命令吗?如果是这样的话,我认为最好添加jest
和babel-jest
,这样可以覆盖很多情况。这是我在我的库中所做的,它们也与CRA应用程序一起位于monorepo中。h6my8fg22#
感谢您的回答。问题在于我们的依赖项是由
react-scripts
驱动的,因此在 N 个包的情况下,我们需要维护当前版本(或者编写我们自己的react-scripts
脚本)。所以我们希望使用react-scripts
来促进测试。