stanleyxc/composer-extra

该软件包最新版本(dev-master)没有可用的许可信息。

类似于make clean。一个简单的部署清洁工具。

安装: 8

依赖者: 0

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:composer-plugin

dev-master / 0.1.x-dev 2017-03-13 01:51 UTC

This package is not auto-updated.

Last update: 2024-09-18 20:54:16 UTC


README

一个简单的composer包部署清洁工具。

类似于make clean的功能,用于清理composer包,以最小化部署代码的体积。
利用composer的插件API,脚本功能。在composer.json的extra属性中引入了一个自定义的子块(命名为deployment)。

警告

这是一个预生产版本。我仅在Linux环境下使用并测试过。我也没有在composer全局安装设置中测试过。

强烈建议你在生产环境中使用此工具之前,先在开发环境中充分使用。由于此工具会修改你的文件系统(它使用php fnmatch与unlink和rmdir),我必须多次提醒你——在运行此工具之前,务必确保你有备份。

###Composer安装

composer require stanleyxc/composer-extra

###用法:使用composer插件

composer deploy-clean twig/twig phpmailer/phpmailer  

上面的命令将清理composer包twig和phpmailer,假设在你的项目的根composer.json文件中有额外的/deployment信息。例如,下面的extra/deployment指定了我想要的部署文件/目录(你的可能不同)

{  
    "extra":  
    {  
    	"deployment":  
      {  
        "phpmailer/phpmailer" 	: ["*.php", "extras", "LICENSE", "VERSION"],  
        "twig/twig"             : ["LICENSE", "lib", "doc", "ext"]  
	    }  
    }  
}  

部署参数块包含一个数组列表,指定每个软件包要保留的目录和文件。未列出的一切都将被删除。

使用composer脚本功能。
为了在脚本模式下使用部署清洁工具,需要在composer.json中添加一个额外的参数块:脚本名称和钩子定义。

{  
    "extra":  
    {  
    	"deployment":  
      {  
        "phpmailer/phpmailer" 	: ["*.php", "extras", "LICENSE", "VERSION"],  
        "twig/twig"             : ["LICENSE", "lib", "doc", "ext"]  
	    }  
    },
    "scripts":
    {
       "script:deploy" :
       [
          "Stanleyxc\\ComposerExtra\\Script::main"
       ]
    }
}    

然后运行

composer script:deploy twig/twig phpmailer/phpmailer  

你还可以在脚本模式下自定义命令,例如:将脚本重命名为deploy到clean

composer clean twig/twig