Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Modules Laravel Package

mozex/laravel-modules

View on GitHub
Deep Wiki
Context7
3.3.0

What's new

In-memory cache layer. Scout discovery results now live in memory for the lifetime of the PHP process. The first access in a process discovers (or reads the modules:cache file if one exists); every access after that returns from memory. No effect on PHP-FPM or php artisan serve, which start a fresh process per request. Repeat scout access becomes free on Octane, Vapor, and long-running queue workers.

Custom cache drivers via BaseScout::useCacheDriverFactory(). You can now swap the default driver at runtime with a factory closure:

use Mozex\Modules\Contracts\BaseScout;
use Spatie\StructureDiscoverer\Cache\DiscoverCacheDriver;

BaseScout::useCacheDriverFactory(
    fn (BaseScout $scout): DiscoverCacheDriver => new YourDriver($scout->cacheFile())
);

Any class implementing Spatie's DiscoverCacheDriver works. Pass null to restore the default. See the caching docs for details.

Persistable interface. Drivers that need to separate runtime caching (put()) from explicit deploy-time persistence can implement Mozex\Modules\Features\SupportCaching\Persistable. When a driver implements it, BaseScout::cache() calls persist(); otherwise it falls back to put(). The default tiered driver uses this split so runtime cache warming stays in memory while modules:cache writes to disk.

Changes

  • Default driver is now TieredDiscoverCacheDriver (in-memory over file), installed by RuntimeCache::install() during package registration.
  • BaseScout::get() auto-populates the cache driver on a discovery miss, so the in-memory layer warms up naturally on first read.
  • BaseScout::cache() routes through persist() for drivers implementing Persistable, put() otherwise.

Docs

  • Added "Custom cache drivers" section to the caching guide and the Boost skill.

Full Changelog: https://github.com/mozex/laravel-modules/compare/3.2.0...3.3.0

3.2.0

What's changed

Fixes

  • Module name kebab-casing now handles acronyms correctly. Names with consecutive uppercase letters no longer split into individual segments. MyAPImy-api (was my-a-p-i), HTMLParserhtml-parser, IOStreamio-stream. All-uppercase names (PWA, CRM) and standard PascalCase (Blog, UserAdmin) are unchanged. If you have a module with consecutive uppercase letters in its name, double-check your view, Blade component, Livewire, and translation references after upgrading.

  • modules:list reports real file counts for directory-based asset types. Migrations, views, translations, listeners, Livewire components, and Filament assets were showing 1 per module. The command now counts files recursively inside each matched directory.

New

  • Laravel Boost skill. Ships at resources/boost/skills/laravel-modules/SKILL.md and loads automatically on php artisan boost:install. Covers the full facade API, route customization, Livewire/Filament patterns, name guessing, Inertia (Vue and React), and testing setup. The existing Boost guideline has been rewritten to stay lean and focused.

Documentation

  • Complete rewrite of every feature page and integration guide.
  • New Inertia integration guide covering Vue and React: Vite alias with regex, Inertia page resolver for module-scoped pages, controller usage, TypeScript paths config, typed props via Spatie TypeScript Transformer (including the script.globalTypeFiles trick for Vue and the plain-TypeScript flow for React), and module CSS imports.
  • Updated package descriptions in composer.json and context7.json.

Full Changelog: https://github.com/mozex/laravel-modules/compare/3.1.0...3.2.0

3.1.0
  • add modules:list command

Full Changelog: https://github.com/mozex/laravel-modules/compare/3.0.4...3.1.0

3.0.4

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/3.0.3...3.0.4

3.0.3
  • Fix Route::livewire() failing with class references for components registered via addNamespace()

Full Changelog: https://github.com/mozex/laravel-modules/compare/3.0.2...3.0.3

3.0.2

Full Changelog: https://github.com/mozex/laravel-modules/compare/3.0.1...3.0.2

3.0.1
3.0.0

Laravel Modules v3.0.0

A major release that brings full Livewire v4 and Filament v5 support, adds Single-File and Multi-File Component discovery, and modernizes the platform requirements.

Highlights

