小编Jul*_*ate的帖子

在 Yarn 2 (berry) 中审核依赖项的最佳方法?

我正在寻找一种方式来审计的依赖关系的在纱线2.漏洞纱线1.x中,有可能同是在npm,通过运行yarn audit代替npm audit。但是 Yarn 2 没有这样的命令。根据berry github 上的这个问题,它不会被实现(项目维护者更喜欢通过插件完成)。

我试过运行,npm install --package-lock-only && npm audit但安装在我的一些本地包上阻塞(我使用link:url 类型在 package.json 中列出)。

构建它不会是一个复杂的插件,我很乐意这样做,但它不会像安装一些东西然后继续我的一天那么有趣。我环顾四周,但总是以相同的几个蒸气软件/废弃软件仓库告终。

但我仍然想我只是没有找到它们。或者有一个未记录的技巧可以使它变得容易。因此我的问题:)

PS,是的,我可以link:在运行上面的npm installnpm audit命令时临时删除本地包,但这并不是我想要尝试为 CI 自动化的那种事情。

javascript npm typescript npm-audit yarnpkg-v2

12
推荐指数
1
解决办法
1072
查看次数

在Elixir中有效地压缩不等长的列表

Elixir zip/2函数压缩两个列表,在到达较短列表的末尾时停止。我一直试图做相反的事情-本质上是从较短的列表中复制项目,直到到达最长的列表的末尾。

这是我所拥有的:

def zipReduce(m, n) when is_list(m) and is_list(n) do
  { long, short } = if length(m) > length(n)
    do { m, n }
    else { n, m }
  end

  Enum.reduce(0..Integer.mod(length(long), length(short)), [], fn i, acc ->
    long
    |> Enum.slice(length(short) * i, length(short))
    |> Enum.zip(short)
    |> Enum.into(acc)
  end)
end
Run Code Online (Sandbox Code Playgroud)

它确实有效,但是我并不喜欢所有这些电话,length/1因为每个电话都需要完整的列表遍历,并且可能会减少很多。我可以将长度与短列表和长列表一起缓存在元组中,但这感觉非常必要(尽管如果需要,我会这样做以提高性能)。

有没有想到的方法?可能是完全不同的方法?

reduce zip enumeration list elixir

2
推荐指数
1
解决办法
107
查看次数

标签 统计

elixir ×1

enumeration ×1

javascript ×1

list ×1

npm ×1

npm-audit ×1

reduce ×1

typescript ×1

yarnpkg-v2 ×1

zip ×1