- Can I use combat-ui/core-bundle directly in a Laravel project without Symfony?
- No, this is a Symfony bundle, not a native Laravel package. You’ll need to integrate it via Laravel-Symfony bridges like spatie/laravel-symfony or adapt its components for Laravel’s ecosystem (e.g., Blade/Twig compatibility layers). For frontend-only use, consider embedding Combat UI as a CDN asset or npm package instead.
- How do I integrate Combat UI’s frontend components with Laravel’s asset pipeline (Vite/Webpack)?
- Combat UI likely relies on Webpack Encore (Symfony default). For Laravel, migrate assets to Vite or Laravel Mix by configuring Combat UI’s build tools to output compatible JS/CSS bundles. Test component rendering in Laravel’s Blade or Inertia.js views to ensure compatibility with Laravel’s asset compilation.
- What Laravel versions does combat-ui/core-bundle support, given it’s a Symfony bundle?
- The bundle itself targets Symfony, not Laravel, but you can use it with Laravel 9+ via spatie/laravel-symfony (supports Symfony 5.4+). For older Laravel versions, check if the Symfony bridge supports your Laravel release or manually adapt dependencies. Always verify compatibility with your Laravel kernel and service container.
- Are there OpenDxp-specific dependencies I need to replace for Laravel use?
- Yes, the bundle is tightly coupled with OpenDxp, which may include custom Doctrine entities, Symfony services, or Twig extensions. Abstract OpenDxp logic into a thin service layer or replace dependencies with Laravel equivalents (e.g., Eloquent for Doctrine, Blade for Twig). Audit the bundle’s `composer.json` for hard dependencies.
- How do I handle authentication if Combat UI uses Symfony’s security component?
- Laravel’s built-in Auth (Sanctum/Passport) can sync with Combat UI’s frontend by exposing API endpoints for login/logout. Use Laravel’s middleware to validate requests and pass user data to Combat UI via Inertia.js or a custom API layer. Avoid direct Symfony security integration unless using spatie/laravel-symfony.
- What are the licensing risks of embedding Combat UI in a Laravel app?
- Check the bundle’s license (likely MIT) and its sub-dependencies for restrictions. Combat UI’s frontend framework may have separate licensing (e.g., proprietary or AGPL). For commercial projects, ensure compliance with all licenses, especially if using OpenDxp’s proprietary components. Consult a legal expert if embedding in closed-source Laravel apps.
- Is there a Laravel-native alternative to combat-ui/core-bundle for UI components?
- Yes, consider Laravel-specific UI libraries like Tailwind UI, PrimeVue, or Livewire components. For frontend frameworks, Inertia.js bridges Laravel with Vue/React, while Alpine.js integrates natively. If Combat UI offers standalone components, wrap them in Laravel-compatible wrappers or use a micro-frontend approach with iframes/web components.
- How do I test Combat UI integration in a Laravel environment?
- Start with frontend tests using Laravel’s Dusk or Jest for Combat UI components. Mock Laravel backend responses (e.g., API routes) to simulate data flow. For full-stack tests, use Pest or PHPUnit to verify Blade/Inertia.js integration. Test edge cases like asset loading, authentication states, and error handling in production-like environments.
- What’s the migration path if Combat UI or OpenDxp evolves with breaking changes?
- Monitor the Combat UI GitHub for release notes and deprecations. If the bundle updates, assess changes to Symfony dependencies (e.g., Twig, DI container) and adapt Laravel integrations accordingly. For OpenDxp-specific logic, maintain a compatibility layer to isolate changes. Consider forking the bundle if upstream changes conflict with Laravel’s architecture.
- Can I use combat-ui/core-bundle in production without OpenDxp?
- Technically possible, but risky. The bundle’s OpenDxp dependencies may introduce instability or security gaps. For production, extract only the frontend components (if available) and rebuild them as Laravel-compatible assets. Avoid relying on OpenDxp’s backend services unless you’ve fully abstracted them. Test thoroughly in staging before deployment.