pixelfear/composer-dist-plugin

下载可分发资源包,用于包中,您不需要提交它们。

资助包维护!
jasonvarga

安装量: 2,137,514

依赖项: 38

建议者: 0

安全: 0

星标: 25

关注者: 2

分支: 2

开放问题: 1

类型:composer-plugin

v0.1.6 2021-05-24 14:05 UTC

This package is auto-updated.

Last update: 2024-09-06 17:18:22 UTC


README

这是一个Composer插件,允许在安装时下载并提取包含可分发资产的zip文件到包的目录中。

对于需要发送编译后的css/js文件但不想在git中跟踪它们的包非常有用。

注意:这仅下载并提取zip文件。
它不会编译或创建它们。要执行此操作,请查看下面的先决条件部分。

示例

假设您发布了一个PHP包foo/bar,它期望您的编译后的可分发资源位于resources/dist。将此配置放置在foo/barcomposer.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"
      }
    ]
  }

包选项

对于每个包,以下选项可用