我有yarn test,它实际上由两个子命令组成yarn test:root && yarn test:packages。两者都运行 jest(但包使用 lerna exec 间接执行它)。我希望能够yarn test -t=Pattern从终端输入并将两个子命令附加-t=Pattern到末尾。lerna exec -- "yarn test"似乎没有办法做到这一点。
我有一个 monorepo,用于在每个 lerna 包上lerna exec运行yarn test。
鉴于:
"test": "yarn run test:packages $@ && yarn run test:root $@",
"test:packages": "lerna exec -- yarn test $@", // No args passed
"test:root": "jest ./tests/Storyshots.jest.js $@", // Args passed
Run Code Online (Sandbox Code Playgroud)
我希望能够做类似的事情
yarn test --updateSnapshot和用于--updateSnapshot将被附加到yarn test通过勒拿湖EXEC运行
使用常规的 npm 脚本(请参阅 参考资料test:root)可以$@正常工作。lerna文档没有提到任何方法来做到这一点。
更新
我认为最简单的方法是编写一个脚本来组成参数和命令。这将需要在所有 lerna 包中使用。
您可以使用 将命令行参数传递给内部命令--。使用--将表示当前命令的选项结束,并允许将选项传递给内部命令。
所以对于这种情况,我们需要转义三次:
测试:包
测试:根
yarn test -- -- -- -t=Pattern
| 归档时间: |
|
| 查看次数: |
2830 次 |
| 最近记录: |