mooxphp/moox

Package Builder

adrolli opened this issue · 1 comments

Package Builder Todo List:

Features

All

  • ServiceProvider
  • Configs in /config

Iconset

  • Icons

Database (Full, Data, CRUD)

Components

  • Blade
  • Livewire

Views

  • Blade
  • Livewire
  • ViewComposer

Themes

  • Website
  • Admin

Others

  • Controllers - Path /src/controller -
  • Facades
  • Commands in /src/commands
  • InstallCommand
  • Routes
  • Components
  • Assets
  • Translations
  • Traits
  • Docs
  • Middlewares
  • Broadcast
  • Notifications
  • Mails
  • Exceptions in /src/exceptions
  • Jobs
  • API Connections
  • Contracts
  • Sorting
  • Filter
  • Listing

Tests

  • Unit
  • Feature
  • Surface

Actions

  • Test
  • Analyze
  • Stylefix

Handled by Spatie Package Tools

         ->name('your-package-name')
            ->hasConfigFile()
            ->hasViews()
            ->hasViewComponent('spatie', Alert::class)
            ->hasViewComposer('*', MyViewComposer::class)
            ->sharesDataWithAllViews('downloads', 3)
            ->hasTranslations()
            ->hasAssets()
            ->publishesServiceProvider('MyProviderName')
            ->hasRoute('web')
            ->hasMigration('create_package_tables')
            ->hasCommand(YourCoolPackageCommand::class)
            ->hasInstallCommand(function(InstallCommand $command) {
                $command
                    ->publishConfigFile()
                    ->publishMigrations()
                    ->copyAndRegisterServiceProviderInApp()
                    ->askToStarRepoOnGitHub();
            });

These presets should be available:

  • 1. Full Package - all features
  • 2. Components - Blade and Livewire Components
  • 3. Iconset - Blade SVG Icons');
  • 4. Theme - TailwindCSS Config, Views
  • 5. Module - Admin Panel Module
  • 6. Plugin - Website Plugin
  • 7. Crud - Listing with CRUD-features
  • 8. Block - Editor Blocks
  • 9. Dataset - Static datasets

We skip this for now ... builder is ready, icons builder is near...