- Is tbmatuka/editorjs-bundle a Laravel package or a Symfony bundle?
- It is a Symfony bundle, not a Laravel package. Its plumbing is Symfony-specific: Kernel bundle registration, DI service definitions, config tree loading and likely Twig helpers, none of which map onto Laravel service providers, facades or Blade. In a Laravel codebase the bundle as a unit is architecturally inert, so treat it as a reference implementation rather than a dependency.
- How do I install tbmatuka/editorjs-bundle in a Laravel application?
- You can pull it in with Composer, but there is no Laravel service provider, facade or Blade integration to register. Installing it in Laravel gives you Symfony wiring you cannot use, plus likely PHP version constraints that fight a modern Laravel 10 or 11 install on PHP 8.2+. The practical path is to read the source and port the block-to-HTML rendering logic into your own app classes.
- How do I render Editor.js JSON content to HTML in Laravel?
- Editor.js persists a plain JSON document with a time, blocks array and version, so the server only needs to validate the payload and map blocks to safe HTML. Implement an app/Support/EditorJs/Renderer class with a block-type registry in config/editorjs.php so unknown or newer blocks degrade gracefully instead of throwing. Wire it behind a RenderEditorJs action and avoid depending on the Symfony bundle itself.
- Does this package sanitize Editor.js output to prevent XSS?
- It is unclear whether the bundled renderer escapes block content or trusts it, and there is no documented sanitiser or security policy. Any package that turns user-authored JSON into HTML is an XSS liability until proven otherwise. If you port the logic, wrap it in your own allowlist sanitiser that restricts tags and attributes per block type.
- Which Editor.js block types and schema versions does tbmatuka/editorjs-bundle support?
- The last release was 2021-03-14, so roughly four years of Editor.js block-schema drift is unaddressed. Expect gaps around nested lists, tables, toggle, warning, code blocks with a language field, and delimiters. Pin your front-end Editor.js version and mirror its block set explicitly in your own renderer registry.
- Will this bundle work with Laravel 10 or 11 on PHP 8.2?
- A Symfony bundle from 2021 typically pins PHP constraints around the 7.1 to 8.0 era, which will drag Composer resolution friction into a modern Laravel 10 or 11 app. Even if it installs, the Symfony Kernel and DI assumptions do not apply in Laravel. There is no Laravel version support to speak of because it is not a Laravel package.
- Is tbmatuka/editorjs-bundle still maintained?
- No meaningful maintenance signal exists: the last release was 2021-03-14, there is no security policy, and the repository shows around 19 stars and zero dependents. That means no production feedback, no community patch stream and no Stack Overflow surface. Adopting it realistically means owning a fork within twelve months.
- What are the alternatives to this Symfony Editor.js bundle for Laravel?
- Look at editorjs-php and its Laravel wrappers, which are closer to the Laravel stack and more actively released. Compare release cadence, block coverage and sanitiser behaviour before choosing. If neither fits, a small first-party renderer of a few hundred lines with fixture tests is a low-risk option.
- How should I store Editor.js content in a Laravel database?
- Persist both the raw JSON and the rendered HTML, for example content_json and content_html columns, so reads never re-render. Add a schema_version column so future block additions can be backfilled rather than guessed when the Editor.js block set changes. This also keeps your API contract stable if you later swap renderers.
- How do I test an Editor.js renderer in Laravel?
- Use fixture JSON documents covering each supported block type, including nested lists and code blocks with a language, and assert against expected HTML snapshots. Add explicit XSS payload fixtures to prove the sanitiser strips scripts, event handlers and unsafe attributes. Run these as feature tests so regressions in block mapping fail fast in CI.