我有一个我开发的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 中使用find
和grep
命令:
$ 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 的行。