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

Form Bundle Laravel Package

firano/form-bundle

A Laravel form bundle for defining, rendering, and handling forms with reusable field types, validation integration, and a clean API. It helps keep form logic organized and consistent across your application, from simple contact forms to complex multi-field layouts.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The first thing a TPM must surface: firano/form-bundle is a Symfony bundle, not a Laravel package. The description calls it NeutronFormBundle, and *-bundle is Symfony's naming convention. Symfony bundles are wired through the Symfony HTTP kernel, dependency-injection container, event dispatcher, and symfony/form component. None of those primitives exist in Laravel. There is no service provider, facade, config publishing, or Blade view layer. In a Laravel codebase, architecture fit is near zero without a bespoke compatibility bridge — and a bridge for a package with 0 dependents would be glue code we own forever.

Integration feasibility. Low as a drop-in; moderate only as reference material. The realistic path is to read the repository (form types, Twig theme blocks, config tree, bundled JS) to extract the behavioral spec — declarative RIA widgets, autocomplete wiring, datepicker/rich-select conventions — and reimplement that behavior natively in Laravel. That is a rewrite, not adoption, and it forfeits the claimed "no JavaScript" promise, which on inspection almost certainly means "package-shipped JS plus AJAX endpoints," not actual JS-free rendering. The value proposition is already served in the Laravel ecosystem by Livewire, Filament Forms, Inertia, and mature Blade component libraries.

Technical risk. Very high on every axis we score:

  • Adoption/abandonment: 0 stars, 0 dependents, composite score 0 — no observable usage, no issue traffic, no downstream validation. The firano namespace is associated with mid-2010s Symfony bundles; PHP 5.x/7.x-era constraints are plausible.
  • Security: unknown. Form packages sit directly on the untrusted-input boundary — mass assignment, CSRF, autocomplete endpoints. Zero dependents means zero external review.
  • Bus factor: effectively 1, with no evidence of recent activity.
  • Hidden coupling: the JS-free claim implies package-owned AJAX endpoints and Twig templating, both of which become attack surface and upgrade blockers we would own.
  • Licensing: MIT is clean — code reuse as reference is legally unencumbered.

Key questions (must be answered before any further evaluation spend):

  1. What are the composer.json constraints for PHP and symfony/*? Does it hard-require symfony/framework-bundle, or only standalone components?
  2. What is the date of the last commit, last release tag, and last issue response?
  3. Is there a test suite, and does CI pass on currently supported PHP (8.2+)?
  4. Mechanically, how does "no JavaScript" work — server-rendered partials, a JSON contract, or inline script injection?
  5. Any advisories or CVEs against the transitive dependency tree?
  6. Is there any documented Laravel usage, port, or active fork?

If Q1 confirms a hard framework-bundle dependency, the evaluation terminates for a Laravel program.

Integration Approach

Stack fit. Poor. Laravel and Symfony share Composer and PSR interfaces, not application architecture. Laravel's container, routing, middleware, validation, and Blade are semantically distinct. A Symfony bundle's Extension and CompilerPass classes are inert in Laravel. Bridging means re-registering services by hand and shimming kernel events — undifferentiated glue for an unmaintained upstream.

Migration path. Reframe from "integrate" to "replace." The defensible migration is capability-level, not package-level:

  • Livewire — closest conceptual match to the stated value prop (reactive forms without hand-written JS), actively maintained, large install base.
  • Filament Forms — if the requirement is admin/RIA scaffolding with validation and layout out of the box.
  • Laravel Form Requests + Blade components — if the need is static server-rendered forms with strong validation and no reactivity.
  • Inertia + Vue/React — only if the team is already SPA-oriented and accepts JS.

Port the behavioral spec from firano/form-bundle (field types, conditional visibility rules, validation semantics, autocomplete payload shape) into the chosen target. Preserve intent; discard the dependency.

Compatibility. Assume breakage. Unverified PHP 8.x support, unverified Symfony 5/6/7 support, and no Laravel compatibility surface at all. Any code reuse must be audited line by line for deprecated patterns (each(), old Twig syntax, missing return types) before it enters our codebase. Treat extracted code as newly authored and subject it to our own review and test gates.

Sequencing (if we proceed at all):

  1. Day 1–2: Answer key questions 1–3 by reading composer.json and git history. Hard decision gate.
  2. Day 3–5: If constraints are non-viable, close the evaluation and formally document Livewire/Filament as the sanctioned path.
  3. Only if viable: spin a throwaway Laravel app, vendor the package, and prove one form renders and submits end-to-end. Timebox: 3 days, with explicit exit criteria.
  4. On spike success: extract the spec, reimplement natively, delete the dependency. Do not ship the bundle to production.

Recommendation: do not adopt. Sponsor a short evaluation to close the question formally, but expect the outcome to read "replace with Livewire/Filament Forms."

Operational Impact

Maintenance. We would assume 100% of maintenance. Zero dependents means no upstream community to absorb security patches, PHP version bumps, or Symfony/Laravel compatibility work. Every future PHP upgrade becomes an internal project — including any future Laravel major version, since the shim is bespoke. This is the single largest operational cost and it is unbounded.

Support. No vendor, no SLA, no active maintainer, no issue triage. Internal engineers debugging an unfamiliar mid-2010s Symfony codebase is a poor use of senior time. Contrast Livewire/Filament: large documentation surfaces, active maintainers, and hiring-market familiarity.

Scaling. Unknown and unbenchmarked. Form rendering is rarely the bottleneck, but the AJAX-endpoint pattern implied by "RIA without JavaScript" adds a round trip per interaction. Without load evidence we cannot predict concurrency behavior, and there is no upstream to escalate to if it degrades.

Failure modes.

  • Silent abandonment: package rots, PHP upgrade breaks it, no fix upstream.
  • Security regression: unpatched input-handling or CSRF flaw with no advisory channel — we learn from an incident, not a CVE.
  • Upgrade deadlock: the bundle pins a transitive dependency that blocks a framework upgrade, forcing an emergency rewrite under deadline.
  • Bus factor: the one engineer who understood the shim leaves; the integration becomes tribal knowledge.
  • Scope creep: bespoke bridge code accretes until we are maintaining a fork we never intended to own.

Ramp-up. Deceptively high. The pitch implies low effort ("no JavaScript"), but the real ramp is: learn Symfony bundle internals, learn the package's undocumented conventions, build Laravel↔Symfony glue, then maintain all three. Realistic estimate for a production-grade outcome: multi-week for a rewrite-equivalent result, versus days for Livewire/Filament. Effective cost per unit of delivered capability is an order of magnitude worse.

Bottom line. Low stars, zero dependents, a hard framework mismatch, and no maintenance signal combine into a clear pass. The capability is real and needed; this package is not the vehicle. Recommend closing the evaluation, documenting the Symfony/Laravel incompatibility as the rationale, and directing the requirement to Livewire or Filament Forms.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package