目标
我有yarn test,它实际上由两个子命令yarn test:root && yarn test:packages组成。两者都运行jest (但是包间接使用lerna exec)。我希望能够从终端输入yarn test -t=Pattern,并将两个子命令附加到-t=Pattern。lerna exec -- "yarn test"似乎没有办法做到这一点。
背景
我有一个monorepo,它使用lerna exec在每个lerna包上运行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我想做些像
yarn test --updateSnapshot和--updateSnapshot被附加到通过lerna exec运行的yarn test
使用常规的npm脚本(请参阅test:root),使用$@可以很好地工作。lerna 文档没有提到任何方法来做到这一点。
更新
我认为最简单的方法是编写一个脚本,其中包含args和命令。这将需要在所有的lerna软件包中使用。
发布于 2019-03-13 20:12:05
您可以使用--将命令行args传递给内部命令。使用--将表示当前命令的选项的结束,并允许将选项传递给内部命令。
因此,在这种情况下,我们需要逃避三次:
测试:包
测试:根
yarn test -- -- -- -t=Pattern
发布于 2018-01-10 00:38:01
要附加args,只需使用类似于lerna exec 'yarn test --updateSnapshot'的东西
https://stackoverflow.com/questions/48169878
复制相似问题