bbs-lab/nova-toast-ui-editor-field
A Laravel Nova field that brings the Toast UI Editor into your admin panel, giving users a rich markdown and WYSIWYG editing experience with live preview, so long-form content is easier to write and manage.
Architecture fit
bbs-lab/nova-toast-ui-editor-field is a Laravel Nova form field that wraps the upstream TOAST UI Editor as a custom Nova field component. Architecturally it is a thin adapter in three layers: a PHP Field subclass (server-side definition, storage, optional traits), a compiled Vue/JS asset registered with Nova's field registry, and the third-party @toast-ui/editor bundle. It fits applications that already run Nova as the admin surface and need rich Markdown/WYSIWYG authoring on an Eloquent attribute. It is not a general-purpose editor package and provides no value outside Nova.
Integration feasibility
Integration is low-effort by design: composer require, declare the field on a Nova resource, and (depending on how the service provider registers assets) publish or serve the compiled JS. No configuration surface, no migrations, no queue/worker implications. The main gating requirement is a valid Nova license and a Nova major that the package supports. Because the field is a single attribute editor, the blast radius is confined to whatever resources opt in.
Technical risk
Key questions
composer.json floor for PHP/Laravel/Nova, or is the Laravel 13 support purely an additive constraint widening? Is it a safe drop-in for v2.0.0 consumers on older stacks?@toast-ui/editor bumped in this release, and what version is pinned? Does it include the recent security fixes?Stack fit
Laravel + Nova admin application. The field is a drop-in for any Nova resource attribute currently using Textarea, Markdown, or Trix/Text fields, provided the storage format matches what your render path expects. It is a poor fit if you need structured/block content, collaborative editing, or a non-Nova authoring surface.
Migration path
Trix/Text (HTML storage) or moving the other direction, plan a content normalization step — do not mix formats in one column.Compatibility
Requires verifying the actual constraint set from composer.json at the v2.1.0 tag rather than inferring from release notes. The notes assert Laravel 13 support but say nothing about Nova version pairing, PHP floor, or backward compatibility with 10/11/12.
Sequencing
composer.json and the diff at v2.1.0 (constraints, pinned editor version, asset changes).Maintenance
Low ongoing effort but non-zero ownership: pin the version explicitly (avoid floating ^2), track upstream @toast-ui/editor advisories independently of this package's release cadence, and budget for an internal fork if maintenance lapses. Add a calendar reminder to re-evaluate on each Laravel/Nova major rather than waiting for a compatibility PR.
Support Community-only via GitHub issues; no vendor contact, no security disclosure process documented. Internal teams must own triage. Escalation path is: pin, patch locally, or fork.
Scaling
The dominant scaling cost is client-side: the TOAST UI Editor bundle is heavy and loads on every Nova form page using the field, which is noticeable on slow admin connections. Content lands in a TEXT/LONGTEXT column; very large documents inflate row size and degrade full-text search depending on your indexing strategy. There is no server-side rendering cost, so horizontal scaling of the app tier is unaffected. Image/file uploads are not handled by the field itself — plan a separate upload path and a storage/CDN story before enabling it.
Failure modes
Ramp-up Hours for a developer already fluent in Nova custom fields; the field API is conventional. The real onboarding cost is policy, not code: document whether the column stores Markdown or HTML, mandate sanitization at render time, and define who owns the fork if upstream goes quiet. Add one integration test per resource that asserts round-trip fidelity so editor swaps are caught in CI rather than by editors.
How can I help you explore Laravel packages today?