mydnic/volet
Volet is a lightweight Laravel package for feature flags. Define toggles in code or config, target users, teams, or environments, and enable or disable features at runtime with a clean API and Blade directives.
Architecture fit
mydnic/volet is a Laravel package with a bundled frontend layer (Vite/esbuild build chain, jQuery in the asset graph). It is designed to be dropped into an existing Laravel app via Composer, not to be forked or hosted standalone.Fix jquery conflict with terser (#256), which is a build-pipeline correction, not a runtime behaviour change.laravel/framework 13.16.1 and orchestra/testbench 11.2.0 confirms the package is tracking the Laravel 13 line).Integration feasibility
composer require mydnic/volet plus any asset publishing/configuration the package documents. Nothing in this release adds migrations, config keys, service-provider registrations, or middleware.actions/checkout 6 → 7) and dev-only bumps (pest, pint, collision, postcss, symfony/yaml) have zero consumer impact.Technical risk
laravel/framework moved 13.11.2 → 13.16.1 and Symfony components moved within 7.4.x. If these are declared as runtime require constraints, consumers pinned below those patch levels may hit resolver conflicts.guzzlehttp/guzzle (7.12.1 → 7.15.2), guzzlehttp/psr7 (2.10.1 → 2.11.0), and league/commonmark (2.8.2 → 2.9.0) all moved. CommonMark crossing a minor boundary (2.8 → 2.9) is the most plausible source of subtle rendering differences if Volet renders user-supplied Markdown.Key questions
laravel/framework: ^13.0 (permissive) or a tighter floor? This determines whether consumers on Laravel 12 or early 13 are blocked.league/commonmark 2.9.0 used on a user-content rendering path, and is there a regression test covering it?dist/ artefacts in the tagged release, or build them consumer-side?Stack fit
laravel/framework 13.16.1 and testbench 11.2.0). Applications on Laravel 12 or older are out of scope for this line and should stay on the prior major/minor track.Migration path
composer update mydnic/volet.vendor:publish --force on the relevant tag) or rebuild, then clear view/asset caches — this is the one manual step the jQuery fix may force.Compatibility
^2.2 and let the patch flow.laravel/framework and symfony/* pins — this is where a conflict would surface, not at runtime.Sequencing
composer update --dry-run against the target app to surface resolver conflicts.Maintenance
^2.2 with a monthly patch-review cadence rather than freezing at an exact version.Support
Scaling
Failure modes
Ramp-up
How can I help you explore Laravel packages today?