Laravel Package CLI
This project delivers a simple set of Console Commands to generate a directory structure for laravel package development.
For example simply create the complete directory structure for a new package by calling
laravel-package generate vendor/package-name
Install this command as a global composer package
$ composer global require aheenam/laravel-package-cli
You can then create a new repository by calling the following command:
$ laravel-package generate vendor/package-name
This command will create a directory named
package-name and will setup a basic setup for creating a Laravel package.
The directory structure will look like following:
├── database/ │ ├── .gitkeep ├── config/ │ ├── package-name.php ├── src/ │ ├── PackageNameServiceProvider.php ├── tests/ │ ├── TestCase.php ├── .gitignore ├── CHANGELOG.md ├── composer.json ├── LICENSE ├── phpunit.xml ├── README.md
All the files and classes will have set the correct names and namespaces, but remember that the generator is just creating a starting point. You should go through the files and add stuff that is missing.
Pass a custom path
You can also pass an second argument specifying the path where the packages should be generated.
$ laravel-package generate vendor/package-name packages/aheenam/
Above example would generate the package at
./packages/aheenam/packages-name. This can be handy if you want to use this generator within an existing Laravel project.
By default you will get an error notice if a directory with given package name already exists. You can ignore existing directories by using the
$ laravel-package generate vendor/package-name --force
Install composer dependecies
--install flag, you can enforce that, after the generation of the package is done, the command changes into the new directory and runs
composer install to install the dependecies.
Generate a LICENSE
You can pass an option to not only create an empty LICENSE file, but also populate it with the appropriate LICENSE content.
$ laravel-package generate vendor/package-name --license=MIT
Currently there are 3 LICENSE types implemented:
Apache 2.0 and
GNU GPL v3. Just pass the names and you should get your LICENSE generated.
Check CHANGELOG for the changelog
To run tests use
$ composer test
If you are working on a windows machine use
Information will follow soon
If you discover any security related issues, please email firstname.lastname@example.org or use the issue tracker of GitHub.
Aheenam is a small company from NRW, Germany creating custom digital solutions. Visit our website to find out more about us.
The MIT License (MIT). Please see License File for more information.