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.
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 --force
flag:
$ laravel-package generate vendor/package-name --force
Using the --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.
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: MIT
, 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
vendor\bin\phpunit
Information will follow soon
If you discover any security related issues, please email [email protected] 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.