目标
我有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
我希望能够做类似的事情
yarn test --updateSnapshot
并附--updateSnapshot
加到yarn test
通过 lerna exec 运行
使用常规 npm 脚本(请参阅 参考资料test:root
)可以$@
正常工作。lerna文档没有提到任何方法来做到这一点。
更新
我认为最简单的方法是编写一个包含 args 和命令的脚本。这将需要在所有 lerna 包中使用。