nuewire / installer
Interactive installer and updater for Nuewire Laravel packages.
Requires
- php: ^8.2
- composer-runtime-api: ^2.2
- illuminate/auth: ^11.0|^12.0|^13.0
- illuminate/console: ^11.0|^12.0|^13.0
- illuminate/contracts: ^11.0|^12.0|^13.0
- illuminate/filesystem: ^11.0|^12.0|^13.0
- illuminate/http: ^11.0|^12.0|^13.0
- illuminate/support: ^11.0|^12.0|^13.0
- illuminate/translation: ^11.0|^12.0|^13.0
- illuminate/validation: ^11.0|^12.0|^13.0
- illuminate/view: ^11.0|^12.0|^13.0
- laravel/prompts: ^0.1.18|^0.2.0|^0.3.17
- nuewire/support: ^1.0
- psr/log: ^1.1|^2.0|^3.0
- symfony/process: ^7.0|^8.0
Requires (Dev)
- livewire/livewire: ^3.6|^4.0.3
- orchestra/testbench: ^9.0|^10.0|^11.0
- phpunit/phpunit: ^11.0|^12.0
Suggests
- livewire/livewire: Required for the optional web update interface.
- nuewire/platform: Adds Updates under Plugin > Package Management in the Nuewire admin navigation.
README
Install and update Nuewire packages from one Artisan command.
Install
composer require --dev nuewire/installer php artisan nuewire:install
Commands:
php artisan nuewire:install php artisan nuewire:status --updates php artisan nuewire:update
Non-interactive use:
php artisan nuewire:install --feature=platform --feature=users --feature=filesystem --no-interaction php artisan nuewire:update --all --patch-only --no-interaction
Composer remains the source of truth. Commit composer.json and composer.lock after installation or update.
After updating the installer package, clear Laravel's cached package metadata:
composer dump-autoload php artisan package:discover --ansi php artisan optimize:clear
Core support package
nuewire/support is installed as a Composer dependency, not as a selectable feature. It contains the reusable random integer ID trait, shared Nuewire paths, and Livewire component registration helpers. It also appears on the status and update pages when installed.
Users and ACL
The bundled catalog includes:
Platform
Users
ACL
Filesystem
Mail
Platform Logs
Backup
Cache
Selecting Users also selects Platform. Selecting ACL also selects Users and Platform. Selecting Platform Logs also selects Platform and runs the Activitylog publishing step. Selecting Backup also selects Platform and Filesystem, then publishes the Spatie backup configuration. Selecting Cache also selects Platform and publishes the Nuewire Cache configuration. After Composer finishes, add the required traits to the host User model and run:
php artisan nuewire:users:install --migrate --admin=admin@example.com php artisan nuewire:acl:install --user=admin@example.com
Without ACL, the Users page uses is_admin. After ACL is initialized, the same page switches to Spatie roles and permissions.
Add a feature
Add a definition to config/nuewire/installer.php:
'queue' => [ 'package' => 'nuewire/queue', 'constraint' => '^1.0', 'label' => ['id' => 'Queue', 'en' => 'Queue'], 'description' => ['id' => 'Konfigurasi queue.', 'en' => 'Queue configuration.'], 'recommended' => false, 'order' => 40, ],
An optional signed remote catalog can be enabled with NUEWIRE_CATALOG_ENABLED, NUEWIRE_CATALOG_URL, and NUEWIRE_CATALOG_PUBLIC_KEY.
Kompatibilitas Composer
Instalasi dan update umum mendukung Composer 2.x. Opsi --patch-only memerlukan Composer 2.8 atau lebih baru.
Update page
When nuewire/platform 2 and Livewire are installed, the installer registers Plugin → Package Management → Updates at /admin/plugin/updates. The page can check all installed nuewire/* packages. Updates are enabled only in the local environment by default.
The component can also be mounted directly:
<livewire:nuewire-updates />
'ui' => [ 'allow_updates' => true, 'allowed_environments' => ['local'], 'authorization' => [ 'gate' => 'manage-package-updates', ], ],