nasirkhan/module-manager
Laravel module manager for Laravel Starter with version tracking, migration baselines/updates, dependency checks, publish/diff workflows, and enable/disable lifecycle commands. Includes scaffolding, removal, and test generation via Artisan.
Modules/{Module}/) with clear separation of concerns (routes, migrations, tests, etc.), aligning with Laravel’s service provider and package conventions.module:publish) ensures no vendor namespace collisions in published modules, a critical feature for maintainability.MigrationTracker service automates migration state tracking, reducing manual schema table management. However, custom migration logic (e.g., non-standard table prefixes) may require overrides.module.json defines dependencies, but circular dependencies or version conflicts (e.g., Post requiring Category@1.0.0 while Category updates) could break builds. The package lacks explicit semantic versioning enforcement.Modules/) and service provider patterns.priority in module.json) could introduce runtime delays if modules are numerous or poorly optimized. No benchmarks or scaling guidance are provided.module:make-test generates tests, integration tests for module interactions (e.g., Post depending on Category) are not automated. The package’s 0 dependents suggest limited real-world validation.module:track-migrations --force is a nuclear option—no rollback mechanism exists for failed migration tracking. Downtime risk during composer update + migration sync.Post@1.0.0 requiring Category@1.0.0 while Category@2.0.0 exists) be handled?module:status) to mitigate runtime checks?Modules/) be integrated?module:track-migrations --force corrupts state?module:build) be extended to include project-specific files (e.g., custom middleware)?User module used by Post and Comment) managed?Modules/ structure (e.g., custom package namespaces).Blog) and refactor it using module:build.priority in module.json first).module:publish to extract vendor code into Modules/.priority: 10.ModuleServiceProvider, which extends Laravel’s ServiceProvider. Custom providers may need adjustments.routes/web.php and routes/api.php. Conflicts require namespace prefixing (e.g., post::routes).spatie/laravel-package-tools) may conflict with this system’s custom module loading.nasirkhan/module-manager and nasirkhan/laravel-starter.php artisan module:build Core to scaffold a base module.module.json for priority/dependencies.module:build {module} (if new).module:publish {module} (to extract from vendor).module:track-migrations {module} --force.module:status shows all modules as enabled.module:dependencies for circular dependency errors.composer dump-autoload and php artisan config:clear.Post@2.0.0 without touching Category).module:dependencies provides clear graphs of module relationships.module:publish allows vendor file overrides without forking.Modules\Post\Http\Controllers vs. vendor\...).composer dump-autoload may be needed after module:publish.module:track-migrations is required after composer updates, risking schema mismatches.php artisan cache:clear) and check module.json for typos in requires.module:detect-updates to identify new migrations before running migrate.module:status --verbose shows unsatisfied dependencies.module:track-migrations.priority) to load first. Test with 10+ modules to validate boot time.module:track-migrations may take minutes—schedule during low-traffic periods.module.json, dependencies, and updates.How can I help you explore Laravel packages today?