alizharb/laravel-themer

A professional theme management system for Laravel 11/12 with first-class Livewire 4 support, strict typing, and zero-config modular integration.

Fund package maintenance!
alizharb

Installs: 154

Dependents: 2

Suggesters: 5

Security: 0

Stars: 2

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/alizharb/laravel-themer

1.2.0 2026-02-01 14:15 UTC

This package is auto-updated.

Last update: 2026-02-01 14:17:23 UTC


README

Laravel Themer Banner

Latest Version on Packagist GitHub Tests Action Status GitHub PHPStan Action Status Total Downloads Licence

Laravel Themer is a robust, enterprise-grade theme management package for Laravel applications. It provides a seamless way to manage themes, including asset publishing, view overrides, Livewire 4 integration, and modular support. Designed for modern TALL stack applications, it simplifies the creation of multi-themed applications without the complexity.

โœจ Features

  • ๐Ÿ—๏ธ Independent Vite Builds: Per-theme package.json and vite.config.js for total asset isolation.
  • ๐Ÿ“ฆ NPM Workspaces: Zero-config workspace integration for shared dependencies and optimized storage.
  • โšก Asset Shortcuts: Launch dev servers or build theme assets directly via theme:dev and theme:build.
  • ๐Ÿ› ๏ธ Theme Management: Create, clone, safe-delete, and activate themes with consistent --theme support.
  • ๐Ÿš€ Zero-IO Discovery: High-performance architecture that eliminates filesystem scans in production via deep caching.
  • ๐ŸŒˆ Rich Metadata: Support for screenshots, tags, and management flags (removable, disableable) in theme.json.
  • โšก Livewire 4 Integration: First-class support for Livewire components and layouts with theme-aware resolution.
  • ๐ŸŽจ View Overrides: Intelligent view resolution cascading from Active Theme -> Parent Theme -> Application.
  • ๐Ÿš€ Auto-Blade Discovery: Automatic registration of theme-specific Blade components and inheritance.
  • ๐Ÿท๏ธ Theme Versioning: Support for version metadata in theme.json for easier dependency mapping.
  • ๐Ÿšฆ Ephemeral Switching: Temporarily switch themes for specific tasks using Themer::forTheme().
  • ๐Ÿ›ฃ๏ธ Route Middleware: Enforce specific themes for routes or groups via middleware('theme:name').
  • ๐Ÿงฉ Modular Support: Native integration with laravel-modular including dependency verification in theme:check.
  • ๐Ÿ›ก๏ธ Hierarchy Guard: Built-in validation to detect circular dependencies, missing parents, and asset health.
  • ๐Ÿ”ง Artisan Commands: A comprehensive suite of commands (make, npm, dev, build, clone, delete, list, check, cache) to manage themes.

๐Ÿ“š Documentation

For full documentation, please visit alizharb.github.io/laravel-themer or browse the docs/ directory.

๐Ÿ“ฆ Installation

Install the package via Composer:

composer require alizharb/laravel-themer

Quick Start (Recommended)

Run the installation command to automatically set up Laravel Themer:

php artisan themer:install

This interactive command will:

  • โœ… Publish the configuration file (config/themer.php)
  • โœ… Create the themes directory (default: themes/)
  • โœ… Optionally configure vite.config.js with the themerLoader for automatic theme asset bundling

Manual Configuration

If you prefer manual setup or need more control, see the Installation Guide for detailed instructions on:

  • Publishing configuration files
  • Setting up Vite integration
  • Configuring theme paths and discovery rules

๐Ÿ”— Related Packages

Laravel Themer is part of a comprehensive modular ecosystem for Laravel applications:

Package Description
laravel-modular Framework-agnostic modular architecture with zero-config autoloading and 29+ Artisan command overrides. Required for modular theme discovery.
laravel-modular-livewire Official Livewire 4 bridge providing automatic component discovery and registration within modules.
laravel-modular-filament Official Filament v5 bridge enabling admin panel integration with automatic resource discovery in modules.
laravel-hooks Universal extensibility and plugin system for Laravel 12+ applications with WordPress-style hooks and filters.
filament-themer-luncher A comprehensive Filament v5 interface for managing, switching, and backing up themes.
filament-modular-luncher A powerful Filament v5 manager for listing, toggling, and managing system modules.

These packages work seamlessly together to provide a complete modular development experience.

๐Ÿ“– Usage

Creating a Theme

Generate a new theme with a standard directory structure:

php artisan theme:make "Dark Theme"

Managing Dependencies

Install packages into a theme workspace directly from the root:

php artisan theme:npm --theme=dark-theme install lodash

Developing Assets

Launch a dedicated Vite dev server for your theme:

php artisan theme:dev --theme=dark-theme

Cloning & Deletion

Safe and fast lifecycle management:

# Duplicate an existing theme
php artisan theme:clone "Summer Edition" --theme=dark-theme

# Safe removal (respects 'removable' flag)
php artisan theme:delete --theme=summer-edition

Activating a Theme

Switch the active theme globally:

php artisan theme:activate dark-theme

Livewire Integration

The package automatically registers Livewire components within your theme.

php artisan make:livewire Header --theme=dark-theme

๐Ÿงช Testing

We strictly enforce testing. Use the provided test suite to verify your themes:

vendor/bin/pest

๐Ÿ’– Sponsors

We would like to extend our thanks to the following sponsors for funding Laravel Themer development. If you are interested in becoming a sponsor, please visit the Laravel Themer GitHub Sponsors page.

๐Ÿค Contributing

We welcome contributions! Please see CONTRIBUTING for details.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐ŸŒŸ Acknowledgments

  • Laravel: For creating the most elegant PHP framework.
  • Spatie: For setting the standard on Laravel package development.

๐Ÿ”’ Security

If you discover any security-related issues, please email Ali Harb at harbzali@gmail.com.

๐Ÿ“„ License

The MIT License (MIT). Please see License File for more information.

Made with โค๏ธ by Ali Harb