Download the PHP package thegeekengineer/laravel-packager without Composer
On this page you can find all versions of the php package thegeekengineer/laravel-packager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download thegeekengineer/laravel-packager
More information about thegeekengineer/laravel-packager
Files in thegeekengineer/laravel-packager
Package laravel-packager
Short Description A cli tool for creating Laravel packages.
License EUPL-1.1
Homepage https://github.com/TheGeekEngineer/laravel-packager
Informations about the package laravel-packager
Laravel Packager
This package provides you with a simple tool to set up a new package and it will let you focus on the development of the package instead of the boilerplate. If you like a visual explanation check out this video by Jeffrey Way on Laracasts.
Installation
Via Composer
If you do not run Laravel 5.5 (or higher), then add the service provider in config/app.php
:
If you do run the package on Laravel 5.5+, package auto-discovery takes care of the magic of adding the service provider.
Be aware that the auto-discovery also means that this package is loaded in your production environment. Therefore you may disable auto-discovery and instead put in your AppServiceProvider
something like this:
Optional you can publish the configuration to provide a different service provider stub. The default is here.
Available commands
New
Command:
Result: The command will handle practically everything for you. It will create a packages directory, creates the vendor and package directory in it, pulls in a skeleton package, sets up composer.json and creates a service provider.
Options:
The package will be created interactively, allowing to configure everything in the package's composer.json
, such as the license and package description.
Alternatively you may also define your vendor and name with a forward slash instead of a space.
Remarks: The new package will be based on this custom skeleton. If you want to use a different package skeleton, you can either:
- (A) publish the configuration file and change the default skeleton that will be used by all
packager:new
calls. - (B) use the flag
--skeleton="http://github.com/path/to/archive/master.zip"
with your own skeleton to use the given skeleton for this one run instead of the one in the configuration.
Get & Git
Command:
Result:
This will register the package in the app's composer.json
file.
If the packager:git
command is used, the entire Git repository is cloned. If packager:get
is used, the package will be downloaded, without a repository. This also works with Bitbucket repositories, but you have to provide the flag --host=bitbucket
for the packager:get
command.
Options:
It is possible to specify a branch with the --branch
option. If you specify a vendor and name directly after the url, those will be used instead of the pieces of the url.
Tests
Command:
Result:
Packager will go through all maintaining packages (in packages/
) and publish their tests to tests/packages
.
Add the following to phpunit.xml (under the other testsuites) in order to run the tests from the packages:
Options:
Remarks: If a tests folder exists, the files will be copied to a dedicated folder in the Laravel App tests folder. This allows you to use all of Laravel's own testing functions without any hassle.
List
Command:
Result:
An overview of all packages in the /packages
directory.
Options:
The packages are displayed with information on the git status (branch, commit difference with origin) if it is a git repository.
Remove
Command:
Result:
The my-vendor\my-package
package is deleted, including its references in composer.json
and config/app.php
.
Publish
Command:
Result:
The my-vendor\my-package
package will be published to Github using the provided url.
Check
Command:
Result:
The my-vendor\my-package
package will be checked for security vulnerabilities using SensioLabs security checker.
Remarks You first need to run
Issues with cURL SSL certificate
It turns out that, especially on Windows, there might arise some problems with the downloading of the skeleton, due to a file regarding SSL certificates missing on the OS. This can be solved by opening up your .env file and putting this in it:
Of course this means it will be less secure, but then again you are not supposed to run this package anywhere near a production environment.
Issues with timeout
If you are having problems with timeouts when creating new packages, you can now change the config variable timeout in config/packager.php to fix this.
Changelog
Please see changelog.md for what has changed recently.
Contributing
Please see contributing.md for details and a todolist.
Credits
- TheGeekEnginee
- All Contributors
License
The EU Public License. Please see license.md for more information.
All versions of laravel-packager with dependencies
ext-zip Version *
ext-json Version *
illuminate/support Version ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
guzzlehttp/guzzle Version ~7