gregsphotography/tinymce-nova
Integrates the TinyMCE rich-text editor into Laravel Nova as a reusable field. Add a configurable WYSIWYG editor to Nova resource forms for creating and editing formatted HTML content, with familiar toolbar and editing controls. Supports standard TinyMCE configuration for flexible content editing in...
Architecture fit. This is a Nova field package: a thin adapter between Nova's field lifecycle and the TinyMCE editor, with a small configuration surface for asset sourcing (local vs. CDN). That is the right shape for the problem — it keeps editor concerns out of application code and confines coupling to two well-defined boundaries (Nova's field API and TinyMCE's init/config API). The tradeoff is that the package inherits the version cadence of both Nova and Laravel, and the release notes validate specifically against Laravel 13 / Nova 5, which is a narrow supported matrix.
Integration feasibility. Low effort. Register the field on a Nova resource, publish the config, choose local or CDN asset delivery, done. v1.2.2 materially improves this story by de-risking the asset path: concurrent-load sharing, a configurable source, and an editable fallback on load failure or timeout address the most common "editor didn't render" production incident for CDN-backed fields.
Technical risk.
composer.json constraints before committing.Key questions.
php, laravel/framework, and nova — and is there a supported path for Laravel 11/12 or Nova 4?Stack fit. A Nova 5 field on Laravel 13, rendering TinyMCE. Fits existing Nova admin surfaces well; the notes make no claim of a standalone Blade/Livewire component, so treat it as Nova-only.
Migration path. Patch release with no schema change and no stored-content change — a drop-in composer update in most cases. The one caveat is configuration: "forward editor configuration and use the correct defaults when switching between local and CDN sources" implies config semantics moved. Diff the published config against the package default rather than blindly re-publishing.
Compatibility. Verify the PHP and framework constraints, confirm the published asset build lands where the field expects it (e.g. public/vendor/...), and check coexistence with the app's Vite/Mix pipeline and CSP headers. If the app is on an older Nova major, this release likely does not apply.
Sequencing.
Maintenance. Small dependency surface, but three moving targets: Nova, Laravel, and TinyMCE upstream. Choosing local assets means owning editor bundle upgrades and CVE response; choosing CDN shifts that to the vendor in exchange for an availability and CSP dependency. Budget for at least quarterly review.
Support. Anticipate tickets in three buckets: editor not appearing (asset path, CSP, blocked CDN), formatting lost or altered after a fallback session, and "the detail view doesn't look like the editor." The fallback behavior is user-visible and should be documented for content editors before rollout — it is a behavior change, not just a bug fix.
Scaling. Client-side only; no meaningful server-side load beyond static asset serving. Local assets benefit from standard HTTP/CDN caching in front of the public directory. Concurrent-load sharing reduces duplicate TinyMCE fetches on pages rendering multiple fields.
Failure modes.
Ramp-up. Low for developers (config plus field registration, roughly half a day including staging validation and CSP work if using CDN). Moderate for content editors, who need a short brief on fallback behavior and detail-view rendering.
How can I help you explore Laravel packages today?