Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Nova Tiptap Laravel Package

manogi/nova-tiptap

A Tiptap-based rich text editor field for Laravel Nova, giving you a clean, customizable WYSIWYG experience with configurable extensions and JSON/HTML output for your resource forms.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Editorial UX upgrade inside Laravel Nova. Swapping Nova's default textarea/Trix field for a Tiptap-based WYSIWYG gives content authors, marketers, and support staff real formatting — headings, lists, links, code blocks — without developer involvement. The measurable product win is fewer "please fix the formatting" tickets and faster content turnaround on the resources that matter (Pages, Posts, help-center articles).
  • "Stay in Nova" vs. "stand up a separate CMS." For small-to-mid content surfaces, a drop-in rich-text field is often the deciding factor in whether a dedicated CMS is justified. It makes the cheaper roadmap answer — keep content in Nova, defer Statamic/Contentful/Sanity — defensible. Make that call explicitly rather than letting the field choice quietly make it for you.
  • Build vs. buy vs. fork — the actual decision. Feature selection here is trivial; ownership model is the real fork in the road. At 172 stars, zero dependents, an archived repo, and a last release of 2024-06-27, the honest framing is "fork-and-own," not "install-and-forget." Budget it as a line item, not a footnote.
  • Consolidating legacy WYSIWYG. For teams running CKEditor/TinyMCE in older Nova apps, this is a candidate to standardize editing UX across resources — provided the storage-format and rendering story is settled before rollout, not after.
  • Acceptance criteria for the roadmap. The field persists a ProseMirror JSON document, not plain HTML. "Done" must therefore include: server-side sanitization, a shared JSON→HTML rendering path for preview and production, index/detail display rules that never expose raw JSON, per-field toolbar configuration, and round-trip fixtures for representative documents.
  • A deliberate negative prioritization signal. The health score (1.64) and archived status are a de-risking prompt: timebox a spike before committing sprint capacity, and keep editor functionality off the critical path of a customer-facing launch unless a named owner exists.
  • Forced upgrade planning. Adoption bakes "what happens at the next Nova major?" into the roadmap now, instead of discovering it as an outage later.

When to Consider This Package

Consider it only when all of the following hold:

  • Your Nova major is one this package actually supports. Verify the Composer constraint against your Nova version first — version mismatch is the single biggest failure mode for Nova fields and the most common place a sprint gets wasted.
  • You genuinely need rich text, not Markdown. If plain text or Markdown is acceptable, skip it; you'd be taking on fork ownership to solve a non-problem.
  • You have in-house Laravel/Vue capability and will fork. Archived means no upstream fixes, no security response, no compatibility guarantee. If nobody owns the fork, don't adopt.
  • The editor surface is internal or low-blast-radius — back-office authoring, not a regulated publishing pipeline or a high-traffic public front door.
  • The storage format fits your pipeline. Confirm how ProseMirror JSON becomes HTML for your renderer, search index, email templates, API responses, and mobile clients before editors touch it. Resolve HTML-vs-JSON empirically in a spike rather than trusting the README.
  • You can own server-side sanitization. XSS protection cannot be a client-side concern, and this package will not provide it.

Look elsewhere when:

  • You need vendor support, an SLA, or a maintained release cadence — there is none.
  • You are on, or planning, a Nova major upgrade; archived fields routinely break there.
  • You need accessibility conformance, RTL/i18n, or collaborative editing guarantees — you will be building those yourself.
  • Your content pipeline is regulated or high-traffic and can't absorb permanent fork maintenance.
  • The team has no Vue/ProseMirror experience; debugging a headless editor wrapper without it is an expensive detour.
  • A maintained Nova field alternative exists, or a small custom Vue field would cover the need — both are cheaper than indefinite fork ownership.

How to Pitch It (Stakeholders)

For executives. This is a small MIT-licensed add-on that gives our Nova admin panel a modern rich-text editor, so content and ops teams can write and format articles without developer help. The upside is a visibly better editorial workflow at essentially zero license cost, and it can defer a separate CMS purchase for small content surfaces. The caveat is material: the project is archived, has zero dependent packages, and its last release predates our current maintenance window. So the recommendation is not "adopt as a dependency" — it's "adopt as a fork we own." That means a small, bounded engineering investment up front (roughly a day to fork, spike, and document, plus recurring patch upkeep at Nova upgrades) instead of a recurring vendor fee. The decision we're asking for: approve that ownership model, or direct us to evaluate maintained alternatives first. Total cost is low; the risk is unmanaged abandonment, and we're proposing to manage it explicitly with a documented fallback.

For engineering. It's a thin Vue wrapper exposing Tiptap as a Nova field — headless editor, configurable toolbar via field meta, standard Nova conventions (component(), resolve, fill), publishable assets. Since it's archived with no dependents and no upstream, treat it as source, not a package: fork it into our org, pin an exact tag, add it to the Nova upgrade checklist, and document the fallback (a native Nova field plus a small custom Vue component). Validate the full compatibility matrix — Laravel, PHP, Nova major, Vue, bundled Tiptap — in a non-production spike on day one, and confirm the stored ProseMirror JSON matches our renderer before any editor goes near real content. Non-negotiables before rollout: server-side HTML sanitization, JSON→HTML rendering parity tests, content round-trip and XSS regression tests, and index/detail display rules that never leak raw JSON. If our Nova version isn't already supported, that's the stop sign — don't sink time into porting an unmaintained field.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager