Need help with laravel-package-generator?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

melihovv
128 Stars 31 Forks MIT License 82 Commits 2 Opened issues

Description

A laravel package generator

Services available

!
?

Need anything else?

Contributors list

# 306,783
PHP
Laravel
laravel...
63 commits
# 51,276
JavaScr...
Laravel
laravel...
covid19
5 commits
# 370,633
PHP
Laravel
varnish
laravel...
1 commit
# 130,292
PHP
JavaScr...
Shell
Laravel
1 commit

Laravel package generator

GitHub Workflow Status styleci

Packagist Packagist Packagist

Simple package to quickly generate basic structure for other laravel packages.

Install

Install via composer

bash
composer require --dev melihovv/laravel-package-generator

Publish package config if you want customize default values

bash
php artisan vendor:publish --provider="Melihovv\LaravelPackageGenerator\ServiceProvider" --tag="config"

Available commands

php artisan package:new -i {vendor} {package}

Create new package.

Example:

php artisan package:new Melihovv SomeAwesomePackage

This command will:

  • Create
    packages/melihovv/some-awesome-package
    folder
  • Register package in app composer.json
  • Copy package skeleton from skeleton folder to created folder (you can provide your custom skeleton path in config)
  • Run
    git init packages/melihovv/some-awesome-package
  • Run
    composer update melihovv/some-awesome-package
  • Run
    composer dump-autoload

With interactive

-i
flag you will be prompted for every needed value from you.

php artisan package:remove {vendor} {package}

Remove the existing package.

Example:

php artisan package:remove Melihovv SomeAwesomePackage

This command will:

  • Run
    composer remove melihovv/some-awesome-package
  • Remove
    packages/melihovv/some-awesome-package
    folder
  • Unregister package in app composer.json
  • Run
    composer dump-autoload

Interactive mode also possible.

Custom skeleton

This package will copy all folders and files from specified skeleton path to package folder. You can use templates in your skeleton. All files with

tpl
extension will be provided with some variables available to use in them.
tpl
extension will be stripped.

Available variables to use in templates:

  • vendor (e.g. Melihovv)
  • package (e.g. SomeAwesomePackage)
  • vendorFolderName (e.g. melihovv)
  • packageFolderName (e.g. some-awesome-package)
  • packageHumanName (e.g. Some awesome package)
  • composerName (e.g. melihovv/some-awesome-package)
  • composerDesc (e.g. A some awesome package)
  • composerKeywords (e.g. some,awesome,package)
  • licence (e.g. MIT)
  • phpVersion (e.g. >=7.0)
  • aliasName (e.g. some-awesome-package)
  • configFileName (e.g. some-awesome-package)
  • year (e.g. 2017)
  • name (e.g. Alexander Melihov)
  • email (e.g. [email protected])
  • githubPackageUrl (e.g. https://github.com/melihov/some-awesome-package)

Things you need to do manually:

  • In README.md:
    • StyleCI repository identifier
    • Package description
    • Usage section

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.