Product Decisions This Supports
- Multi-surface GraphQL without service sprawl: Supports exposing separate GraphQL schemas for public, admin, partner, internal, or tenant-specific APIs from one Laravel/Lighthouse application. This informs build-vs-buy decisions around API segmentation versus splitting into separate services.
- Modular monolith roadmap: Enables domain-oriented schema ownership (e.g., billing, catalog, identity) while keeping a single deployable Laravel app. Useful when planning bounded contexts without committing to microservices.
- Tenant and white-label features: Supports product decisions around per-tenant schema extensions, custom fields, or partner-specific API surfaces, especially for B2B products where customers need controlled GraphQL customization.
- API versioning and migration: Allows parallel schema versions or deprecated/next-generation endpoints, reducing risk in GraphQL contract migrations and enabling phased client cutovers.
- Packaging and tiering: Can support commercial packaging decisions by separating schema capabilities by customer tier, environment, or integration type without duplicating the entire backend.
- Build vs buy: Shifts a narrow but real platform concern—schema routing and isolation—from custom middleware/configuration to a small dependency, provided the team accepts the maintenance risk and validates fit.
When to Consider This Package
Consider it when:
- The product already uses Laravel + Lighthouse GraphQL and has a concrete need for multiple schemas or endpoints.
- You need schema separation by domain, tenant, API version, or audience and want to avoid building schema-routing logic internally.
- The team can perform a short technical spike, review the package code, and add integration tests around schema resolution and route behavior.
- The dependency risk is acceptable for a low-blast-radius capability, or the team is willing to pin/fork the package if necessary.
- The alternative is a larger architectural change—separate services, an API gateway, or custom Lighthouse bootstrapping—that is disproportionate to the feature need.
Look elsewhere or build internally when:
- You only need a single GraphQL schema; the package adds complexity without product value.
- You require enterprise-grade support, broad community adoption, or strict procurement approval. With 16 stars and 0 dependents, this is a niche, early-stage package.
- The package’s release/maintenance signals cannot be validated; the listed last release date should be checked against the repository.
- Your schema routing needs are highly custom, security-critical, or tightly coupled to authorization/tenant isolation logic that you need to own.
- You are not on Lighthouse, are planning to leave it, or are evaluating a move to separate services anyway.
- A simpler alternative exists: separate Lighthouse installations, route-level schema configuration, or a small internal resolver that the team can fully control.
How to Pitch It (Stakeholders)
For executives: This is a small, low-cost open-source extension that lets our Laravel GraphQL layer serve multiple schemas—such as public, admin, partner, or tenant-specific APIs—without splitting the backend into separate services. It can accelerate roadmap items around API segmentation, B2B customization, and versioning. The main risk is maturity: low adoption and no dependents mean we should treat it as a tactical dependency, validate it with a proof of concept, and be prepared to fork or replace it. It is not a strategic platform bet, but it may remove custom glue code and reduce time-to-market for multi-schema features.
For engineering: The package targets Lighthouse multi-schema support in Laravel. Evaluate it against our current Lighthouse version, test schema resolution, route isolation, authorization boundaries, and caching behavior, then pin the version and wrap it with integration tests. If the codebase is small and understandable, the fallback is to maintain a fork or reproduce the needed routing internally. Recommended path: time-boxed spike, security review for tenant/audience separation, and adoption only if it clearly beats a minimal in-house implementation.