{"id":15028912,"url":"https://github.com/jeroen-g/laravel-packager","last_synced_at":"2025-05-14T07:08:08.947Z","repository":{"id":33571780,"uuid":"37218114","full_name":"Jeroen-G/laravel-packager","owner":"Jeroen-G","description":"A cli tool for creating Laravel packages","archived":false,"fork":false,"pushed_at":"2025-03-09T20:08:13.000Z","size":250,"stargazers_count":1369,"open_issues_count":17,"forks_count":187,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-05-09T19:48:12.322Z","etag":null,"topics":["boilerplate","development","hacktoberfest","laravel","package"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jeroen-G.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":"contributing.md","funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-06-10T19:30:40.000Z","updated_at":"2025-04-11T22:27:49.000Z","dependencies_parsed_at":"2022-07-08T02:20:40.194Z","dependency_job_id":"d6d1c4b7-e691-4490-a9c3-c4ef6e428cf6","html_url":"https://github.com/Jeroen-G/laravel-packager","commit_stats":{"total_commits":184,"total_committers":32,"mean_commits":5.75,"dds":0.6141304347826086,"last_synced_commit":"4b1a49523b40e349d405dbb9d22b40cb75ffd586"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeroen-G%2Flaravel-packager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeroen-G%2Flaravel-packager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeroen-G%2Flaravel-packager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeroen-G%2Flaravel-packager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jeroen-G","download_url":"https://codeload.github.com/Jeroen-G/laravel-packager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092776,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","development","hacktoberfest","laravel","package"],"created_at":"2024-09-24T20:09:20.406Z","updated_at":"2025-05-14T07:08:08.927Z","avatar_url":"https://github.com/Jeroen-G.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Laravel Packager\n\n[![Latest Version on Packagist][ico-version]][link-packagist]\n[![Total Downloads][ico-downloads]][link-downloads]\n[![Build Status][ico-travis]][link-travis]\n[![StyleCI][ico-styleci]][link-styleci]\n\nThis 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](https://laracasts.com/series/building-laracasts/episodes/3).\n\n## Installation\n\nVia Composer\n\n```bash\ncomposer require jeroen-g/laravel-packager --dev\n```\n\nIf you do not run Laravel 5.5 (or higher), then add the service provider in `config/app.php`:\n\n```php\nJeroenG\\Packager\\PackagerServiceProvider::class,\n```\n\nIf you do run the package on Laravel 5.5+, [package auto-discovery](https://medium.com/@taylorotwell/package-auto-discovery-in-laravel-5-5-ea9e3ab20518) takes care of the magic of adding the service provider.\nBe aware that the auto-discovery also means that this package is loaded in your production environment. Therefore you may [disable auto-discovery](https://laravel.com/docs/5.5/packages#package-discovery) and instead put in your `AppServiceProvider` something like this:\n\n```php\nif ($this-\u003eapp-\u003eenvironment('local')) {\n    $this-\u003eapp-\u003eregister('JeroenG\\Packager\\PackagerServiceProvider');\n}\n```\n\nOptional you can publish the configuration to provide a different service provider stub. The default is [here](https://github.com/jeroen-g/packager-skeleton).\n\n```bash\nphp artisan vendor:publish --provider=\"JeroenG\\Packager\\PackagerServiceProvider\"\n```\n\n## Available commands\n\n### New\n**Command:**\n```bash\nphp artisan packager:new my-vendor my-package\n```\n\n**Result:**\nThe 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.\n\n**Options:**\n```bash\nphp artisan packager:new my-vendor my-package --i\nphp artisan packager:new --i\n```\nThe package will be created interactively, allowing to configure everything in the package's `composer.json`, such as the license and package description.\n\n```bash\nphp artisan packager:new my-vendor/my-package\n```\nAlternatively you may also define your vendor and name with a forward slash instead of a space.\n\n**Remarks:**\nThe new package will be based on [this custom skeleton](https://github.com/jeroen-g/packager-skeleton). If you want to use a different package skeleton, you can either:\n- (A) publish the configuration file and change the default skeleton that will be used by all `packager:new` calls.\n- (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.\n\n### Get \u0026 Git\n**Command:**\n```bash\nphp artisan packager:get https://github.com/author/repository\nphp artisan packager:git https://github.com/author/repository\n```\n\n**Result:**\nThis will register the package in the app's `composer.json` file.\nIf 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.\n\n**Options:**\n```bash\nphp artisan packager:get https://github.com/author/repository --branch=develop\nphp artisan packager:get https://github.com/author/repository my-vendor my-package\nphp artisan packager:git https://github.com/author/repository my-vendor my-package\n```\nIt 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.\n\n### Tests\n**Command:**\n```bash\nphp artisan packager:tests\n```\n\n**Result:**\nPackager will go through all maintaining packages (in `packages/`) and publish their tests to `tests/packages`.\nAdd the following to phpunit.xml (under the other testsuites) in order to run the tests from the packages:\n```xml\n\u003ctestsuite name=\"Packages\"\u003e\n    \u003cdirectory suffix=\"Test.php\"\u003e./tests/packages\u003c/directory\u003e\n\u003c/testsuite\u003e\n```\n\n**Options:**\n```bash\nphp artisan packager:tests my-vendor my-package\n```\n\n**Remarks:**\nIf 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.\n\n### List\n**Command:**\n```bash\nphp artisan packager:list\n```\n\n**Result:**\nAn overview of all packages in the `/packages` directory.\n\n**Options:**\n```bash\nphp artisan packager:list --git\n```\nThe packages are displayed with information on the git status (branch, commit difference with origin) if it is a git repository.\n\n### Remove\n**Command:**\n```bash\nphp artisan packager:remove my-vendor my-package\n```\n\n**Result:**\nThe `my-vendor\\my-package` package is deleted, including its references in `composer.json` and `config/app.php`.\n\n### Publish\n**Command:**\n```bash\nphp artisan packager:publish my-vendor my-package https://github.com/my-vendor/my-package\n```\n\n**Result:**\nThe `my-vendor\\my-package` package will be published to Github using the provided url.\n\n### Check\n**Command:**\n```bash\nphp artisan packager:check my-vendor my-package\n```\n\n**Result:**\nThe `my-vendor\\my-package` package will be checked for security vulnerabilities using SensioLabs security checker.\n\n**Remarks**\nYou first need to run\n\n```bash\ncomposer require sensiolabs/security-checker\n```\n\n\n## Issues with cURL SSL certificate\nIt 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:\n```\nCURL_VERIFY=false\n```\nOf course this means it will be less secure, but then again you are not supposed to run this package anywhere near a production environment.\n\n## Issues with timeout\nIf 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.\n\n## Changelog\n\nPlease see [changelog.md](changelog.md) for what has changed recently.\n\n## Contributing\n\nPlease see [contributing.md](contributing.md) for details and a todolist.\n\n## Credits\n\n- [JeroenG][link-author]\n- [All Contributors][link-contributors]\n\n## License\n\nThe EU Public License. Please see [license.md](license.md) for more information.\n\n\n[ico-version]: https://poser.pugx.org/jeroen-g/laravel-packager/v/stable?format=flat-square\n[ico-downloads]: https://img.shields.io/packagist/dt/jeroen-g/laravel-packager.svg?style=flat-square\n[ico-travis]: https://img.shields.io/travis/Jeroen-G/laravel-packager/master.svg?style=flat-square\n[ico-styleci]: https://styleci.io/repos/37218114/shield\n\n[link-packagist]: https://packagist.org/packages/jeroen-g/laravel-packager\n[link-downloads]: https://packagist.org/packages/jeroen-g/laravel-packager\n[link-travis]: https://travis-ci.org/Jeroen-G/laravel-packager\n[link-styleci]: https://styleci.io/repos/37218114\n[link-author]: https://github.com/Jeroen-G\n[link-contributors]: ../../contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeroen-g%2Flaravel-packager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeroen-g%2Flaravel-packager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeroen-g%2Flaravel-packager/lists"}