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

Fm Tinymce Bundle Laravel Package

helios-ag/fm-tinymce-bundle

Symfony bundle that integrates the TinyMCE WYSIWYG editor into forms and templates, with configurable toolbars, asset handling, and optional file-manager support. It simplifies adding rich-text editing to Symfony admin interfaces and content forms.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — unchanged: critical mismatch. Release 3.0 does nothing to alter the fundamental finding. helios-ag/fm-tinymce-bundle remains a Symfony bundle — a Bundle subclass, a DI extension, and Twig-driven asset/config rendering. The 3.0 changelog contains dependency bumps, a TinyMCE version update, fixes, badges, and documentation — no Laravel service provider, no package discovery, no Blade integration. Laravel has no bundle registration mechanism and no Kernel::registerBundles(). Adoption would still require bootstrapping and owning a parallel Symfony kernel inside a Laravel app. Fit: poor for the stated stack; 3.0 is a Symfony-ecosystem release, not a broadening of platform support.

Integration feasibility. The three paths from the prior assessment hold, with revised confidence:

  1. Reimplement natively (still recommended). TinyMCE remains a client-side JS library; tinymce via npm + Vite, a Blade component, and a small config array is 1–2 days. Unaffected by 3.0.
  2. Port configuration ergonomics. Release 3.0 added "Complete installation documentation" and project badges — marginally better as a reference for preset/toolbar-profile design, which is the only value this package has for a Laravel estate.
  3. Run the bundle alongside Laravel. Still high cost, high blast radius, no product benefit. Do not pursue.

