vipmaa/artisan-gui

Beautiful package for [laravel:artisan] gui for cool kids.

Installs: 34

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 55

Language:Vue

v1 2024-10-14 08:52 UTC

This package is auto-updated.

Last update: 2024-10-14 08:55:34 UTC


README

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 11.*
  • php ^8.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.