ferdiunal/nova-switch
A toggle switch field for Laravel Nova that lets you flip boolean attributes on and off directly in resource forms and tables. Lightweight and easy to install, it adds a clean, intuitive switch control for true/false values in your admin panel.
Architecture fit. ferdiunal/nova-switch is a Laravel Nova field package — a boolean/toggle UI component for Nova resources. It fits only if the target application already runs Laravel Nova (a paid, licensed product); it has no value outside a Nova admin panel. Within that constraint the fit is clean and additive: it is a presentation-layer field, not a service, middleware, or data concern, so it introduces no new architectural surface, no new persistence, and no coupling to domain code. The field writes to an existing boolean column; it does not change schema, routes, or authorization.
Integration feasibility. Low effort. Standard Composer install, registration of the field class in a Nova resource, and Nova asset publishing/compilation. A Laravel developer familiar with Nova custom fields should complete a pilot in well under a day. No external services, credentials, or infrastructure changes are required.
Technical risk. Low-to-moderate, and concentrated in supply chain rather than code:
Key questions.
composer.json, and was the constraint widened or narrowed in this release?Boolean field — i.e., is there a functional reason to prefer it over the built-in?Stack fit. Requires a Laravel application on Laravel Nova. Confirm the Nova major version first; treat Nova 4 vs Nova 5 as a hard gate rather than a soft compatibility question. No impact on the wider Laravel stack, queue workers, or API layer.
Migration path. Purely additive — no migration required. Existing native Boolean fields can be swapped to SwitchField one resource at a time, and reverted just as cheaply. There is no data migration, no backfill, and no schema change. Recommend treating the package as a drop-in cosmetic upgrade over Nova's built-in boolean field, and requiring a demonstrated functional gap before adopting it at all.
Compatibility. Pin an explicit version constraint in composer.json (e.g. ^1.0) and commit the lockfile. Verify compatibility against the exact Nova, Laravel, and PHP versions in production, not the latest available. If the package publishes assets, ensure the publish step runs in CI and that published assets are treated as build artifacts rather than committed by hand — asset drift between environments is the most common failure here.
Sequencing.
composer.json constraints (unblock the changelog gap before anything else).Maintenance. Ongoing cost is low in labour but non-zero in attention. The package must be re-validated on every Nova upgrade, since Nova's front-end toolchain changes are the primary break vector. Because the release notes carry no information, each version bump requires manual diff review rather than reading a changelog — budget for that. Retain a fork or a same-day revert-to-native-Boolean option as the exit strategy.
Support. Community-supported via GitHub issues only; no vendor SLA. Do not position this as a dependency that on-call or support staff can escalate. Because the underlying capability (a boolean toggle) already exists natively in Nova, the fallback is a one-line resource change, which materially reduces the support burden compared with a typical third-party dependency.
Scaling. Negligible runtime impact — it is a form field rendered on admin pages, not on request-critical paths. The only scaling consideration is front-end asset weight in the Nova bundle, which is immaterial at typical admin traffic levels and irrelevant to customer-facing throughput.
Failure modes.
Ramp-up. Minimal. A Laravel developer already working in Nova needs roughly an hour to install, register, and validate the field, plus a short internal note documenting the pinned version and the revert procedure. No specialist knowledge required.
Assessment of v1.0.1 specifically. The release provides no substantive changelog — only a compare link — and the release data supplied is empty. This is a patch bump that does not by itself justify an architecture or adoption decision, and it neither introduces documented breaking changes, deprecations, nor new features. Recommendation: hold adoption until the commit diff and compatibility constraints are reviewed; if the diff is packaging-only, adopt v1.0.1 as the pinned baseline rather than v1.0.0. The absence of changelog discipline is recorded here as a standing governance signal and should be re-evaluated at the next release.
How can I help you explore Laravel packages today?