stanleyxc / composer-extra
该软件包最新版本(dev-master)没有可用的许可信息。
类似于make clean。一个简单的部署清洁工具。
dev-master / 0.1.x-dev
2017-03-13 01:51 UTC
Requires
- php: ^5.3 || ^7.0
- composer-plugin-api: ^1.0
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