Full Livewire v4 Component Support

All three Livewire v4 component types are now auto-discovered from your modules:

  • Class-based components (as before)
  • Single-File Components (SFC) — PHP and Blade in one .blade.php file
  • Multi-File Components (MFC) — a named directory with {name}.php and {name}.blade.php

Place SFCs and MFCs in your module's Resources/views/livewire/ directory and they're automatically registered under the module namespace:

<livewire:blog::counter />  {{-- SFC --}}
<livewire:blog::toggle />   {{-- MFC --}}


Namespace-Based Registration

Livewire component registration now uses Livewire::addNamespace(), aligning with Livewire v4's recommended approach for packages. This replaces the previous per-class Livewire::component() registration, resulting in cleaner integration and native support for all component types.

Filament v5 Support

Full compatibility with Filament v5. Module-based Resources, Pages, Widgets, and Clusters continue to be auto-discovered per panel.

Breaking Changes

  • PHP 8.3+ required (dropped PHP 8.2)
  • Laravel 11.29+ required (dropped Laravel 10)
  • Livewire v4 required (dropped v3) — Composer will prevent installation with Livewire <4.0
  • Filament v5 required (dropped v3/v4) — Composer will prevent installation with Filament <5.0
  • LivewireComponentsScout changed from ModuleClassScout to ModuleDirectoryScout — scout output is now directory-based instead of class-based
  • Removed SupportSchedules feature and Mozex\Modules\Contracts\ConsoleKernel — use Routes/console.php with the Schedule facade instead

New Configuration

Add view_path to the livewire-components section if you've published the config:

'livewire-components' => [
    'active' => true,
    'patterns' => [
        '*/Livewire',
    ],
    'view_path' => 'Resources/views/livewire', // New in v3
],


Upgrading

See UPGRADE.md for the full step-by-step upgrade guide.

If your application is not ready to upgrade to Livewire v4 or Filament v5, continue using the 2.x branch which supports PHP 8.2, Laravel 10/11/12, Livewire v3, and Filament v3/v4.

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.8.0...3.0.0

2.8.0

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.7.2...2.8.0

2.7.2

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.7.1...2.7.2

2.7.1
  • Fix AI guidelines rendering

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.7.0...2.7.1

2.7.0

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.6.3...2.7.0

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.6.3...2.7.0

2.6.3
  • fix event service provider

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.6.2...2.6.3

2.6.2
2.6.1

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.6.0...2.6.1

2.5.2
  • fix guess model name for factories caused by laravel/framework#54644

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.5.1...2.5.2

2.5.1

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.5.0...2.5.1

2.5.0

What's Changed

  • Improve the structure of the package
  • improve class discovering

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.4.3...2.5.0

2.4.3
2.4.2

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.4.1...2.4.2

2.4.1
  • fix registering broadcast auth route

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.4.0...2.4.1

2.4.0

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.3.1...2.4.0

2.3.1

What's Changed

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.3.0...2.3.1

2.3.0
  • Add Laravel 11 commands file support

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.2.4...2.3.0

2.2.4
  • fix translations prefix and directory

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.2.3...2.2.4

2.2.3
2.2.1
  • fix filament problem with livewire component registration

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.2.0...2.2.1

2.2.0
  • add support for filament (resources, pages, widgets, clusters)

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.1.0...2.2.0

2.1.0
  • add support for defining route groups

Full Changelog: https://github.com/mozex/laravel-modules/compare/2.0.1...2.1.0

2.0.1
2.0.0

What's Changed

  • refactoring
  • add caching support
  • add support for Model name guessing
  • improve Scheduling
  • add support for Blade Components
  • fix livewire naming
  • improve routes
  • improve factories
  • improve policies
  • improve views
  • improve configs
  • add tests
  • add support for Laravel 11
  • add support for listeners

Full Changelog: https://github.com/mozex/laravel-modules/compare/1.3.0...2.0.0

1.3.0
  • Support Service Providers
1.2.1
  • Fix schedule loading
1.2.0
  • Support Schedules
1.1.0
  • Add support for Policies
1.0.0

Initial Release

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle