- Is pentiminax/ux-editor a Laravel package or a Symfony package?
- The repository describes pentiminax/ux-editor as Editor.js integration for Symfony, while the technical evaluation assesses it as a Laravel-style package with a service provider and publishable assets and config. That mismatch matters, so confirm the framework target and the real composer.json requirements before committing. For a Laravel application, treat it as an unverified UI dependency until a spike proves it installs, boots, and renders.
- How do I install pentiminax/ux-editor in a Laravel app?
- Install with an exact version constraint, for example composer require pentiminax/ux-editor:0.1.2, then publish any config and frontend assets and rebuild with Vite or your asset pipeline. Do not use a caret constraint, because patch releases have already shipped behavioural changes. Run the publish step on a scratch branch first so you can inspect exactly which files land in your application.
- Which Laravel and PHP versions does this Editor.js package support?
- The package is pre-1.0 at v0.1.2, and no CI matrix against Laravel 10, 11, or 12 or PHP 8.2 or 8.3 is documented in the material reviewed. Early-stage packages often target a narrow version range, so read the composer.json constraints before installing. If your project runs an untested combination, budget time for a spike or pick a more established editor integration.
- Why should I pin 0.1.2 instead of using a caret constraint?
- Pinning 0.1.2 protects you from a pattern already observed: v0.1.2 removed package-side ID generation as a patch-level bump from 0.1.1. Pre-1.0 semver permits that churn, but a caret constraint would pull in future patch releases that may break again. Pin the exact version and review the diff manually on every upgrade.
- What changed with ID generation in v0.1.2?
- In v0.1.1 the package apparently generated element or node IDs itself, and v0.1.2 removes that responsibility. The changelog does not clarify whether the removal covered server-rendered element IDs, client-side block IDs, or both. If your code relied on package-generated IDs for anchors, DOM targeting, or persisted output, expect a break on a patch bump. Verify the actual behaviour in a spike rather than assuming a fallback exists.
- How should I generate and store editor block IDs now?
- You now own ID assignment, so design it deliberately: deterministic IDs derived from your own data, collision handling, and stability across save and load round-trips. Implement this in a thin application-level adapter, such as a Blade or Livewire component, rather than scattering ID logic through views. Test the round-trip explicitly by saving, reloading, and asserting that the IDs come back unchanged.
- Does it work with Livewire, Inertia, or plain Blade?
- It is a presentation-layer dependency, so it should sit behind a Blade component or a Livewire or Inertia wrapper that owns ID assignment, serialization, and validation. The package expects a modern frontend build such as Vite, and the underlying editor may need a JavaScript framework bridge. Keep the package API out of domain and service classes so you can swap it later.
- Who handles saving and validating editor content?
- The package does not manage persistence, authorization, or validation, so your application must store the editor output and validate it server-side. Editor.js produces structured JSON, so validate the block schema and sanitize any rendered HTML before display. Treat the editor as untrusted input exactly like any other rich-text field in your forms.
- Is pentiminax/ux-editor production ready?
- Treat it as early-stage: v0.1.x, a small PR count, and a likely single maintainer mean bus factor and long-term support are unproven. Run a time-boxed spike in a non-critical admin screen rather than a production rollout. Reassess if release cadence, migration notes, and test coverage remain undocumented.
- How do I test an Editor.js integration in Laravel?
- Write feature tests that post editor JSON to your endpoint and assert the stored structure plus validation errors, and add a round-trip test that checks ID stability after reload. Use Laravel Dusk or a JavaScript test runner if the editor client behaviour matters. Pin 0.1.2 in CI so a silent patch upgrade cannot change results between runs.