hammerstone/airdrop
Hammerstone Airdrop is a Laravel package for straightforward server deployments. Define environments, deploy over SSH with Artisan commands, run release tasks, and manage releases without relying on a third-party deployment service.
vite build if unchanged — is genuinely small. The buy case isn't capability, it's edge cases: lockfile changes, config changes, partial builds, cache invalidation, CI vs. local parity, and now the maintenance/ownership question. Treat this as a "buy a maintained convention for ~free" decision, not a "buy a platform" decision. The MIT license and drop-in nature mean the exit cost is near zero (one pipeline step to delete), which lowers the threshold for trying it.aaronfrancis/airdrop) to an organization (wilbergroup/airdrop), alongside Laravel 13 and PHP 8.5 support. For a PM this is a net-positive signal — an org-backed home with a maintained test matrix is more durable than a solo namespace — but it is also a package-identity change, which is the category of event that breaks composer.json files, CI caches, and internal documentation. Budget the migration as a small, scheduled chore, not a surprise.Good fit when several of these hold:
resources/ → build output layout; standard npm run build in the deploy pipeline.wilbergroup/airdrop, so existing installs must update composer.json and any CI references, and the first deploy after upgrading rebuilds assets once because trigger class names feed the build hash.npm run build command) that costs nothing to revert to.Look elsewhere when:
Practical adoption criteria: pin the version explicitly (and pin the new wilbergroup/airdrop name, not the legacy one), confirm Laravel/PHP/Node compatibility against your matrix — v2.0.0 is the release that unblocks Laravel 13 and PHP 8.5 shops — verify the org transfer against the upstream repository history and changelog before pulling it into production, run it in one non-critical service for a few weeks, and instrument skip rate plus any "stale assets" incidents before rolling out broadly. When reading pilot numbers, discard the first deploy after any upgrade: a hash-input change forces one legitimate rebuild.
For executives (one paragraph): Our deploys currently rebuild front-end assets even when nothing front-end changed, which costs CI minutes and adds latency to every release — including backend-only fixes. Airdrop is a small, MIT-licensed Laravel package that detects when assets are unchanged and skips the rebuild. It's a low-cost, fully reversible optimization: no architecture change, no vendor contract, removable in one commit. The newest release moves it under an organization (wilbergroup/airdrop), adds Laravel 13 and PHP 8.5 support, and is a drop-in replacement that requires a one-line Composer rename and a single unavoidable rebuild on the first deploy. Expected value is faster deploys and lower CI spend, scaling with how often we ship. Recommended path is a four-week pilot on one service with two numbers tracked — share of builds skipped and deploy duration — then a go/no-go.
For engineering: It's a pipeline-level guard, not a build-system replacement. If asset inputs are unchanged, the existing compiled output is reused instead of invoking the bundler; otherwise it behaves exactly as today. Integration is a package install plus pipeline wiring, and the rollback is deleting one step and running the normal build. v2.0.0 specifics to plan for: the namespace moved to wilbergroup, so composer require and any doc/CI references change; trigger class names are part of the build hash, so expect exactly one full rebuild on the first deploy after upgrading before skipping resumes; and this is the release that carries Laravel 13 and PHP 8.5 support, which matters for our upgrade matrix. Review the upstream diff and changelog as part of the rename, since a namespace transfer is also a supply-chain checkpoint — then pin the new name and version. The correctness question to answer up front in code review is still "what exactly counts as an asset input change?" (source files, lockfile, build config, trigger classes), because that determines both the skip rate and the failure mode. Success looks like a high skip rate with zero stale-asset incidents; anything else, and we remove it.
How can I help you explore Laravel packages today?