rawilk / laravel-stubs
Opinionated modifications to the default Laravel stubs.
Fund package maintenance!
rawilk
Requires
- php: ^8.1|^8.2
- laravel/framework: ^9.0|^10.0|^11.0
- spatie/laravel-package-tools: ^1.13
Requires (Dev)
- laravel/pint: ^1.5
- orchestra/testbench: ^7.8|^8.0|^9.0
- pestphp/pest: ^1.0|^2.0
- spatie/laravel-ray: ^1.31
README
This repo contains opinionated versions of the Laravel stubs. The most notable changes are:
- migrations don't have a
down
function - controllers don't extend a base controller
- none of the model attributes are guarded
- use return type hints where possible
- most docblocks have been removed
declare(strict_types=1);
added to most files
Installation
You can install the package via composer:
composer require rawilk/laravel-stubs --dev
If you want to keep your stubs up-to-date with every update, add this composer hook to your composer.json file:
"scripts": { "post-update-cmd": [ "@php artisan custom-stub:publish --force" ] }
Usage
You can publish the stubs using this command:
php artisan custom-stub:publish
Usage in Packages
If you're developing a package, you may pull these stubs in to your package and generate them just like you would with a normal Laravel project. This is possible when used with Orchestral Canvas. On your package project, run the following command:
composer require --dev rawilk/laravel-stubs orchestra/canvas
Next you need to run:
composer exec canvas preset package
Finally, modify the generated canvas.yaml
file:
preset: Rawilk\Stubs\Canvas\Package namespace: YourPackageNamespace
To generate a file, you can run the following command:
composer exec canvas make:migration CreatePostsTable --create
Running this would generate a migration normally, just like the php artisan make:migration
command would. For more information on canvas, please refer to their documentation.
Tip: Create an alias for composer exec canvas
in your profile to allow easier entering of your generator commands. I personally added the following alias to my bash profile:
alias canvas="composer exec canvas"
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.