/artisan-gui

Simple but yet powerful library for running almost all artisan commands.

Primary LanguageVue

This package now in very slow development. It's not abandoned, you can still use it.

Currently, started development of the new package. #34

Artisan GUI

:artisan gui

Packagist License Packagist Version Packagist Downloads Packagist PHP Version Support GitHub code size in bytes

Simple but yet powerful library for running some artisan commands.

Requirements

  • Laravel 8.*
  • php ^7.3

Installation

Just install package:

composer require infureal/artisan-gui

Installing 2.0.0@beta

composer require infureal/artisan-gui:2.0.0@beta

Vendor publishing

By default package has predefined config and inline styles and scripts. Since version 1.4 you can publish vendors like css and js files in vendor/artisan-gui:

php artisan vendor:publish --provider="Infureal\Providers\GuiServiceProvider"

Publish only config:

php artisan vendor:publish --tag="artisan-gui-config"

Publish only styles and scripts:

php artisan vendor:publish --tag="artisan-gui-css-js"

Running command

By default, you can access this page only in local environment. If you wish you can change local key in config.

Simply go to http://you-domain.com/~artisan and here we go! Select needed command from list, fill arguments and options/flags and hit run button.

What's new in v2

  • Moved to SPA/Vue
  • UI changed to more readable (IMHO)
  • Implementing search (with new design it's hard to find some command without search)
  • Added permission field to config (for more flexible adjustment)
  • Added array option fields

Configuration

Default config is:

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Middleware list for web routes
    |--------------------------------------------------------------------------
    |
    | You can pass any middleware for routes, by default it's just [web] group
    | of middleware.
    |
    */
    'middlewares' => [
        'web',
//        'auth'
    ],

    /*
    |--------------------------------------------------------------------------
    | Route prefix
    |--------------------------------------------------------------------------
    |
    | Prefix for gui routes. By default url is [/~artisan-gui].
    | For your wish you can set it for example 'my-'. So url will be [/my-artisan-gui].
    |
    | Why tilda? It's selected for prevent route names correlation.
    |
    */
    'prefix' => '~',

    /*
    |--------------------------------------------------------------------------
    | Home url
    |--------------------------------------------------------------------------
    |
    | Where to go when [home] button is pressed
    |
    */
    'home' => '/',

    /*
    |--------------------------------------------------------------------------
    | Only on local
    |--------------------------------------------------------------------------
    |
    | Flag that preventing showing commands if environment is on production
    |
    */
    'local' => true,
    
    /*
    |--------------------------------------------------------------------------
    | List of command permissions
    |--------------------------------------------------------------------------
    |
    | Specify permissions to every single command. Can be a string or array
    | of permissions
    |
    | Example:
    |   'make:controller' => 'create-controller',
    |   'make:event' => ['generate-files', 'create-event'],
    |
    */
    'permissions' => [
    ],
    
    /*
    |--------------------------------------------------------------------------
    | List of commands
    |--------------------------------------------------------------------------
    |
    | List of all default commands that has end of execution. Commands like
    | [serve] not supported in case of server side behavior of php.
    | Keys means group. You can shuffle commands as you wish and add your own.
    |
    */
    'commands' => [
        // ...
    ]

];

Issues

If have any issue please write me.