首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将args传递给lerna exec命令。

将args传递给lerna exec命令。
EN

Stack Overflow用户
提问于 2018-01-09 14:01:39
回答 2查看 4.7K关注 0票数 6

目标

我有yarn test,它实际上由两个子命令yarn test:root && yarn test:packages组成。两者都运行jest (但是包间接使用lerna exec)。我希望能够从终端输入yarn test -t=Pattern,并将两个子命令附加到-t=Patternlerna exec -- "yarn test"似乎没有办法做到这一点。

背景

我有一个monorepo,它使用lerna exec在每个lerna包上运行yarn test

给予:

代码语言:javascript
复制
"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软件包中使用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-13 20:12:05

您可以使用--将命令行args传递给内部命令。使用--将表示当前命令的选项的结束,并允许将选项传递给内部命令。

因此,在这种情况下,我们需要逃避三次:

测试:包

  1. 纱线
  2. 纱线运行试验:包装
  3. lerna exec -纱线试验

测试:根

  1. 纱线
  2. 纱线运行试验:根
  3. jest ./test/Storyshots.jest.js

yarn test -- -- -- -t=Pattern

票数 8
EN

Stack Overflow用户

发布于 2018-01-10 00:38:01

要附加args,只需使用类似于lerna exec 'yarn test --updateSnapshot'的东西

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48169878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档