以编程方式获取所有nuget / npm / bower软件包的许可证信息

时间:2019-05-15 07:38:27

标签: shell powershell npm nuget bower

我正在尝试实现一个脚本,该脚本将检索我所有项目中使用的所有nuget软件包的许可证信息。

到目前为止,我已经编写了一个PowerShell脚本,它将遍历我所有的GIT存储库,并返回所有NuGet / npm / bower软件包以及我使用的版本的列表。

现在,我想检索每个NuGet / npm / bower软件包的许可证信息,例如MIT或Apache许可证...

从Visual Studio的Package Manager控制台中,我可以简单地运行以下命令“ Get-Package | Select-Object Id,LicenseUrl”,但是由于我有数百种解决方案(代码库远远超过一百万行代码),这不是一个可行的选择。

所以我的问题是,您是否知道我可以查询软件包许可证信息的任何WebApplication或WebAPI?

非常感谢。

1 个答案:

答案 0 :(得分:0)

解决方案:

  1. 下载我找到的每个nuget软件包(使用nuget-cli)。
  2. Foreach软件包检查nuspec文件中的LicenseUrl / License节点。 繁荣-完成(第1部分)。

  3. 使用https://www.npmjs.com/package/license-checker-与上述方法相同。 繁荣-完成(第2部分)。

我真的很想分享我的脚本(250行),其中我要遍历500个git存储库,在新旧项目结构的混合中找到所有nuget引用,并找到所有npm包引用-在执行上述操作之前,但是我恐怕会因为带薪工作而麻烦:(