如何找到在 github 存储库中使用的 npm 模块版本?



我有一个我开发的npm模块。我想知道此模块的哪个版本用于我公司组织存储库中的不同项目。有没有办法搜索模块的特定版本?

例如,我的最新版本的模块是"5.x.x".我想找到所有未"^5.x.x"的用法。

我尝试搜索filename:package.json my-module但这给了我太多的结果,其中大多数是最新版本("^5.x.x"(。

也许还有其他方法可以实现它,而不是Github搜索?

编辑

  • 组织存储库很大,不可能将其全部克隆到磁盘上。
  • 在我们的组织中,
  • 我们有一个解决方案,可以使用编码(一种管理整个组织中公开 REST 的所有依赖项的服务(来解决此问题。我正在寻找无需编码即可轻松实现的东西(太多(。

鉴于对GitHub 搜索的限制,您不太可能在 GitHub 界面中轻松执行此操作。

如果您将所有存储库克隆在一个目录中,并且您使用的是类 UNIX 操作系统,则可以使用grep(或执行各种编程搜索(:

grep '"my-module": ' */package.json | grep -v '"^5.'

以上假设条目以^开头,而不是~或数字。根据需要进行修改。在您的情况下,这可能没问题。如果不是,它将显示一些版本 5 实例,这比显示早期实例要好。

您可以在 Bash 中使用findgrep命令:

$ cd path/to/your/repo
$ find . -name package.json | xargs grep '"my_module":'

此命令列出整个存储库中所有 package.json 文件中包含模块的所有行。如果这会产生太多结果,您可以再grep一些,例如:

$ find . -name package.json | xargs grep '"my_module":' | grep -v '^5.'

这不包括任何提及您的模块且主版本号为 5 的行。

最新更新