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

Laravel Jodit Laravel Package

nasirkhan/laravel-jodit

Laravel Jodit integrates the Jodit WYSIWYG editor through one reusable Blade component, working in plain Blade templates, view components, and Livewire. Includes a bundled file browser and uploader, CDN assets, and a publishable config.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for rich-text editing. This package is a thin Blade wrapper plus a connector controller around the upstream Jodit editor (MIT, third-party). The buy decision is small — roughly a component, a config file, an upload route — so frame it as "buy a head start, own the fallback" rather than "adopt a platform dependency."
  • Feature decisions: content authoring in admin surfaces. It directly unblocks any form that needs formatted HTML: CMS pages, blog posts, product descriptions, email templates, help-center articles, notification bodies. If your roadmap has "editors need formatting beyond a textarea," this is the shortest path.
  • Roadmap sequencing for Livewire/Blade admin panels. Because it supports wire-model two-way binding with a debounce and auto-applies wire:ignore, it lets a Livewire-first admin ship editor fields without a JS framework, an npm pipeline, or a custom Livewire component. That removes a workstream from the roadmap rather than adding one.
  • Build-step elimination as a deliberate constraint. CDN-hosted Jodit assets mean no Vite/npm changes, no asset versioning work, no CI build step. This matters for teams with no frontend specialist, for internal tooling, and for quick prototypes you may throw away.
  • Media handling scope. The bundled connector (disk, base_path, max_file_size, allowed_mimes, image resize/crop via intervention/image) lets you decide "editor uploads land in a configurable disk/path" as a real product choice instead of a bespoke build. It is not a DAM/media library — decide explicitly whether you need one.
  • Make-vs-configure for toolbars. Named profiles and button arrays let Product define the editing surface (e.g., a compact excerpt toolbar vs. a full article toolbar) as configuration, not code — a cheap lever for tightening or loosening what authors can do.
  • Risk acceptance as a tracked decision. 2 stars, 0 dependents, single maintainer, README+releases-only maturity. Adopt it with a written position: pin the version, keep a fork/vendor contingency, and treat "swap in our own Jodit Blade component" as a known, low-cost escape hatch (the wrapper is small; the coupling is thin).

When to Consider This Package

Reasonable fit when all of these hold:

  • Laravel 11/12/13 on PHP 8.2+, already using Blade (and ideally Livewire) for admin surfaces.
  • The editor is for internal, authenticated authors, not untrusted public input.
  • You want a WYSIWYG field live this sprint and accept a low-adoption, single-maintainer dependency.
  • No-build-step is a genuine constraint (no frontend owner, no asset pipeline work budgeted).
  • Your layout can expose the after-styles / after-scripts stacks (or you'll repoint them in config).
  • You're willing to own the security posture yourself: server-side HTML sanitization on save, upload authorization, and SVG handling.

Look elsewhere (or build a thin wrapper yourself) when:

  • Security posture is strict. Defaults ship svg in allowed_mimes (stored-XSS vector), a public disk, and web, auth middleware with no per-user/per-role authorization or path scoping — any authenticated user can browse the shared media path. If you can't confidently harden that, don't ship it near user-generated or multi-tenant content.
  • Third-party CDN assets are disallowed (supply-chain policy, air-gapped/on-prem, GDPR/DPA review, CSP with no external script origins). You can override cdn_css/cdn_js to self-host, but then you've taken on asset management — recalculate the "no build step" benefit.
  • You need a modern block editor (TipTap, Editor.js, Lexical) or deep Notion-style content modelling — Jodit is a classic toolbar WYSIWYG.
  • You need a real media library: Spatie Media Library, laravel-medialibrary, UniSharp-style file managers, conversions, image CDNs, per-model attachments. The built-in connector is a starter, not a media platform.
  • You need vendor SLAs, a security policy, CVE responsiveness, or broad community support. Two stars and zero dependents mean you are effectively the maintainer of last resort.
  • Accessibility is a launch gate and you haven't validated Jodit's keyboard/screen-reader behaviour with your chosen toolbar profile.
  • Your team would rather standardize on a first-party Livewire editor — a ~100-line custom Blade component wrapping Jodit gives you the same value with no external dependency and full control over the connector.

How to Pitch It (Stakeholders)

Executives (one paragraph): We have several admin forms that need formatted text, and today that's either a plain textarea or a build-it-ourselves task. This MIT-licensed Laravel package gives us a drop-in editor component, including image/file upload, in an afternoon rather than a sprint — no new frontend build tooling. It's a small, single-maintainer open-source project, so I recommend adopting it as an internal-tooling accelerator, pinned and isolated behind our own Blade component, with a fallback plan to swap it out. The main open items are security review of uploads and permissioning, and a decision on third-party CDN assets.

Engineering (summary):

  • What it is: one Blade component (<x-jodit::editor name="content" />), a bundled Jodit connector controller for browse/upload, and a publishable config. Works in plain Blade and Livewire (wire-model, wire:ignore, 300 ms debounce).
  • Why it's cheap: no npm/Vite work, assets from unpkg, config-driven toolbars and storage.
  • What we must own before shipping:
    1. Sanitize on save — treat editor HTML as untrusted; server-side allowlist filtering is on us.
    2. Lock down the connector — publish config, disable the package route, re-register under admin middleware, scope upload paths per tenant/role, drop svg and tighten allowed_mimes/max_file_size.
    3. Asset policy — decide CDN vs. self-hosted cdn_css/cdn_js (CSP, SRI, availability, privacy review).
    4. Contingency — pin the version, wrap it in our own component so call sites don't reference the vendor namespace, and keep the ~1-day "replace with our own Jodit wrapper" option documented.
  • Effort: integration hours, not days. Hardening and review is the real work.
  • Verdict: approve for internal authenticated authoring behind our own wrapper; do not make it a load-bearing dependency for public, multi-tenant, or regulated content without a fork-and-own decision.
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.
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table