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

Laravel Nova Mirror Laravel Package

swisnl/laravel-nova-mirror

swisnl/laravel-nova-mirror provides a Laravel Nova Mirror field that displays another field’s value as read-only on forms and index views. It keeps Nova screens consistent without duplicating data or writing custom resolvers, making it easy to surface derived or related values.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package addresses a narrow but real deployment pattern: Nova is a paid, closed-source Composer dependency distributed from Laravel's own endpoint, and some teams want an immutable, auditable copy inside their own git infrastructure so builds do not depend on an external API at deploy time. Architecturally it is a thin scheduled/CLI tool — authenticate to the Nova distribution endpoint, download a release artifact, commit and tag it in a git repo. That fits a Laravel shop that already treats infrastructure as code and wants reproducible builds. It does not fit as an application dependency; it is build/deployment plumbing and should live in CI or an ops repo, not in product code.

Integration feasibility. Low as-is. The last release was September 2018, the repo is archived, and it predates Nova 2/3/4 and modern Laravel/PHP. The Nova download endpoint, authentication scheme, and Composer metadata have all changed since. Reusing the package directly is likely to fail on current Laravel (10/11/12), PHP 8.2+, and Nova 4/5, and there is no maintainer to patch it.

Technical risk.

  • License/compliance risk (highest). Mirroring Nova means storing and redistributing Laravel's commercial code in a private repo. Whether that is permitted depends on the Nova EULA and the seats/CI usage terms; this must be cleared by legal before any engineering work.
  • Abandonment risk. Archived with no security or compatibility updates; any CVE or API drift is yours to fix.
  • Credential risk. The tool must hold Nova API credentials and git push credentials; poor secret handling in CI is a common leak vector.
  • Supply-chain risk. A stale mirror can silently serve an outdated or tampered artifact if repository access controls are weak.
  • Repo bloat. Each Nova release is a sizable zip/tree; naive mirroring grows the repo unboundedly and slows clones.

Key questions.

  1. What problem are we solving — deploy reliability, audit trail, air-gapped builds, or version pinning? (Nova's native private Composer repo already covers most of these.)
  2. Does our Nova license permit a private mirror, and who owns/administers it?
  3. Which Nova versions and Laravel/PHP versions must be supported?
  4. Do we need the artifact mirrored, or is CI-side caching with credentials sufficient?
  5. Who is on the hook for maintenance if we adopt a fork?

Integration Approach

Stack fit. Poor out of the box. The package targets Laravel 5.x-era conventions and Composer v1 semantics. A modern stack (Laravel 10+, PHP 8.2+, Composer 2, Nova 4/5, GitHub Actions/GitLab CI) is not supported. Treat it as a reference implementation, not a dependency.

Migration path. Do not migrate the package. Re-implement the concept in ~50 lines of CI script:

  • Authenticate to nova.laravel.com (or the current distribution endpoint) with a scoped API key stored as a CI secret.
  • Download the specific Nova version's dist archive.
  • Push to a private VCS repo (GitHub/GitLab) with a tag per Nova version, plus attestation/metadata.
  • Add the private repo to composer.json under repositories and pin exact versions.
  • Alternatively, use Private Packagist or Satis as a proxy, or simply cache the artifact in CI and skip the mirror entirely.

Compatibility. Verify: Composer 2 repository formats, the git host's auth (SSH deploy keys vs. tokens), Nova's current API/credential model, and PHP version constraints. Expect the 2018 code to need full replacement rather than patchwork.

Sequencing.

  1. Legal/EULA review of private Nova mirroring (blocking gate).
  2. Confirm the actual problem and evaluate Nova's native repo and CI caching first.
  3. Inventory Nova/Laravel/PHP versions and deployment topology.
  4. Prototype the CI mirror job in a sandbox with a single pinned version.
  5. Harden: secret management, repo permissions, tag signing, retention policy.
  6. Cut over composer.json, validate a clean build from the mirror.
  7. Retire the archived package from any dependency manifests.

Operational Impact

Maintenance. The package is archived and unmaintained; adopting it means owning a fork indefinitely. Budget for at least a part-time maintainer to track Nova API changes, Composer behavior, and CI runner images.

Support. No upstream support, no security advisories, no issue triage. Internal runbooks and an owner must be assigned before go-live.

Scaling. Git-based mirrors do not scale gracefully: each release adds tens of megabytes, clone times grow for every developer and CI job, and history rewriting becomes risky. Plan a retention/pruning policy (keep N versions, archive older ones to object storage) and prefer shallow clones or Composer artifact caching.

Failure modes.

  • Expired or rotated Nova credentials break the sync silently.
  • Laravel changes the distribution endpoint or auth flow; the 2018 client fails.
  • Git push conflicts or force-push races leave the mirror inconsistent.
  • Partial downloads or interrupted uploads produce corrupt tags consumed by Composer.
  • Composer cache poisoning or stale metadata pins teams to an unintended version.
  • License revocation or seat-limit enforcement invalidates the mirror; builds then fail hard.
  • Leaked secrets in CI logs expose Nova credentials.

Ramp-up. Technically modest — a mid-level engineer familiar with Composer private repositories, git, and CI secrets can build the replacement in a sprint. The real ramp-up cost is organizational: legal review of the Nova EULA, naming an owner, and establishing access-control and retention standards for the mirror. Plan for roughly one sprint of engineering plus legal/security review, and treat the archived package itself as a non-starter for production use.

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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource