mediamonks / composer-vendor-cleaner

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

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

This package is auto-updated.

Last update: 2024-08-29 04:39:57 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/

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

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。