以编程方式获取NPM包的LICENSE

时间:2018-04-16 05:07:09

标签: node.js npm gulp

我正在使用一个JS应用程序,并且正在使用许多开源依赖项。我需要创建一个包含每个包的许可证信息的页面。我的应用程序当前能够从JSON文件中读取许可证列表并进行渲染。我不想手工创建这个文件,因为它很乏味,很容易过时。幸运的是,所有依赖项都列在我的package.json中,所以理论上它应该很容易以编程方式生成它,遗憾的是我还没有找到方法。

看起来几乎所有东西都有"许可证"文件位于其存储库的根目录中,这样可行的方法就是我有一个可以下载和处理这些文件的gulp脚本。不幸的是,我无法找到一种以编程方式查询NPM以获取包的存储库地址的方法。如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

要靠自己可靠地做到这一点很困难。 AFAIK,npm软件包的发布者不需要提供许可证,或者至少不是以标准方式提供许可证。

幸运的是,this package能够显示node_modules中找到的所有包的许可证信息。它还有一个简单的API,因此获取信息并将其显示在网页上应该相当容易。

答案 1 :(得分:0)

我终于找到了https://www.npmjs.com/package/get-repository-url来做我想做的事。