irstea/ng-model-generator-bundle
A Symfony bundle that generates Angular/TypeScript model classes from Doctrine entities, helping keep frontend and backend data structures in sync. Automate model creation for API-driven Angular apps and reduce manual boilerplate.
nullable change, an added enum case, all silently producing undefined at runtime instead of a compile error).openapi-typescript, orval, ng-openapi-gen) that is community-maintained and covers clients and validators, not just interfaces.Consider it only when all of the following are true:
gitlab.irstea.fr, an institutional forge; verify availability, auth, licence terms permitting fork and internal redistribution, and Composer stability flags before any code depends on it.Look elsewhere — and this is the default — when:
laravel-typescript-transformer or generate from OpenAPI. For non-Angular frontends, the bundle has no value.openapi-typescript and orval are maintained and will still be maintained next year.Default position: fallback first, this bundle as an accelerator. Document the OpenAPI path before committing, so a stalled fork is a swap rather than a rewrite. If you do proceed, timebox it and run a head-to-head on the same resource set — only adopt the bundle if it decisively wins on enums, relations, and nullability.
Executives. This eliminates a known defect class — Angular TypeScript models drifting out of sync with the backend API — at zero licence cost, on the Symfony + API Platform + Angular corner of the estate. The honest caveat is that it is an unsupported artifact from another institution's self-hosted GitLab forge with no external adopters, so the real cost is not a purchase price but a few days of integration plus permanent internal ownership with a named engineer attached. Frame it as "adopt with an owner and an exit plan," never as a vendor dependency. Recommendation: a timeboxed pilot on one internal module, with the OpenAPI-based alternative written down first as the fallback, and a decision gate at the end of the pilot. Do not put it on customer-facing contracts.
Engineering. The bundle reads API Platform resource metadata and emits Angular TypeScript models, replacing manual DTO mirroring. Be explicit about what is missing: it is a Symfony bundle, not a Laravel package, so composer require into a Laravel app installs code that never boots; there is no service provider and no Artisan command. Even in a Symfony host, plan for a fork — pin to a commit SHA, confirm the licence, verify PHP/Symfony/Angular version constraints empirically, and run generated output through lint and Angular strict mode. Wire generation into CI with a drift check (regenerate, git diff --exit-code) so metadata changes surface as reviewable diffs rather than silent divergence. Understand the failure modes before relying on it: skipped resources with no error surface, nullability and enum drift, and silent staleness after serializer-group changes where TypeScript still compiles. If the models must be trustworthy in a customer-facing contract, generate from OpenAPI with a maintained tool and treat this bundle as a stopgap or a reference implementation of the mapping logic, not a dependency.
How can I help you explore Laravel packages today?