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

Nova Switch Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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:

  • Single-maintainer package with a small release history (v1.0.0 → v1.0.1). Bus factor and long-term maintenance are the dominant risks.
  • Nova version coupling. Nova 4 (Vue 2) vs Nova 5 (Vue 3) front-end toolchains differ materially; a field built for one may fail to build or render in the other. This is the most likely source of breakage and must be verified explicitly rather than assumed.
  • Thin release signal. v1.0.1 ships with a compare link and no changelog entries, so the contents of the release are unverifiable from the notes alone. A patch bump immediately after an initial release typically indicates packaging/metadata fixes (composer constraints, service provider registration, asset manifest) rather than feature work — but that is inference, not evidence. Reviewing the actual commit diff is a prerequisite before adopting.
  • Blast radius is contained. Worst case is a field that fails to render in the admin UI; the underlying boolean value is still governed by the model and migration.

Key questions.

  1. Which Nova major versions (and Laravel/PHP ranges) does v1.0.1 declare in composer.json, and was the constraint widened or narrowed in this release?
  2. What actually changed between v1.0.0 and v1.0.1 — packaging fix, bug fix, or dependency bump? The notes do not say.
  3. Is there a test suite and CI covering the field's rendering and value round-trip?
  4. Does the package publish compiled assets or require a Node build step in our pipeline?
  5. Is the project maintained actively enough to track Nova's release cadence, and is there a viable fork path if it is abandoned?
  6. Does the field handle nulls, defaults, and inline-update behaviour consistently with Nova's native Boolean field — i.e., is there a functional reason to prefer it over the built-in?

Integration Approach

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.

  1. Verify the v1.0.1 commit diff and composer.json constraints (unblock the changelog gap before anything else).
  2. Trial install on a staging branch; confirm the field renders and persists correctly on one low-risk resource.
  3. Validate the asset build/publish step in CI.
  4. Roll out to additional resources incrementally, one PR per resource, keeping revert trivial.
  5. Only after staging validation, promote with a pinned version.

Operational Impact

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.

  • Silent render failure after a Nova upgrade — the field disappears or errors in the admin UI while data remains intact. Detect via a smoke test on the admin panel post-upgrade.
  • Asset publish drift — stale compiled assets across environments produce inconsistent behaviour between staging and production.
  • Version constraint mismatch — installing a release built for a different Nova/Vue generation, producing build-time errors in CI.
  • Abandonment — no updates tracking Nova releases, forcing a fork or a revert to the native field.
  • Value-handling inconsistency — divergence from Nova's native null/default semantics, causing confusing admin behaviour. Validate during the pilot. Common thread: every failure mode degrades admin UX only. None corrupt data or affect customer-facing availability, which is why the overall risk rating stays low.

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.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels