Composer: 动态包的 Composer 存储库没有收到搜索包的参数?

创建于 2016-08-16  ·  3评论  ·  资料来源: composer/composer

我正在构建_Composer 代理服务/存储库_。 迷你服务的想法是从 _WordPress_ API 响应动态交付主题或插件的语言/翻译包。 路线如下:

 https://api.wordpress.org/translations/plugins/1.0/?slug={slug}&version={version}

_Nodejs_-service 本身只不过是一个代理,它应该作为repositorycomposer.jsontype:project 。 服务本身返回providers-url -key 作为(动态生成的) packages.json文件的一部分。

"providers-url" : "/" + request.params.scope + "/providers/%package%$%hash%.json"

例如,请参阅以下composer.json

{
    "name"              : "vendor/testproject",
    "type"              : "wordpress-project",
    "minimum-stability" : "dev",
    "repositories"      : [
        {
            "type" : "composer",
            "url"  : "https://{unique-ID}.ngrok.io/test"
        }
    ]
}

到目前为止,我只能看到对/endpoint/packages.json请求,但没有任何参数。 在理想的世界中,Composer 会发送required包,作为标题或查询参数。

我已经查看(并测试)了所有可用选项,以尝试通过系统_fake_我以某种方式获取请求的包: type:{composer|vcs|…} 。 有没有办法做到这一点? 或者至少有_will_ 接受 PR 来实现这一点——以及一个额外的标志来启用该行为?

_关于托管服务的说明:可能有notify-batchrequest/require选项的组合来收集有关搜索和实际获取的存储库的一些统计信息。 这种方法可能允许更好地定位“缓存”包。_

Feature

最有用的评论

这目前是不可能的,我怀疑它会持续一段时间。也许在 v2.0 中,一旦我们重构了池的东西,我们就可以实现这一点。 我会暂时保持开放,但不要屏住呼吸:)

所有3条评论

这目前是不可能的,我怀疑它会持续一段时间。也许在 v2.0 中,一旦我们重构了池的东西,我们就可以实现这一点。 我会暂时保持开放,但不要屏住呼吸:)

@alcohol我想你现在可以调整标签了 :)

关闭,因为我没有真正看到这种情况发生,可能可以使用 v2 元数据(如果您对更多详细信息感兴趣,请跟踪 #8248),因为您可以在那里执行metadata-url: "/p2/%package%.json"并且所有需要的包都将被称为一个一个,但您只能返回该包名称的数据,而不能返回其他包的数据,因此不确定它是否真的对您有帮助。

它确实允许您在某种程度上即时生成包,因此您可以使插件需要foo/plugin-translations-en ,然后确保您始终返回一个包以确保它可安装,无论是内部具有有效翻译的包还是如果没有可用的翻译,一个空的元包什么都不安装?

此页面是否有帮助?
0 / 5 - 0 等级