aerni/zipper
Aerni/Zipper is a Laravel package for creating, extracting, and managing ZIP archives through a simple, expressive API. It wraps PHP’s ZipArchive to handle files and folders with minimal configuration.
Architecture fit
aerni/zipper is a single-purpose Statamic addon (Laravel package) that serves a ZIP of Statamic assets on request. It sits at the edge of the stack: a route/controller (or Antlers tag) that resolves asset IDs or paths, opens the underlying files from their container (local disk or S3-compatible), and returns an archive to the browser.Integration feasibility
composer require aerni/zipper, Statamic package auto-discovery registers the service provider, publish config, wire a template tag or hit the route. Hours, not days, for a working spike.Technical risk
2.5.x version line plus an external contributor (PR #20) indicates a real release cadence and some outside participation, which is stronger evidence of maintenance than the prior snapshot suggested. Downgrade this from "unproven" to "thinly maintained but active."statamic/cms, laravel/framework, PHP) against our target majors. The existence of a 2.5.x line makes the earlier "single initial release" concern moot, but the constraint matrix still needs verification.Key questions
cache:clear path?Stack fit
storage/app tree) rather than letting the package own an unmanaged path.Migration path
Compatibility
composer.json (now 2.5.1) and let Composer's platform requirements fail the build on a Laravel/Statamic upgrade. Do not float the constraint — a ^2.5 would pull a future cache-behavior change silently.Sequencing
Maintenance
Support
Scaling
Failure modes
max_execution_time or proxy/gateway timeout → truncated ZIP that still looks like a valid download to the user (worst class, because it is silent).Content-Length/integrity checks, Cache-Control: private, no-store at the edge, auth middleware, cache TTL plus invalidation, disk quota with alerting, and alerting on 5xx rate, cache hit rate, and average response duration.Ramp-up
How can I help you explore Laravel packages today?