Weave Code
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

Composer Test Scenarios Laravel Package

g1a/composer-test-scenarios

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Multi-environment dependency testing: Enables testing against multiple versions of major dependencies (e.g., Symfony 2/3/4, PHPUnit 4/5/6) without maintaining separate branches or repositories. This aligns with a test-driven roadmap where compatibility is a priority.
  • Build vs. Buy: Avoids reinventing dependency matrix testing infrastructure (e.g., custom scripts or CI pipelines) by leveraging this package’s pre-built solution.
  • CI/CD optimization: Reduces flaky tests by isolating dependency conflicts early, cutting debugging time. Supports shift-left testing in pipelines (e.g., Travis, GitHub Actions).
  • License compliance: Automatically updates dependency licenses in LICENSE files, addressing legal/regulatory requirements (e.g., open-source audits).
  • Local development flexibility: Allows developers to switch scenarios locally (e.g., composer scenario symfony4) without global environment changes, improving developer productivity.

When to Consider This Package

  • Adopt when:

    • Your project depends on multiple major versions of a library/framework (e.g., Symfony, Laravel, Doctrine) and needs to test all of them.
    • You require lowest/current/highest dependency testing but find manual composer.json tweaks cumbersome.
    • Your CI pipeline lacks a way to dynamically switch dependency versions without duplicating composer.lock files.
    • You need to automate license tracking for dependencies without manual updates.
    • Your team uses Composer and PHP, and you want to avoid vendor-specific solutions (e.g., Laravel Mix for asset pipelines).
  • Look elsewhere if:

    • Your dependencies are static (no version variability to test).
    • You use non-PHP ecosystems (e.g., Node.js, Python) where this package isn’t applicable.
    • Your CI/CD system already has built-in multi-version testing (e.g., GitHub Actions matrices with composer install per version).
    • You need runtime dependency swapping (e.g., for feature flags), not just testing—this package is for build-time scenarios.
    • Your project is monolithic with no modular dependency testing needs.

How to Pitch It (Stakeholders)

For Executives: "This package lets us test our PHP application against multiple versions of critical dependencies—like Symfony or PHPUnit—without maintaining separate codebases. It’s like having a ‘test lab’ for dependencies, automatically updating license compliance and reducing CI flakiness. For example, we could catch a Symfony 5 breaking change early, saving weeks of debugging. It’s a low-code, high-impact way to future-proof our stack, with minimal maintenance overhead."

For Engineering: *"Composer Test Scenarios replaces manual composer.json hacking to test dependency versions. With it:

  • Travis/GitHub Actions: Define a matrix of scenarios (e.g., Symfony 4/5) and dependency levels (lowest/highest/current) in one .yml file.
  • Local dev: Switch between scenarios with composer scenario <name>—no global installs needed.
  • Licenses: Auto-updates LICENSE with dependency licenses, so audits are effortless.
  • Lockfiles: Generates per-scenario composer.lock files in .scenarios.lock, committed to version control. It’s a drop-in solution for dependency matrix testing—just add it to composer.json and define your scenarios. No reinventing the wheel."
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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor