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

Navigation Module Laravel Package

anomaly/navigation-module

A Laravel navigation module for creating and managing site menus in Anomaly-based applications. Provides database-backed menu trees, configurable links, item ordering, and admin-friendly controls for rendering flexible, editable navigation across your Laravel views.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Despite being catalogued as a Laravel/PHP package, anomaly/navigation-module is a PyroCMS addon built on the Streams Platform, not a general-purpose Laravel package. It targets the PyroCMS 3.x application skeleton, registers itself through a module manifest (anomaly.module.navigation), and depends on Streams' config-driven schema, admin UI conventions, and asset pipeline. That means the realistic integration surface is "an existing PyroCMS install," not "any Laravel app." For a standard Laravel 10/11 service, this is not drop-in — it is at best a reference implementation of menu tree modeling and drag-and-drop reordering UX.

Integration feasibility. Composer installation is mechanically possible, but runtime wiring (service provider registration, migrations, view namespaces, admin route binding, asset publishing) requires the host platform to be present. Without it, the package will install but be inert or error on boot. The pragmatic path is to treat it as source material: lift the menus / menu_links-style data model, the nested-set or adjacency-list reordering logic, and the link-resolution rules, then reimplement natively.

Technical risk. High, and concentrated in provenance:

  • Zero validation signal. 0 stars, 0 dependents, score 0 — no downstream consumer has proven it works in the wild. There is no community backstop.
  • Repository/package mismatch. The declared package is anomaly/navigation-module but the repository URL points at anomalylabs/forum-module. That is a metadata integrity problem: either the registry entry is wrong, the repo was renamed, or the package was split/recombined. Any of these complicates license verification, version pinning, and CVE triage.
  • Platform sunset. Anomaly Labs' PyroCMS 3 ecosystem wound down years ago. Expect Laravel 5.x/6.x-era framework constraints, PHP 7.x ceilings, and a Laravel Mix asset pipeline. On modern Laravel/PHP these constraints are typically hard-failing, not soft-degrading.
  • Transitive exposure. A dead upstream cannot ship security patches; every transitive dependency becomes latent debt.

Key questions to resolve before committing:

  1. What does composer.json declare for php, laravel/framework, and anomaly/streams-platform constraints?
  2. Is the package the same artifact as the linked repo, or has it been renamed/forked? Which is canonical?
  3. What is the license (MIT vs. proprietary) and does it permit forking and internal redistribution?
  4. Are Release Tags and a changelog present, or is the only usable ref dev-master?
  5. Is the navigation schema expressible outside Streams, or is it fully config-file-driven in a way that resists extraction?
  6. Are there existing open CVEs or advisories against the pinned dependency tree?

Integration Approach

Stack fit. Binary. Fits a PyroCMS 3.x codebase; does not fit anything else without porting. Score the fit as "greenfield-adjacent" only for teams already committed to the Streams Platform.

Migration path. Two viable routes:

  • Adopt (PyroCMS hosts only): install via Composer, register the module, run migrations, publish assets, and verify the admin navigation UI renders. Then immediately fork and vendor — pinning to a git tag on your own fork with a documented patch process.
  • Harvest (everyone else): extract the domain model — menu containers, hierarchical items, link targets (internal route / external URL / page reference), ordering strategy, and cache invalidation — and rebuild as a first-party laravel/navigation style package. The differentiated IP is the tree-reorder ergonomics and link resolution, not the module bootstrap.

Compatibility. Do not assume compatibility. Establish the declared matrix from composer.json, then empirically validate against your target PHP/Laravel majors in a throwaway app. Assume failure on Laravel 9+ until demonstrated otherwise. Check whether the admin assets require Laravel Mix; if so, budget for a Vite migration on your fork.

Sequencing.

  1. Disposition decision first — build vs. adopt vs. harvest, benchmarked against maintained alternatives (spatie/laravel-menu, Filament/Nova menu builders, or an in-house implementation). Given 0 dependents, the default should be "harvest."
  2. Two-day spike — Composer install into a disposable PyroCMS app; exercise create → nest → reorder → render → cache. This is the cheapest way to convert the risk register into facts.
  3. Source-of-truth resolution — reconcile the navigation-module vs. forum-module mismatch and confirm license before any code enters your tree.
  4. Fork-and-vendor (if adopting) or schema extraction (if harvesting).
  5. Wrap with contract tests — menu tree invariants, ordering stability, link target resolution — so a future reimplementation swap is cheap.

Operational Impact

Maintenance. Effectively unowned upstream. Budget explicit internal ownership: a fork, a patch cadence, and a named maintainer. Code volume is likely modest, which makes the fork cheap — but it is coupled to a dead platform, which makes it a permanent liability rather than a one-time cost.

Support. No vendor, no SLA, no active issue triage. The effective support channel is "read the source." Any incident response is entirely internal.

Scaling. Navigation rendering itself is inexpensive, but naive implementations query the menu tree on every page render. Enforce a cache layer keyed by menu handle with invalidation on any item mutation. Watch for N+1 on nested item hydration and for admin-side reorder operations that rewrite the full tree in a single transaction.

Failure modes to pre-mortem:

  • Silent breakage on framework major upgrades (no upstream to fix it).
  • Admin UI asset pipeline drift (Mix → Vite) rendering the reorder UI unusable.
  • Streams schema drift between platform versions corrupting menu data.
  • Cyclic or orphaned menu items from incomplete reorder transactions.
  • Transitive CVE exposure with no patch path.
  • Bus-factor of one: the person who understood the Streams config model leaves.

Ramp-up. Steep for anyone without Streams experience — the config-driven schema is non-obvious and poorly documented at this point. Estimate 1–2 weeks for a senior Laravel engineer to evaluate, extract, and productionize the useful pieces, versus roughly half a day to install it inside a working PyroCMS app. Size the effort against the alternative of building native menus, which for a competent team is often 3–5 days — making "harvest the schema, rebuild the rest" the commercially sensible default unless you are already a PyroCMS shop.

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.
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk