anomaly/page_link_type-extension
Anomaly Page Link Type Extension adds a Page link type to PyroCMS Streams Platform link fields, letting editors browse and select pages from the Pages module. It creates page-aware links without manual URLs and integrates with Anomaly link type field types for streamlined content authoring.
Architecture fit. This is not a general-purpose Laravel package — it is a PyroCMS (Anomaly Labs) Streams Platform extension. It registers a page link type with the Navigation module so that menu items can resolve to entries managed by the Pages module. It will only fit a codebase already running PyroCMS 3.x with anomaly/navigation-module and anomaly/pages-module present. In any other Laravel application it contributes nothing callable; it is an addon that plugs into the host CMS's link-type registry, service provider boot sequence, and module contracts.
Integration feasibility. Straightforward if the host is PyroCMS: composer require anomaly/page_link_type-extension, then php artisan addon:install anomaly.page_link_type-extension. The package is MIT, small, and follows the standard addon layout (service provider, link type class, lang/config). Feasibility outside PyroCMS is effectively zero without a rewrite of the equivalent link type against your own navigation abstraction.
Technical risk. High, dominated by ecosystem abandonment rather than code quality. Signals: 0 stars, 0 dependents, no community, PyroCMS itself is in maintenance/limbo and its next-generation Streams work is stagnant. The package is tightly coupled to the Navigation module's link-type contract; a contract change or a PHP/Laravel bump in the host breaks it with no upstream maintainer to fix it. Because there are no tests and no releases to inspect, the link resolution behavior (does it store a URL or resolve page URI at render time?) must be verified by reading the source. Rendering surface is a menu link, so the security exposure is low but not zero (stale or injected URIs, 404s for deleted pages).
Key questions.
composer.json constraint on anomaly/navigation-module resolve against our installed version?Stack fit. Laravel (PyroCMS 3.7–3.9 era, Laravel 8/9, PHP 7.4/8.x). It is a first-class fit only inside PyroCMS. For teams not on PyroCMS, its value is as a reference implementation of a custom navigation link type — the pattern is portable, the code is not.
Migration path. If we are on PyroCMS and currently hardcoding menu URLs, the path is: adopt the Navigation module, install this addon, then migrate menu content from static URLs to page-backed link items. That is a content migration, not a code migration, and should be scoped and owned by whoever manages site content. If we are not on PyroCMS, there is no migration path — build the equivalent link type against our own nav contract, which is typically a single class implementing a resolve(): string interface.
Compatibility. Pin the addon and its module dependencies to exact versions in composer.lock; verify the constraint graph in staging before any production step. Because the license is MIT, a vendor fork is permissible and likely necessary if the host is upgraded past the package's supported range.
Sequencing.
Maintenance. Treat as effectively unmaintained. Budget for a small internal fork the moment the host framework or Navigation module moves. The code footprint is small, so ongoing ownership cost is low — but it is not zero, and it cannot be deferred indefinitely.
Support. No community, no issue triage, no dependents to lean on. Requires a named internal owner; "whoever touches the CMS" is not sufficient.
Scaling. Negligible. Link-type resolution is metadata attached to navigation items and is cached with the menu; it does not add per-request query load beyond what Navigation already does. No scaling concern at any realistic traffic level.
Failure modes.
addon:install or breaks on a host upgrade.Ramp-up. Low in absolute terms, high relative to package size: a developer unfamiliar with the Streams/Addon architecture spends more time learning the host CMS than the package. For an existing PyroCMS developer this is a half-day to a day of work; for a Laravel-only developer, plan 2–3 days including the architecture learning curve.
TPM verdict. Low-leverage dependency. Pursue only if the product is already committed to PyroCMS and the Pages/Navigation combination is on the roadmap; otherwise harvest the pattern — a thin, testable link type — and implement it against our own navigation abstraction. The 0-star, 0-dependent signal is not a reason to avoid the idea, but it is a reason not to take a maintenance obligation we have not explicitly staffed.
How can I help you explore Laravel packages today?