emanuellopes/composer-vendor-cleaner

尽可能多地从您的供应商目录中删除,当空间或文件数量很重要时

v1.1.1 2018-03-06 14:52 UTC

This package is auto-updated.

Last update: 2024-09-27 22:10:58 UTC


README

Total Downloads Latest Stable Version Latest Unstable Version License

MediaMonks Composer 供应商清理工具

有时,当你需要将你的供应商目录发送到某个地方并且希望它尽可能快地完成时,仍然有一些不幸的情况。此包提供了一个简单的脚本,它将尝试尽可能多地删除东西,而不会破坏你的应用程序。

不要忘记在为非开发环境创建包时运行 composer install 并带有 --no-dev,如果你在 require-dev 中定义了包,它将已经为你节省了大量空间和文件!

工作原理

该脚本简单地读取供应商目录(<vendor>/<package>)中的所有包目录,并从该目录中删除未用于运行项目的文件。对于大多数包,这意味着它将删除文档和测试,但也包括 composer 文件、许可证和自述文件。

由于并非所有包都可以以相同的方式进行清理,因此使用包的 composer.json 中的 type 来确定清理处理程序。

目前可用的处理程序如下

SymfonyBundleHandler

当类型设置为 symfony-bundle 时使用,如果存在,则删除 Tests 目录

DefaultHandler

对于所有其他类型,删除除定义在 composer.json 的 autoload 部分中的目录之外的所有目录

用法

清理当前供应商目录

php vendor/mediamonks/composer-vendor-cleaner/bin/clean

清理特定的供应商目录

php vendor/mediamonks/composer-vendor-cleaner/bin/clean --dir /path/to/different/vendor/

要仅查看它将执行的操作而不实际删除文件,可以执行 dry 运行

php vendor/mediamonks/composer-vendor-cleaner/bin/clean --dry-run

选项

您可以通过传递 json 文件的路径来设置一些可以影响清理过程的选项

php vendor/mediamonks/composer-vendor-cleaner/bin/clean --options /path/to/options.json

当前支持以下选项

  • 排除整个包
  • 排除包的特定目录
  • 排除包的特定文件

您可以简单地查看提供的 options.json(默认选项)以了解选项的定义方式。

免责声明

此脚本仍在开发中,尚未经过广泛测试,因此请自行承担风险!

我们可以使用您的帮助!

此脚本主要创建用于清理 Symfony 框架项目,但通过您的帮助,我们可以使其适用于其他框架。请创建您自己的处理程序,改进当前处理程序的清理,并提交一个 PR。