anomaly/wysiwyg-field_type
A WYSIWYG editor field type for the Anomaly CMS, letting you add rich-text editing to any stream or form with a configurable toolbar and clean HTML output.
What this package actually is. anomaly/wysiwyg-field_type is not a standalone Laravel package — it is a PyroCMS 3 addon that plugs into the anomaly/streams-platform field-type registry. It contributes a wysiwyg field type so that a Streams field definition renders a rich-text editor in the control panel and stores HTML in the underlying entry column. It is a thin integration layer: a FieldType class, a service provider that registers the type and its assets, a presenter for output rendering, and a Twig view + JS/CSS assets for the admin input.
Architecture fit.
addon:publish asset pipeline are all CMS-specific.Integration feasibility. Low-to-moderate, and entirely gated on ecosystem alignment:
Technical risk (ranked).
composer.json will be narrow and unlikely to track current Laravel releases.Key questions to resolve before spending a single engineering hour.
composer.json constraints for php, laravel/framework, and anomaly/streams-platform?Stack fit. This is a greenfield-only, PyroCMS-3-only fit. The decision rule is simple: if the roadmap already commits to PyroCMS 3 as the content platform, this addon is a candidate — but a replaceable one. If the roadmap is "Laravel app with a CMS-ish admin," this package is out of scope entirely; the correct move is a maintained editor integration (Tiptap, Filament RichEditor, TinyMCE) at the form layer, which is where a TPM should be steering the conversation.
Migration path.
text/textarea field data is HTML-compatible in principle, but the field type change is a schema-level operation on Streams field metadata — plan a dry run and a data snapshot, and validate rendering of pre-existing entries, which were never authored under an editor's constraints.Compatibility. Verify the triad — PHP / Laravel / streams-platform — against our pinned versions before anything else. Expect to be one to two Laravel majors behind; if our platform runs a current Laravel, this is likely disqualified on constraints alone.
Sequencing.
<script>, onerror=, javascript: URLs).Maintenance. Assume we are the maintainers. With 4 stars and 0 dependents, there is no upstream community, no security mailing list, and no realistic expectation of a timely CVE patch — particularly for the embedded JS editor, which is the most likely thing to need one. Budget a standing "vendor" line item: periodic dependency audit of the editor bundle, plus a fork-and-patch contingency. MIT licensing makes the fork legally clean; it does not make it cheap.
Support. No vendor SLA, no commercial backer, no issue-triage signal. Internal support burden falls on whoever owns the CMS admin. First-line triage questions ("editor didn't load," "formatting stripped," "content mangled on save") will be ours to answer, and they are notoriously hard to reproduce because they combine browser, editor config, and stored-HTML state.
Scaling. Rendering is cheap — it is a stored HTML string. The scaling concerns are adjacent, not throughput: (a) content hygiene at volume — unvalidated HTML across thousands of entries cannot be retroactively sanitized without a migration and a rendering regression risk; (b) asset weight — editors are heavy bundles loaded in the admin, which matters for editor-experience but not for public traffic; (c) no server-side rendering contract — if we later need headless or API delivery, we inherit whatever markup was authored, with no schema guarantee.
Failure modes.
addon:publish not run after deploy → editor fails to load, field degrades to a broken textarea. Add to the deploy checklist and smoke test.Ramp-up. Low for the mechanics (one developer, half a day: install, publish, define field). Non-trivial for the risk ownership — someone must own the fork, the sanitization policy, and the upgrade-blocker watch. That ownership must be assigned before adoption, not after.
TPM recommendation. Do not adopt as a new dependency. Composite 0.68 with 4 stars and 0 dependents reads as "narrow ecosystem utility, no downstream validation." If PyroCMS 3 is already the platform, this is a defensible convenience addon provided we accept fork ownership, add server-side sanitization ourselves, and log it as a known upgrade constraint. In any other scenario, the correct decision is to build the editor binding at the form layer with a maintained library and keep the stored-HTML contract — which this package demonstrates is the durable part anyway.
How can I help you explore Laravel packages today?