- How do I install jawad-topdot/laravel-grapesjs in Laravel?
- Install it with Composer using composer require jawad-topdot/laravel-grapesjs, then publish the package config, views, migrations, and front-end assets as instructed by the README. Laravel package discovery should register the service provider, but verify this in the package composer.json. Run the migrations only after confirming the persistence contract and testing the install in a disposable branch.
- Which Laravel and PHP versions does laravel-grapesjs support?
- The last release was in May 2023, so treat Laravel 9/10-era constraints as the realistic baseline until you verify composer.json. Laravel 11, Laravel 12, and PHP 8.3+ support should be considered unproven. Check the declared illuminate/support and php constraints, and do not assume a test matrix covers your runtime.
- Does laravel-grapesjs store pages in the database or do I build persistence myself?
- The package overview says it ships controllers, routes, migrations, and views, but the critical question is whether it provides a full model and save/load contract or only a basic example. For production, keep your own PageContent model, save/load endpoints, and renderer behind an anti-corruption layer. Persist the GrapesJS project JSON for re-editing and the rendered HTML/CSS separately for serving.
- How does laravel-grapesjs load GrapesJS: bundled, CDN, or npm?
- The package likely publishes front-end assets or references GrapesJS from a view, but the README should be checked because the loading strategy affects version pinning and CSP. Confirm whether GrapesJS is bundled, pulled from a CDN, or expected through npm. Whichever path you choose, keep one source of truth to avoid a blank canvas caused by mixed legacy asset publishing and a Vite pipeline.
- Can I add custom GrapesJS blocks and plugins to a Laravel app using this package?
- You will probably publish and edit the package Blade view or JavaScript initialization to register custom blocks, plugins, and asset managers. The package is a thin integration wrapper, so expect to own the extension surface rather than rely on a documented plugin API. Keep custom block definitions in your own module so upgrades or replacement do not break domain-specific components.
- Is HTML saved from GrapesJS safe to render in Blade?
- No editor wrapper makes stored rich HTML safe by default; GrapesJS output is a persistent XSS surface. Sanitize server-side on save and again on render with a vetted HTML sanitizer, and enforce a strict Content Security Policy. Do not rely on client-side filtering or trust author-supplied markup just because it came from an admin screen.
- Will laravel-grapesjs work with Vite and Laravel 11 or 12?
- Laravel 11/12 and Vite compatibility are unproven because the last tagged release is from May 2023. The most likely blockers are composer version constraints and legacy asset publishing that conflicts with a Vite/npm build. Test in a branch, be prepared to fork and update constraints, and verify the editor canvas loads in staging rather than only locally.
- How do I integrate GrapesJS with Filament or Nova admin panels?
- There is no built-in Filament or Nova field integration, so expect to write a custom field or embed the package Blade view inside your admin panel. Enforce authorization on your own save and load endpoints, because the package will not know your tenancy or policy rules. This is workable for internal admin tooling but should be treated as custom development.
- Is jawad-topdot/laravel-grapesjs actively maintained, and what are the alternatives?
- The package has a low bus factor, roughly 129 stars, and no plausible upstream security response, so treat staleness as the dominant risk. Alternatives include integrating GrapesJS directly with your own Laravel save/load endpoints or choosing a more actively maintained page-builder package that fits your architecture. Wrap any choice behind your own interfaces so it remains swappable.
- How should I test and deploy a GrapesJS editor in production?
- Add feature tests for authorized save/load, server-side sanitization, and Blade rendering, plus a browser test that confirms the GrapesJS canvas mounts. In deployment, publish assets with cache busting, verify CSP headers, and check the editor in staging behind the same auth and asset pipeline as production. Keep the GrapesJS project JSON and rendered HTML stored separately so delivery does not depend on the editor loading.