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

Filament Ace Editor Laravel Package

open-kampus/filament-ace-editor

Ace Editor field for Filament forms, adding a full-featured code editor with syntax highlighting and themes to your admin panels. Edit JSON, HTML, CSS, PHP and more directly in Filament resources, with configurable editor options and a simple, drop-in form component.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Package: open-kampus/filament-ace-editor — a Filament form-field component that embeds the Ace code editor for editing code/JSON/markdown-style content inside admin panels.

Architecture fit. Narrow, single-purpose UI package with a very small server-side surface: a Filament form component class, a Blade view, and client-side Ace assets. It does not introduce services, queues, persistence layers, or middleware, so it sits cleanly alongside existing Filament panel architecture without shaping it. Fit is strong if we already run Filament; near-zero value if we do not.

Integration feasibility. Low effort. Typical path is composer require, optional asset/config publish, then use the field inside a form schema. The 1.1.2 change ("Laravel 12 support") is a compatibility broadening, almost certainly a widening of illuminate/* / laravel/framework constraints in composer.json rather than functional change — it unblocks adoption on Laravel 12 rather than adding capability. This removes what was previously the single biggest adoption blocker for teams already on Laravel 12.

Technical risk. Low-to-moderate, concentrated in three areas:

  • Transitive constraint risk. A patch-level compatibility bump can accidentally permit Filament/Laravel combinations that were never tested. We must inspect the actual constraint ranges and the CI matrix, not the release note.
  • Client-side asset surface. Ace is a sizable JS bundle. Whether it is bundled locally or pulled from a CDN determines CSP posture, offline/air-gapped viability, and supply-chain exposure.
  • Livewire lifecycle behaviour. Rich editors inside Livewire-rendered forms are a known source of state desync on re-render, validation error round-trips, and wire:model hydration. This is the most likely source of real defects.

Key questions.

  1. Which Filament major versions does 1.1.2 support, and is that combination covered in CI for Laravel 12?
  2. Exact constraint diff in composer.json between 1.1.1 and 1.1.2 — was anything widened beyond Laravel 12?
  3. Are Ace assets published/vendored locally or loaded remotely? Which Ace version is pinned?
  4. Does the field support Livewire v3 wire:model (deferred vs. live) and validation error display correctly?
  5. Does it degrade gracefully (plain textarea) if the JS asset fails to load?
  6. What is the maintenance cadence and bus factor for Open-Kampus? Is there a release history beyond compatibility bumps?
  7. Is there a documented licence compatible with our distribution model?

Integration Approach

Stack fit. Requires Laravel + Filament + Livewire. Laravel 12 support in 1.1.2 means it now aligns with a current-generation stack; no architectural compromise is needed to adopt it.

Migration path. Greenfield within an existing Filament panel — there is no data migration, no schema change, and no backfill. Content is stored as a normal text/long-text column, so the field is swappable: replacing it later with a plain Textarea or a different editor leaves data intact. That reversibility is the main reason to accept the dependency.

Compatibility. Three-way constraint triangle to verify before committing: Laravel version × Filament major × this package. Laravel 12 support is only meaningful if the Filament major we run is also supported at that combination. Pin to ^1.1.2 explicitly rather than a loose * or caret on an older minor, so that a future patch cannot silently widen constraints beneath us. Check composer why-not / composer update --dry-run output in a scratch branch first.

Sequencing.

  1. Verify constraint diff and CI matrix for 1.1.2 (blocking — do this before anything else).
  2. Confirm Filament major compatibility and that our panel's asset pipeline (Vite vs. Filament asset registration) will pick up the Ace bundle.
  3. Spike in a throwaway panel page: one form, one Ace field, save + reload + validation-error round-trip, with CSP enabled.
  4. Roll out behind a feature flag to a single low-traffic admin screen.
  5. Only then extend to additional forms; document the field in the internal Filament component catalogue.

Operational Impact

Maintenance. Very low carrying cost in code, but non-zero in dependency management: we inherit a third-party UI dependency pinned to Filament's release cadence. Budget a small recurring check each Filament major release — compatibility is maintained by a single small organisation, so expect to be the one filing issues during Filament upgrades. No server-side operations, no scheduled jobs, no infrastructure.

Support. Community/GitHub-issues only; no commercial SLA. Acceptable for an internal admin tool where a broken field degrades one screen, not customer-facing flows. Not acceptable for anything on a critical path. We should record an internal fallback (plain textarea) as the documented escape hatch.

Scaling. Effectively free server-side — the component renders a form field and nothing more. Cost is entirely client-side: bundle size and editor initialisation time per page view. Confirm the Ace bundle is only loaded on pages that use the field (lazy/conditional asset loading), otherwise we pay the payload cost across the whole admin panel. Large code blobs increase request payload on save; set a column size and a validation max to keep rows bounded.

Failure modes.

  • Asset load failure / CDN outage / CSP block → editor does not initialise; must confirm a usable degradation path so admins are not locked out of editing a record.
  • Livewire re-render desync → stale or lost editor content on validation failure, which is a silent data-loss vector; test explicitly.
  • Constraint drift on upgrade → a routine composer update pulls an untested Filament/Laravel pairing; pinning plus a lockfile review step mitigates.
  • Editor content rendered unescaped elsewhere → XSS if the stored value is later output raw; treat stored content as untrusted regardless of this package.
  • Abandonment → package stops tracking Filament majors; mitigated by the trivial swap-out path.

Ramp-up. Hours, not days. One engineer can integrate, document, and hand over. The only real learning is Filament form-schema conventions, which the team presumably already has. Recommend a short internal note covering how to render stored content safely and which column types to use.

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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast