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

Generator Bundle Laravel Package

ismaambrosi/generator-bundle

A Laravel generator bundle that streamlines scaffolding by creating models, controllers, migrations, and related boilerplate from Artisan commands, reducing repetitive setup and helping you build new application features faster with consistent structure.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Bottom line: the verdict is unchanged — this is a Symfony bundle, not a Laravel or general-purpose PHP package, and it should not be introduced as a dependency. The v2.5.0 release ("Adds support for Symfony 3", Travis-CI tweak, CS fixes) is a maintenance bump inside the same architectural universe the original assessment rejected. It moves the compatibility ceiling from Symfony 2.x to Symfony 3.x; it does not create a Laravel seam, does not modernize the generated output, and does not create an upgrade path into a current PHP runtime. The core finding — there is no bundle/container/extension mechanism in Laravel to host this, and the code it generates targets Doctrine MongoDB ODM annotations and Symfony form types that do not exist in a Laravel application — survives this release intact.

Architecture fit — poor, structurally incompatible. Unchanged by v2.5.0. The artifact still assumes Symfony's DependencyInjection component (Extension class, service definitions), SensioGeneratorBundle command base classes, Twig-based skeleton templates, and Doctrine MongoDB ODM. Symfony 3 support means the bundle now binds against Symfony 3's service-definition and command APIs, not that it acquired any framework-agnostic seam. Laravel's equivalents remain Artisan commands, service providers, and Blade/plain-PHP stubs against mongodb/laravel-mongodb. Nothing lines up: not the container, not the ORM/ODM, not the templating, not the CLI.

Integration feasibility — still not feasible as a dependency. v2.5.0 changes the answer to "which runtime does it pin me to" but not "can I install it." The supported floor is now Symfony 2.8/3.x, which implies a PHP 5.5.9–7.x band — still an incompatible dependency graph against PHP 8.x. The absence of any adoption signal in the supplied data (dependents, composite score) is itself the point: a Symfony 3 compatibility commit landing years after Symfony 3 itself went EOL (November 2018, including the 3.4 LTS) tells you the maintainer was closing out a backlog, not reopening the project. Two commits of substance in a decade is not a maintenance posture.

Technical risk — high, but of the "abandoned, not exploitable" variety. The release does not change the risk profile:

  • (a) Stale output. The generator still runs at development time only and adds no runtime attack surface. What it emits is still annotation-era Doctrine ODM and Symfony form types — not PHP 8 attributes, not typed properties.
  • (b) False authority. Generated code that looks canonical but encodes 2016–2017 conventions remains the most expensive failure mode: it passes review because it looks generated and therefore intentional.
  • (c) No patching path. Same as before — there is nothing to patch because the project is frozen in substance even if it just published a tag.
  • (d) New: a misleading liveness signal. v2.5.0 is exactly the kind of release that reopens closed evaluations. A "Symfony 3 support" line in a changelog reads as momentum to a future team that has not read the dates. This is a governance risk, not a code risk.

The Travis-CI line deserves a note rather than a shrug: Travis-CI's open-source tier was wound down, so a build-config tweak of that vintage is evidence the CI was already non-functional or about to be — meaning "supports Symfony 3" is a claim with no demonstrated green build behind it in the current era.

Key questions for the team:

Question Why it matters
Is MongoDB actually in the target architecture today, or hypothetical? Unchanged and still the gating question. The entire value proposition is MongoDB ODM scaffolding; if the stack is Postgres/MySQL, the package is 100% irrelevant regardless of version.
Is the real problem "we need CRUD fast" or "we need a MongoDB document/CRUD generator"? The first is solved by Artisan plus existing packages; the second by roughly 1–2 days of writing our own stubs.
Does any Symfony 3.x application still run in the estate? This release expands the only legitimate use case from Symfony 2 to Symfony 2.8/3.x. If no such app exists, v2.5.0 is irrelevant rather than merely undesirable. If one does, that app is itself past EOL and is the real item on the roadmap.
Does "supports Symfony 3" come with a passing build we can inspect? The only substantive change is a constraint widening. Without a verifiable green build on a current PHP, treat the claim as unvalidated.
MIT license — are we permitted to lift the template structure? Yes, with attribution. This remains the package's only durable asset, and v2.5.0 adds nothing to it.

Recommendation: do not adopt; do not re-evaluate on the strength of v2.5.0. Continue to treat it as a reference implementation for template shape and field-type-to-input mapping. Record the release and the reason it does not change the decision, so the next reviewer inherits the reasoning rather than the changelog.

Integration Approach

Stack fit — none directly; conceptual reuse only. The realistic integration target is still not this repository but its idea: given a document class with typed fields, emit a model, a form, and CRUD endpoints. In Laravel that means an Artisan generator (php artisan make:mongo-crud) with stubs for an Eloquent-compatible model via mongodb/laravel-mongodb, a FormRequest for validation, a resource controller, and Blade/JSON resource views. The bundle's Twig skeletons remain a useful checklist of which field types need which input widget — and note that v2.5.0 did not touch them, so the harvesting exercise is identical in scope to before.

Migration path (ordered):

  1. Confirm the ODM. If MongoDB is real, standardize on mongodb/laravel-mongodb (actively maintained) as the persistence layer. If not, close the evaluation — no further work, and v2.5.0 does not reopen it.
  2. Do not composer require the bundle. No shim, adapter, or bridge is worth writing; the Symfony 3 constraint widening does not create one.
  3. Harvest the templates. Copy the field-type mapping (string → text input, date → date picker, reference → select, collection → repeater) into Laravel stubs under stubs/mongo-crud/, retain the MIT notice, and modernize to PHP 8 attributes and typed properties.
  4. Wrap in an Artisan command with a --force guard and dry-run output, because the most common generator failure mode is silently overwriting hand-edited controllers.
  5. Legacy-only escape hatch (updated scope): if a Symfony application exists, the vendorable range is now Symfony 2.8–3.x rather than 2.x alone. Vendor it under a legacy/ boundary, pin the runtime, and schedule retirement against the Symfony 3.4 LTS EOL date — already past. Do not let it become the template for new work.

Compatibility: the release cadence now reads "final release inside the Symfony 3 era" rather than "final release January 2016," but the effective ceiling is unchanged. Symfony 3 predates PHP 7.1 in its early lines, all of PHP 8, and every current Doctrine ODM release. Expect PHP constraint conflicts and annotation-reader failures on anything current. There is still no upgrade path; a fork would be ours.

Sequencing: unchanged. One spike (≤2 days) to validate that custom Artisan stubs produce a working CRUD slice against mongodb/laravel-mongodb. If the spike succeeds, the package is redundant. If it fails, the package would not have helped. v2.5.0 does not alter either branch of that decision, so it should not delay the spike.

Operational Impact

Maintenance — we would own it entirely. The v2.5.0 tag is a reminder that "maintained" and "released" are different properties. A single compatibility commit against an already-EOL framework branch, with no dependents and no visible downstream use, is not a maintenance relationship we can rely on. Any fork becomes a permanent internal liability with no upstream to rebase against, and the author's intent remains undocumented beyond the README. The practical cost is unchanged: we would own 100% of it from day one.

Support — none. No maintainer response path, no issue history worth mining for known failure modes, no community to escalate to. The Travis-CI tweak in this release is the closest thing to operational evidence in the changelog, and it points at a CI service that no longer offers the free tier it was written for. Internal onboarding must rely on reading source.

Scaling — irrelevant at runtime, negative organizationally. Generated code scales or doesn't on its own merits; the generator is a developer-machine tool. The scaling concern is organizational and is unchanged: a generator emitting 2016-era Doctrine ODM code scales badly across a growing team, because every new engineer inherits patterns no one can source or justify in review.

Failure modes to plan for:

  • Re-evaluation churn (new, and the direct consequence of this release) — v2.5.0 will surface in dependency scans as "recently updated." Budget a standing answer: the tag exists, the architecture does not.
  • Silent divergence — templates drift from actual codebase conventions; generated files pass review because they look generated and therefore intentional.
  • Overwrite collisions — no reliable idempotency; hand-edited controllers get clobbered.
  • Dependency-graph failure — install fails at composer install, or worse, succeeds by dragging the application back to PHP 5.6/7.0-era constraints.
  • False signal — a dashboard row showing "evaluated, MIT, has CRUD generation, last release recent" invites the next team to repeat this review from scratch.

Ramp-up: unchanged. The concepts take a developer 1–2 days to absorb and re-express as Laravel stubs; the Symfony 2/3 environment knowledge required to actually run the bundle is scarce and depreciating. The cheapest path to the outcome this package advertises remains to reimplement roughly 200–300 lines of Artisan command and stub templates, keep the attribution, and avoid the dependency entirely.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console