纱线可以检查特定的依赖吗?

时间:2018-01-02 13:13:34

标签: node.js npm

所以,我正在写一个小脚本。我如何检查package.json是否包含一些依赖? 现在我这样做:

yarn list --depth=0 | grep "settings" | wc -l

其中settings是特定依赖项的名称。

它有效,但是有一个特殊的命令吗?

2 个答案:

答案 0 :(得分:0)

好吧,您可以使用--pattern标志直接过滤列表,并使用-s标记静音“普通”纱线输出:

yarn list -s --pattern "settings"

...但你还是要计算一下。

答案 1 :(得分:0)

对于那些希望修剪多余字符以供shell脚本使用的人,可以将tailsed与现有答案结合使用,如下所示:

yarn list -s --depth=0 --pattern "settings" | tail -n 1 | sed 's/.*@//g'

或作为脚本的一部分:

echo "The version is $(yarn list -s --depth=0 --pattern "settings" | tail -n 1 | sed 's/.*@//g')"

它分3个步骤工作:

  1. 使用带有静音标志且深度为0(仅限顶层依赖项)和与您的包名称相匹配的模式的纱线列表
  2. 使用tail将上一步的输出修剪到最后一行(最短的依赖项名称匹配模式排在最后)
  3. 使用sed删除@符号之前的所有内容(该版本位于@之后)