goedemiddag/laravel-autodiscovery-lock

创建一个包含所有由 Laravel 自动发现的包的锁文件。

2.1.1 2023-08-01 13:32 UTC

README

此包允许您监控您的 Laravel 应用程序的自动发现。通过在 post-autoload-dump 事件中运行提供的命令,您可以生成一个包含所有自动发现的包的文件。然后,可以使用此文件来检查未确认的自动发现。

安装

首先使用 composer 使用以下命令安装此包:

composer require goedemiddag/laravel-autodiscovery-lock

这将注册应用程序中的一个命令。要使用此命令,您需要在 composer.json 文件中将此命令添加到 post-autoload-dump 事件中,位于 laravel 已注册的 package:discover 函数下方。它应该看起来像这样:

{
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi",
            "@php artisan autodiscovery:generate-lock"
        ]
    }
}

用法

此包有两个主要用法。生成锁文件以跟踪自动发现,并检查未确认的自动发现;
以及验证您的锁文件和自动发现的包是否同步。

生成锁文件

要生成第一个自动发现锁文件,请运行以下命令:

php artisan autodiscovery:generate-lock

这将在项目根目录下生成一个名为 autodiscovery.lock 的文件。此文件包含所有自动发现的包以及它们提供的提供者/别名。生成并提交此文件后,并在 composer.json 脚本中注册上述命令,您就可以为每次 composer 安装或更新包,或通常导出自加载而自动更新设置。

验证锁文件

验证锁文件可以确保已安装的包没有在不通知您的情况下更改它们的自动发现。要验证锁文件,请运行以下命令:

php artisan autodiscovery:verify-lock

如果锁文件和自动发现的包之间存在差异,则命令将以非零退出码退出。这允许您轻松地将此命令用于 CI/CD 管道。只需在拉取请求的管道中运行命令,并在构建管道中运行命令。

管道示例

TBD

贡献

发现了一个错误或想添加一个新功能?太好了!还有许多其他方式可以做出有意义的贡献,例如审查悬而未决的拉取请求和编写文档。即使是为您发现的错误打开一个问题也值得赞赏。

如果您想贡献代码,请参阅我们的贡献指南

致谢