jamesclark32 / dev-audit
快速运行一系列 CLI 命令并总结其结果
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- spatie/laravel-ray: ^1.35
This package is auto-updated.
Last update: 2024-09-21 14:59:49 UTC
README
此包提供了一组 Laravel 控制台命令,可以快速运行一系列 CLI 命令并总结其结果。
Dev Audit 的目的是封装一系列在开发过程中经常一起运行的审计,例如合并前的常规操作。
该包附带了一系列基于作者工作流程的意见化默认审计,但可以轻松修改以适应您的需求。
开箱即用,Dev Audit 运行以下内容
- 测试 (phpunit)
- 静态分析 (phpstan)
- 针对已更改的 PHP 文件的 Lint 检查 (pint)
- 针对已更改的 JavaScript 文件的 Lint 检查 (prettier)
- Composer 审计
- Npm 审计
注意,这包括 phpstan 和 prettier,它们需要在 Laravel 项目中单独安装和配置。
安装后,可以使用 artisan dev:audit
在任何时间运行 Dev Audit。
底层,Dev Audit 通过配置实例执行命令 Symfony/Process
,并作为 UI 包装器来总结结果,同时去除反馈杂音。
典型的输出如下所示
Linters
此包还包含一个命令 dev:lint
来运行 linters。您可以在任何选择的时间运行此命令。您还可以通过添加 --lint
标志来将 linters 作为审计的一部分运行: php artisan dev:audit --lint
。
如果您始终希望在审计过程中运行 linters,您可以通过在 dev-audit 配置文件中将 settings.always_lint 设置为 true 来控制此操作。
安装
要开始,您只需使用 composer 安装该包即可
建议只要求在开发中使用此包。
composer require --dev jamesclark32/dev-audit
安装后,可以使用 artisan dev:audit
在任何时间运行 Dev Audit。
配置
要调整要运行的审计,只需发布并修改配置文件。
您可以使用以下命令将配置文件发布到 config/dev-audit.php
php artisan vendor:publish --tag="dev-audit-config"
配置文件包含要运行的审计的详细信息。可以添加、删除、修改审计或调整它们的顺序。
任何新的审计只需要一个 title
用于显示目的和一个要运行的 command
。
failure_hint
内容是可选的,但提供了在失败的情况下显示可能需要的下一步命令的机会。
默认审计配置如下所示
return [ 'settings' => [ 'always_lint' => false, ], 'audits' => [ [ 'title' => 'PHPUnit', 'command' => './vendor/bin/phpunit -d memory_limit=-1 --no-progress --configuration phpunit.xml;', 'failure_hint' => 'Run tests using "php artisan test --stop-on-error" to help discover code issues in isolation.', ], [ 'title' => 'PHPStan', 'command' => './vendor/bin/phpstan analyze -v --memory-limit=-1', 'failure_hint' => 'Address the code issues found by "./vendor/bin/phpstan analyze -v --memory-limit=-1", or adjust phpstan.neon to allow for them.', ], [ 'title' => 'Pint (dirty files)', 'command' => './vendor/bin/pint --dirty --test', 'failure_hint' => 'Run "./vendor/bin/pint --dirty" to have Pint fix these code style issues while remaining scoped to files with uncommited changes only.', ], [ 'title' => 'Prettier (dirty files)', 'command' => 'npx prettier --config .prettierrc -u -l $(git diff --name-only --diff-filter=d | xargs)', 'failure_hint' => 'Run "npx prettier --config .prettierrc -u -w $(git diff --name-only --diff-filter=d HEAD | xargs)" to have prettier fix these code style issues while remaining scoped to files with uncommited changes only.', ], [ 'title' => 'Composer Audit', 'command' => 'composer audit', ], [ 'title' => 'NPM Audit', 'command' => 'npm audit', ], ], 'linters' => [ [ 'title' => 'Pint (dirty files)', 'command' => './vendor/bin/pint --dirty', ], [ 'title' => 'Prettier (dirty files)', 'command' => 'npx prettier --config .prettierrc -u -w $(git diff --name-only --diff-filter=d | xargs)', ], ], ];
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
鸣谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。