locaine/lcn-wysihtml5-bundle
LCN WysiHTML5 Bundle integrates the wysihtml5 rich-text editor into Laravel/PHP applications, providing a lightweight WYSIWYG field for content forms. It packages editor assets and helpers to simplify setup, configuration, and use in views.
mews/purifier or ezyang/htmlpurifier.symfony/* ~2.3, PHP 5.3–5.6) that cannot resolve against Laravel 9+/PHP 8.1+. Good worked example for "framework fit" and "maintenance signal" gates, so future intake tickets resolve in minutes rather than a discovery spike.Default answer: do not adopt it for a Laravel product. It is a Symfony2 bundle — wrong framework, wrong DI container, wrong form layer — and Symfony 2 is long past end-of-life. Even in a legacy Symfony shop it fails on age: WYSIHTML5 is unmaintained upstream and the wrapper is pinned to an obsolete major version.
Adoption criteria would have to include all of the following:
dev-master-style installation (no meaningful stable release posture).Resources/config/ and accept it as your content contract.Look elsewhere when:
ezyang/htmlpurifier (or mews/purifier), sanitize on write, re-sanitize on render, test that <script> and onerror= payloads are stripped.Executive summary: This package is not viable for us and should not be adopted. It is a Symfony2 integration for a WYSIWYG editor while our stack is Laravel — the dependency graph will not even resolve — and both the bundle and its upstream editor library are effectively unmaintained (2 GitHub stars, zero dependents, editor abandoned years ago). Adopting it would place unmaintained code directly in our highest-risk input path — stored XSS via rich-text fields — with no offsetting benefit.
What it is genuinely useful for: One durable product requirement it illustrates well — any feature accepting user-authored HTML must pair a constrained editor with server-side sanitization through a maintained allow-list library. We keep that requirement; we satisfy it with HTMLPurifier (or mews/purifier) and a maintained editor on the client.
Recommended decision: Reject for adoption; classify as reference-only. Ship the rich-text capability as a small internal build delivered as a shared component: maintained editor, sanitizer configured at the write boundary, re-sanitization on render for defense in depth, and a regression test asserting script and event-handler payloads never survive. File this repository as a worked example in our dependency-intake and abandoned-dependency policies.
Ask: No budget required. Two decisions — one engineering (editor selection) and one process (add framework-fit and maintenance-signal gates to dependency review) — plus a named owner for the sanitizer configuration. Porting the pattern is cheaper and safer than owning a fork of dead code.
How can I help you explore Laravel packages today?