itainathaniel/nova-nexmo
Send SMS messages via Nexmo (Vonage) directly from Laravel Nova. This package adds a simple, configurable Nova action or field for dispatching text messages to your users without leaving the admin panel.
Architecture fit
dist/ directory is now committed to the repository and removed from .gitignore. In a Laravel package this most commonly means one of:
php artisan vendor:publish --tag=...;dist archive committed for offline/air-gapped installs.Integration feasibility
dist/ contains publishable assets, integration actually gets easier: consumer apps drop a npm install && npm run build step from their pipeline and rely on vendor:publish from the packaged artifact.dist/ is a build output that duplicates src/, integration is neutral-to-negative: we inherit committed artifacts without a guaranteed rebuild, and must independently verify dist matches source.Technical risk
dist/ can silently diverge from src/. Any behavior we observe in a vendored install may not correspond to reviewable source.dist/ embeds third-party code, we need it in scope for license and vulnerability review.git log/git blame on the artifact unreadable.Key questions for the maintainer
dist/ generated by CI on tag, or hand-built and committed? Is there a documented build command?composer.json autoload, files, or vendor:publish reference dist/ — i.e., is it required at runtime or only for publishing?dist/ matches src/ for v1.0.1?dist/ — first-party compiled assets, or bundled third-party dependencies? Which licenses apply?dist/ be squashed/tagged only?dist/ previously produced by consumers; is anything now doubled or shadowed?Stack fit
vendor:publish. No new infrastructure, no new runtime dependency implied by the changelog.dist/ removes that requirement, it is a net simplification for teams that don't otherwise run frontend builds.Migration path
1.0.0 → 1.0.1 via version constraint bump in composer.json, composer update <vendor>/<package>, clear config/view caches, re-run vendor:publish --force only if we currently publish assets.dist/ output and identify drift.Compatibility
composer.json require/autoload/extra.laravel blocks are byte-identical between 1.0.0 and 1.0.1 — the changelog claims packaging-only, but this should be confirmed by diff, not assumed.Sequencing
composer.json between tags; block the upgrade if autoload or constraints changed unexpectedly.dist/ contents and confirm the build provenance answer from the maintainer.dist/ match src/?"Maintenance
dist/ is CI-generated. CI-generated with a diff gate = near-zero. Hand-committed = recurring manual burden and a permanent correctness question.dist/ output against source for the assets we actually consume. This is a new, previously unnecessary task.dist/ is large or binary, evaluate whether it belongs in git at all versus a release-asset or Composer dist archive.Support
Scaling
dist/ increases mirror storage and sync time proportionally.Failure modes
dist/ published from an older source commit; consumer behavior diverges from documented source. Detection is hard without a checksum or CI gate.dist/.vendor:publish --force overwrites locally customized assets in consumer apps with the packaged versions.dist/ escapes SCA/license scanning and ships unreviewed.dist/ experience conflicts on every upstream sync.Ramp-up
dist/ is produced, where it is consumed, and how to validate it. Budget roughly half a day for the initial investigation and checklist authoring.TPM recommendation
composer.json diff confirming packaging-only changes.composer.json diff available. Re-validate once dist/ contents are inspected.How can I help you explore Laravel packages today?