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

Statamic Factory Laravel Package

aerni/statamic-factory

Laravel-style factories for Statamic. Define reusable factories to generate entries, terms, and assets with fake data, making tests and seeders faster and more expressive. Quickly create realistic content structures without repetitive boilerplate.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • Laravel/Composer package with a single transitive dependency change (stillat/primitives) in this patch. No API surface, config, migration, or service-provider changes are signalled.
  • The package sits in the Statamic ecosystem: stillat/primitives is a lower-level parsing/primitive library consumed by Statamic addons. That means the package's architecture is coupled to Statamic's release cadence, not just Laravel's.
  • Fit is strong for teams already on Statamic; fit is poor-to-irrelevant for plain Laravel applications that happened to pull it in transitively.

Integration feasibility

  • Low effort: composer update stillat/<package> (or a lockfile bump) plus a smoke test of the affected parsing/templating paths.
  • The real work is dependency resolution, not code changes. Confirm the new primitives constraint does not collide with anything else in composer.lock.
  • v1.5.1 is a patch release, so semver-constrained consumers (^1.5) get it on a routine composer update — this is effectively an involuntary upgrade for many teams and should be treated as such.

Technical risk

  • Transitive-dependency risk (primary). The fix is a version bump in someone else's library. Behavioural regressions, if any, will surface in stillat/primitives, not in this package's own code, and will not appear in its changelog.
  • Major-version coupling. "Compatibility with Statamic 5" implies a hard boundary: teams on Statamic 4 must verify they are not dragged onto a primitives version that assumes Statamic 5 APIs. Check whether the constraint is a caret range (dual-compatible) or a floor (Statamic 5 only).
  • Vendor concentration. Stillat is a small vendor; a single-maintainer dependency is a supply-chain and bus-factor consideration for anything load-bearing.
  • Low blast radius in practice. A compatibility fix typically reduces risk relative to the status quo for Statamic 5 users, who were previously broken.

Key questions

  1. Does v1.5.1 support Statamic 4 and 5 simultaneously, or does upgrading drop Statamic 4?
  2. Is the stillat/primitives constraint a range or a pinned floor? What is the minimum viable version?
  3. What is the supported matrix (PHP, Laravel, Statamic) and is it exercised in CI?
  4. Is there a tagged security/disclosure process, and who is the escalation contact?
  5. Are there other consumers of stillat/primitives in our lockfile whose constraints could conflict?
  6. Is there a documented rollback if the new primitives version misbehaves?

Integration Approach

Stack fit

  • Assumes Laravel 10/11 + PHP 8.1+ (Statamic 5 baseline) and Composer 2 with a committed lockfile. Verify against our actual runtime matrix before scheduling.
  • If we are on Statamic 4, this release is a no-op or actively blocked — determine that first; it changes the entire plan.

Migration path

  • No migration, no schema change, no config publish, no data backfill implied by the release note.
  • Path is: bump constraint in composer.json if needed → composer update → run application test suite → targeted manual test of the templating/parsing features that exercise the package → stage → production.
  • For Statamic 5 users currently blocked, this release is the migration enabler; sequence it as a prerequisite to any Statamic 5 upgrade work rather than as an afterthought.

Compatibility

  • Confirm dual support (Statamic 4 and 5) before assuming a single artifact serves both.
  • Check composer why stillat/primitives to enumerate co-consumers; a compatibility bump that satisfies one addon can break another.
  • Verify PHP and Laravel floors against our oldest supported deployment target.

Sequencing

  1. Inventory: who depends on this package, directly or transitively.
  2. Resolve the Statamic 4 vs 5 question; branch the plan accordingly.
  3. Bump in a feature branch, regenerate the lockfile, run CI.
  4. Targeted regression test on the parsing/templating paths.
  5. Stage soak, then production; keep the previous lockfile for one release cycle as the rollback artifact.
  6. Fold the package into routine dependency-review cadence rather than treating each patch as a project.

Operational Impact

Maintenance

  • Recurring cost is dependency hygiene, not code maintenance. Budget for a periodic review of stillat/primitives alongside the package itself.
  • Because the fix lives upstream, our changelog-derived risk signal is weak here; supplement with lockfile diff review.

Support

  • Upstream support is a small vendor; response times and long-term maintenance should be assumed to be best-effort. Identify an internal owner for the package so escalations are not ad hoc.
  • Document the Statamic-version ↔ package-version mapping internally; it will be asked for during every platform upgrade.

Scaling

  • Runtime scaling impact is negligible for a library of this type — it is a compile/parse-time concern, not a per-request throughput concern. Watch only if parsing happens on hot request paths; in that case cache parsed output.
  • Operational scaling concern is CI: adding this to the dependency matrix increases build combinations, particularly if dual Statamic 4/5 support must be validated.

Failure modes

  • Resolution failure: conflicting stillat/primitives constraints across addons block composer update; symptom is an install-time error, not a runtime one — cheap to detect, potentially slow to untangle.
  • Partial upgrade: lockfile updated for one package but not the co-consumer, producing class-not-found or method-signature errors at boot.
  • Silent behavioural drift: parsing output changes subtly after the transitive bump; caught only by regression tests on templating paths, not by the test suite generally.
  • Cross-version contamination: a Statamic 5-targeted primitives version installed on a Statamic 4 app. Fails loudly at boot in the best case; in the worst case it is a subtle rendering difference.
  • Upstream abandonment: no fix path for future Statamic majors without forking or replacing the package. Low probability near-term, high cost if realised — worth a note in the risk register.

Ramp-up

  • Low for any Laravel developer: standard Composer package, no bespoke tooling.
  • Moderate for the domain layer — effective debugging requires Statamic templating/Antlers familiarity, which is a narrower skill. Ensure at least two people can diagnose a parsing regression so this is not a single-person dependency on top of a single-maintainer dependency.
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