Package Builder
adrolli opened this issue · 1 comments
adrolli commented
Package Builder Todo List:
- phpstan compat by using (and replacing) placeholders
- rename to pgkname-blade-component
- pgkname-livewire-component
- assets - js mit ausgabe
- assets - css mit sichbarkeit
- tests für komponenten + assets
- https://github.com/usetall/tallui/tree/dev/_components/tallui-app-components/.github/ISSUE_TEMPLATE - in all packages as well
- Finish READMEs - app-components readme, then the rest, add relevant things to builder
- Test using TalluiPackageServiceProvider from Core (use one existing package)
- Add Icons from https://github.com/blade-ui-kit/blade-icons-template to CorePackageProvider, Add Test icons
- Bring in all features from https://github.com/spatie/laravel-package-tools
- Extend with all missing features
- Update Package Builder
- Rebuild all existing packages
- Add docs from https://github.com/spatie/laravel-package-tools and https://github.com/blade-ui-kit/blade-icons
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
adrolli commented
We skip this for now ... builder is ready, icons builder is near...