寻找npm包@serverless/docker-image的官方Git仓库用于补丁开发
以下是几个可行的解决方向:
直接查询npm元数据
运行npm view @serverless/docker-image repository命令,直接从npm registry拉取包的仓库信息——有时候包的package.json里没显式声明,但npm后台可能存储了相关记录。也可以用npm show @serverless/docker-image查看完整的包元数据,仔细排查是否有遗漏的仓库线索。向Serverless官方确认
去Serverless核心仓库提交Issue,说明你想为@serverless/docker-image贡献补丁但找不到源码仓库的情况,请求官方维护者指明源码位置。也可以在Serverless的官方社区(比如Discord、Slack)提问,通常维护者会及时回应这类贡献相关的问题。通过包内容反向检索
先把包下载到本地:执行npm pack @serverless/docker-image,解压后拿到完整的源码文件。然后提取包内的特征代码(比如独特的函数名、注释片段),在GitHub上进行代码搜索,大概率能定位到该包所属的仓库——很多时候这类子包是嵌套在Serverless主仓库的某个子目录下,而非单独的仓库。找到后即可fork对应仓库,修改代码并提交PR。临时备选方案(万不得已时)
如果以上方法都找不到上游仓库,先基于npm包内容创建自己的仓库,同时定期用npm diff @serverless/docker-image@<旧版本> @serverless/docker-image@<新版本>跟踪官方包的更新,有新版本时将变更合并到自己的仓库,再尝试联系官方提交PR。
内容的提问来源于stack exchange,提问作者Kennyhyun

