pixelfear / composer-dist-plugin
下载可分发资源包,用于包中,您不需要提交它们。
v0.1.6
2021-05-24 14:05 UTC
Requires
- composer-plugin-api: ^1.1 || ^2.0
Requires (Dev)
- composer/composer: ^1.10
- mockery/mockery: ^1.3
- phpunit/phpunit: ^8.4
README
这是一个Composer插件,允许在安装时下载并提取包含可分发资产的zip文件到包的目录中。
对于需要发送编译后的css/js文件但不想在git中跟踪它们的包非常有用。
注意:这仅下载并提取zip文件。
它不会编译或创建它们。要执行此操作,请查看下面的先决条件部分。
示例
假设您发布了一个PHP包foo/bar
,它期望您的编译后的可分发资源位于resources/dist
。将此配置放置在foo/bar
的composer.json
中
{ "name": "foo/bar", "require": { "pixelfear/composer-dist-plugin": "dev-master" }, "extra": { "download-dist": { "url": "https://github.com/foo/bar/releases/download/{$version}/dist.tar.gz", "path": "resources/dist" } } }
先决条件
此插件仅从URL下载并提取现有的zip文件。您需要自己创建zip文件。
一个很好的解决方案可能是使用GitHub Actions工作流程。
例如,此工作流程将在您推送以v
开头的标签时执行以下步骤
- 使用Git检出您的代码
- 运行npm install
- 使用Laravel Mix编译资源
- 创建tar.gz存档
- 创建GitHub发布版
- 将tar上传到发布版
当然,这意味着存档仅存在于标记发布版中。如果您使用dev-master之类的分支安装包,zip将会404。在这种情况下,您可以在本地手动编译您的资源。
配置
多个包
在上面的示例中,使用了一个单一的zip(包)。但是,您可以通过提供包含包对象的数组来配置多个包以进行下载。
"extra": { "download-dist": [ { "url": "...", "path": "dist/one", }, { "url": "...", "path": "dist/two" } ] }
包选项
对于每个包,以下选项可用