New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

melihovv/laravel-package-generator

A laravel package generator
34,752 142
Install
composer require melihovv/laravel-package-generator
Latest Version:7.0.1
PHP:>=7.2
Laravel:6 · 7 · 8
Older releases:5
License:MIT
Last Updated:Nov 1, 2020
Links: GitHub  ·  Packagist
Maintainer: melihovv

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

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

Publish package config if you want customize default values

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. amelihovv@ya.ru)
  • 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 amelihovv@ya.ru instead of using the issue tracker.

Credits

Related Packages

atnic/laravel-generator

Generator for Laravel Framework.

1,869 15
atnic/lumen-generator

Generator for Lumen Framework.

12 2
dgtlss/easyerd

A Laravel package to generate ERD diagrams from models and migrations

184 7
jackiedo/laravel-packager

A CLI tool to create packages for Laravel application.

1,279 5
rpvirtual/laravel-api-module

Generador de módulos API para Laravel (CRUD, servicios, providers, migraciones y...

5 0

Version History

Version Released PHP Laravel License
7.0.1 >=7.2 ^6.0|^7.0|^8.0 MIT
7.0.0 >=7.2 ^6.0|^7.0 MIT
6.2.0 >=7.2 ^6.0 MIT
6.1.0 >=7.2 ^6.0 MIT
6.0.1 >=7.2 ^6.0 MIT