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

Youshido Graphql Extended Laravel Package

medlabmg/youshido-graphql-extended

Extended fork of the Youshido GraphQL package for PHP, layering additional types, helpers, and fixes onto the original library. Suited to PHP and Laravel projects building GraphQL schemas, though the exact additions should be confirmed in the repo.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — low, and the framing is likely wrong. Despite being scoped here as a "Laravel/PHP package," the artifact name (...GraphQLExtendedBundle) and its target (youshido/graphql, distributed as a Symfony bundle) indicate this is a Symfony bundle, not a Laravel package. Laravel has no bundle abstraction: no Bundle registration, no Extension/Configuration tree, no compiler passes. Adopting it in Laravel means either (a) hand-wiring Symfony DI services into Laravel's container, or (b) pulling in a Symfony-in-Laravel bridge — both are architectural debt disproportionate to a convenience wrapper. It will not participate in package discovery (extra.laravel.providers) and will not follow Laravel conventions for config publishing, facades, or queue/event integration.

Integration feasibility — feasible only as a spike. The underlying youshido/graphql library has been effectively unmaintained for years and has been superseded in the ecosystem by webonyx/graphql-php (which powers Lighthouse, Rebing, and API Platform). Practical blockers to expect: PHP version constraints pinned to 7.x, Symfony 3/4-era transitive dependencies, and PSR/Guzzle conflicts against a modern Laravel skeleton. Any of these can make composer require unresolvable before a single line of application code is written.

Technical risk — high, and concentrated in provenance. Zero stars, zero dependents, and a score of 0 mean there is no adoption signal, no peer review, and no evidence of production use outside the publishing organization. The name suggests an internal MedLab Media Group extraction ("to use easily") — i.e., a thin ergonomics layer over someone else's schema/type registration boilerplate, published as a side effect of internal reuse rather than as a supported product. Risks in order of severity:

Risk Severity Why
Abandoned upstream High No security patches, no PHP 8.x support path
Single-vendor / bus factor 1 High No external contributors to absorb maintainer loss
No test or CI signal High Cannot assess regression safety on upgrade
Transitive CVE exposure Medium Unpatched dependency tree, no disclosure channel
Thin functional delta Medium Value may be a few hundred lines of boilerplate we could own

Key questions for the maintainer / sponsoring team:

  1. Which exact youshido/graphql version does this pin, and what are the PHP and Symfony constraints in composer.json?
  2. Concretely, what does "use easily" mean — schema builder helpers, type registry, pagination/relay helpers, error masking, persisted queries, or DI conveniences?
  3. Is this a Symfony bundle only, or does it ship a Laravel service provider?
  4. What is the license, and is the code intended for external consumption?
  5. Is MedLab Media Group a party we have a commercial relationship with, or is this a random Packagist artifact?
  6. What is the commit history and last-release date?

Recommendation: do not adopt as a production dependency on current evidence. Treat as reference implementation at best. The honest TPM read is that the entire useful surface is probably small enough to reimplement on webonyx/graphql-php or Lighthouse in less time than it takes to de-risk the dependency.

Integration Approach

Stack fit. There is no natural fit path into a Laravel application. Ranked options:

  1. Lighthouse (recommended). Laravel-native, actively maintained, wraps webonyx/graphql-php, ships schema-first SDL, directives, batched loading (dataloader) for N+1 mitigation, and a real service provider. Covers the same ergonomic territory this package claims.
  2. Rebing/GraphQL-Laravel. Lower-level, closer to raw webonyx, good if the team wants explicit control of type definitions.
  3. API Platform. Justified only if the roadmap includes REST/GraphQL/Hydra parity from one resource model.
  4. This package. Only if the functionality proves genuinely non-replicable — which the description gives no reason to expect — or if there is an existing Symfony service in the estate already on it.

Migration path. If the organization already runs youshido/graphql somewhere, the correct move is containment: keep it behind a bounded GraphQL service (its own deployable), expose an HTTP boundary, and never let its types, container, or DTOs leak into Laravel domain code. That preserves the option to migrate resolvers to Lighthouse later without touching consumers. If greenfield, there is nothing to migrate — start on Lighthouse and skip the detour.

Compatibility. Before any commitment, verify in a throwaway environment: composer why-not php 8.x, composer why-not laravel/framework ^10|^11, and composer audit. Cross-check PHPUnit and Symfony minor versions too, since old bundles commonly pin symfony/* to ^3.4|^4.0 and will not coexist with Laravel's current Symfony components (Laravel 10/11 ship Symfony 6/7). Expect this to fail.

Sequencing (timebox to ~3 days total, hard stop):

  1. Day 1 — Source audit. Pull the repo, read composer.json, count LOC, run composer audit, check last commit. Answers most of the key questions above.
  2. Day 2 — Integration spike. Attempt install into a scratch Laravel app on the target PHP version. Record exact resolution failures. Benchmark: also stand up Lighthouse + one query for comparison.
  3. Day 3 — Decision gate. If the spike installs cleanly and the package's functionality exceeds ~1 week of Lighthouse directive/resolver work, proceed to a bounded pilot. Otherwise close it out and record the decision.

Operational Impact

Maintenance. We would own it, de facto. No upstream release cadence to ride, no fixes for PHP minor-version breaks, and no path to a security patch other than forking. Budget for a fork-and-maintain commitment (~1–2 engineer-days per quarter, spiking hard on any PHP major upgrade) versus near-zero for Lighthouse.

Support. No documentation beyond a one-line description, no issue history to mine, no maintainer SLA, and no community to escalate to. Incident triage becomes internal archaeology. Verify whether an internal MedLab contact exists — if the package is genuinely orphaned on Packagist, assume zero support.

Scaling. The layer inherits youshido/graphql's runtime characteristics, which predate current GraphQL hardening practice. Assume we must add ourselves: query depth and complexity limits, introspection gating in production, persisted/allowlisted queries, per-query timeouts, and dataloader-style batching to control N+1 on relational resolvers. None of that is free, and none of it is likely provided by a thin extension bundle. Capacity-plan resolvers as unbounded cost centers until limits are in place.

Failure modes to instrument for:

  • Composer resolution breakage on any PHP or Laravel upgrade — the most probable and most disruptive failure; it blocks the whole application's dependency graph, not just the GraphQL endpoint.
  • Transitive CVE with no patch path — forces an emergency fork or a rushed migration under incident pressure.
  • N+1 amplification on nested resolvers causing database saturation under modest query depth.
  • Unbounded query cost — deeply nested or aliased-batch queries used as a DoS vector; no built-in guardrail.
  • Silent schema drift if types are registered imperatively with no SDL artifact checked into source control.
  • Container leakage if Symfony DI idioms bleed into Laravel service resolution, producing non-deterministic boot failures.

Ramp-up. Effectively zero internal knowledge of youshido/graphql and this wrapper, and the hiring market has none either — GraphQL-in-PHP experience is overwhelmingly webonyx/Lighthouse/API Platform. Every hour spent learning this stack is non-transferable and depreciates to zero. Lighthouse knowledge is portable, documented, and hireable. That asymmetry alone should decide the question.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib