laravelrotebal / nova-patches
一组修复错误和改进Laravel Nova功能的补丁。
Requires
- laravel/nova: ^3.0
- vaimo/composer-patches: ^4.20
Requires (Dev)
- roave/security-advisories: dev-master
README
一组修复错误和改进Laravel Nova功能的补丁。
目前开发中,与Nova 2.9.3兼容且经过测试。
安装
您可以通过composer将此包安装到使用Nova的Laravel应用中
composer require laravelrotebal/nova-patches
所有补丁将自动应用!
为什么需要此包?
- 核心错误修复。
- 核心功能改进。
- 核心代码错误纠正。
- 更灵活的核心代码,以实现最佳实践。
待办事项
- 手动选择要应用的补丁。
- 自动重建和发布前端资源。
- 或者找到一种方法来为前端编译资源创建补丁。
- 为测试修复后的功能创建测试。
- 兼容Nova的其他版本。
- 补丁命名统一。
依赖于包vaimo/composer-patches
将本地或远程文件中的补丁应用到给定composer项目中的任何包。补丁可以在项目和包级别定义。可选支持补丁版本控制、排序、自定义补丁应用配置和用于测试/故障排除的composer命令。
工作原理
目录patches/laravel/nova
包含补丁文件。一个补丁文件对应一个错误修复或功能改进。
composer.json
中的$.extra.patches.laravel/nova
部分包含按指定顺序要应用的补丁文件。
运行install
、require
、update
、patch:redo
、patch:undo
命令后,指定的补丁将被应用到vendor
目录中指定的包。
某些补丁可能会修改前端源文件。这需要手动开始资源组装以及可能发布它们。
补丁列表
refactoring-reformat-fields-js.patch
更改格式以简化补丁的应用。
受影响的文件
- resources/js/fields.js
需要重建前端:否
has-many-index-template.patch
HasManyField可以在索引中显示。
受影响的文件
- resources/js/components/Index/HasManyField.vue
- resources/js/fields.js
- src/Fields/HasMany.php
需要重建前端:是
has-one-index-template.patch
HasOneField可以在索引中显示。
受影响的文件
- resources/js/components/Index/HasOneField.vue
- resources/js/fields.js
- src/Fields/HasOne.php
需要重建前端:是
action-event-cli-compatible.patch
forAttachedResource()、forAttachedResourceUpdate()的ActionEvent与NovaRequest无关。
受影响的文件
- src/Http/Controllers/AttachedResourceUpdateController.php
- src/Http/Controllers/PivotFieldDestroyController.php
- src/Http/Controllers/ResourceAttachController.php
- src/Actions/ActionEvent.php
需要重建前端:否
fix-resource-detach.patch
ActionEvent::forResourceDetach()可以执行批量分离。
受影响的文件
- src/Actions/ActionEvent.php
- src/Http/Controllers/ResourceDetachController.php
需要重建前端:否
action-event-create-without-duplicates.patch
ActionEvent::forResourceCreate()不会重复创建事件。
受影响的文件
- src/Actions/ActionEvent.php
需要重建前端:否
如何重建前端
转到laravel/nova
目录并执行
npm i && cp webpack.mix.js.dist webpack.mix.js && npm run prod
例如,我有一个38秒的重建过程。这太久了!
重建成功后,请务必运行
php artisan nova:publish