Technical risk — partially mitigated, net unchanged.

  • Maintenance signal: the maintainer is active (7 PRs merged, CI/badges added, docs completed). This is a positive signal versus the prior read, but adoption is still effectively zero and there is no downstream validation. Activity is not the same as a support commitment.
  • Version-major risk: a 3.0 bump implies breaking changes for Symfony consumers — most plausibly raised minimum Symfony/PHP versions and the removal of the matthiasnoback/* test tooling at ^4.x/^5.x. Irrelevant to a Laravel estate, but it means any hypothetical Symfony service in the estate must schedule an upgrade, and stored content cross-compatibility must be re-verified.
  • Dependency-quality note: three of the seven PRs are Dependabot bumps to test-only dev dependencies (symfony-dependency-injection-test, symfony-config-test). That is CI churn, not runtime improvement — do not read the release notes as evidence of production-surface hardening.
  • Editor lifecycle risk — improved but unverified. "Tinymce up" (PR #74) indicates the bundled editor version moved forward, which directly addresses the prior concern about pinning an EOL editor with unpatched XSS vectors in a rich-text input path. However, the release notes do not state the target version. Until the pinned version is confirmed against TinyMCE's current security-patch line, the highest-severity risk in this feature area remains open.
  • Licensing: unchanged. Self-hosted community vs. cloud/API-key vs. commercial premium plugins must still be verified — and a 3.0 editor bump increases the chance the bundle now assumes a newer licensing model than the team's prior assumptions.
  • Content security boundary: unchanged and still unsolved by the bundle. Server-side sanitization (HTML Purifier or equivalent) remains in-scope work on any path.
  • Metadata anomaly: the previously flagged future-dated release metadata is partly resolved by having a concrete 3.0 changelog with linked PRs. Treat release dates as unreliable but treat the PR record as verifiable evidence.

Key questions.

  • Does any part of the estate actually run Symfony 6/7, or is "Laravel" firm? This is now doubly blocking: 3.0 likely raises framework minimums, so a Symfony consumer must also confirm compatibility.
  • What TinyMCE version does 3.0 pin, and is it on a currently patched release line? Highest-priority question; the release notes don't say.
  • What are the documented breaking changes between 2.0 and 3.0 (PHP/Symfony minimums, config key renames, Twig template changes)?
  • Self-hosted, cloud, or hybrid — and who owns the API key, billing, and quota?
  • Which premium plugins are functionally required, and are they licensed under current terms?
  • Who sanitizes HTML server-side, and what is the allowlist policy per field?

Integration Approach

Stack fit. Unchanged. Target: Laravel 10/11/12, PHP 8.2+, Blade, Vite, npm. The bundle does not fit; only the pattern transfers. 3.0 does not change this and, via likely raised Symfony/PHP minimums, narrows the set of Symfony versions it fits.

Migration path. Still greenfield — there is no install base to migrate, and 3.0 is not a reason to create one:

  • Add tinymce as an npm dependency (self-hosted) or load from CDN with an API key.
  • Create resources/js/editor.js initializing editors from a data-* config contract.
  • Create a Blade component <x-rich-text name="body" :value="old('body', $model->body)" /> preserving old() repopulation on validation failure.
  • Centralize profiles in config/editor.php (minimal, standard, full) — this is where the bundle's ergonomics are worth borrowing.
  • Add server-side sanitization in a FormRequest or cast before persistence.

Compatibility. Pin TinyMCE to an exact minor version and upgrade deliberately; editor upgrades change serialized HTML and can break rendering of stored content. Note that 3.0 moving the editor version forward is exactly the kind of change that makes cross-version content portability a real concern. If any Symfony service uses this bundle, align both sides on the same TinyMCE major version before either upgrades.

Sequencing.

  1. Confirm framework target and close the "Laravel bundle" assumption (1 day, blocks everything).
  2. Review 3.0's breaking changes and pinned TinyMCE version against current security patches (1–2 days, parallel) — this is a cheap check now that a changelog exists, and it settles the highest-severity open question.
  3. Licensing and plugin-set review (2–3 days, parallel).
  4. Build Blade component + config profiles + sanitization contract (2 days).
  5. Pilot on one low-traffic authoring form; instrument for paste/formatting defects (1 sprint).
  6. Roll out per form; retire the bundle evaluation ticket.

Operational Impact

Maintenance. Unchanged conclusion, marginally better evidence. Owning a ~60-line Blade component remains cheaper than owning a Symfony-in-Laravel bridge. 3.0's activity shows the upstream project is alive, which lowers — but does not eliminate — abandonment risk for Symfony consumers; it does nothing for a Laravel consumer, who would still own the bridge plus upstream drift. Budget ~2–4 hours per quarter for TinyMCE version review, more with premium plugins.

Support. Still no vendor, no SLA. The new badges, Codacy coverage, and completed docs modestly improve self-support viability — for Symfony users. For a Laravel team, incidents still become internal debugging against unfamiliar framework-boundary code.

Scaling. Unchanged: editing is client-side; scaling pressure comes from image upload endpoints (size limits, storage driver, virus scanning) and sanitization CPU on large payloads. Plan uploads as a separate rate-limited endpoint rather than embedding blobs in HTML.

Failure modes.

  • CDN or API-key failure → editor fails to initialize; authors see a bare textarea or nothing. Mitigate: self-host assets, feature-detect, degrade to plain textarea.
  • License expiry or cloud quota exhaustion → silent editor degradation in production.
  • Version pin drift → stored HTML renders inconsistently across old and new content; now more likely to bite if any Symfony consumer upgrades to 3.0 while a Laravel surface stays on an older editor line.
  • Missing sanitization → stored XSS from pasted or API-submitted content; still the highest-severity risk in this feature area.
  • Validation-failure round trip → content loss if the component doesn't repopulate from old(); still the most common user-visible WYSIWYG defect.
  • Upgrading a Symfony consumer to 3.0 without reading the breaking-change list → config/DI boot failures at container compile.

Ramp-up. Unchanged. Low for the native path — a Laravel developer is productive in under a day with Blade + Vite. The bundle path inverts this, requiring Symfony kernel and DI familiarity the team likely lacks and should not acquire for this feature.

Recommendation. Do not adopt helios-ag/fm-tinymce-bundle for a Laravel estate. Release 3.0 is a healthy maintenance release for a different framework: dependency bumps on test tooling, a TinyMCE version refresh, fixes, and docs. It is evidence the project is not abandoned (a modest improvement over the prior read) and it likely closes the outdated-editor concern — but the framework mismatch, near-zero adoption, and single-maintainer profile are unchanged. Treat 3.0 as a design reference for configuration ergonomics, confirm its pinned TinyMCE version before building anything, and implement a first-party Blade component over TinyMCE.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings