@filepack/storage-local
v0.1.1
Published
Local disk ObjectStorage adapter for Filepack development
Readme
@filepack/storage-local
Development-only local disk implementation of Filepack's ObjectStorage.
import { localAdapter } from "@filepack/storage-local";
const storage = localAdapter({
directory: "/absolute/path/to/.filepack-objects",
});The directory is required and must be absolute. Object bytes and their MIME metadata persist in private adapter files. Temporary upload and download capabilities are opaque, expiring, and process-local. Restarting the process invalidates existing capabilities without removing completed objects. Incomplete multipart session metadata and completed part bytes persist across restart. A restarted process can prepare fresh capabilities for remaining parts. Completion durably records assembled size and SHA-256 before publication. Retries verify an already-published object from those facts before removing stale session data, even when prior cleanup removed part files. Abort removes durable parts before session metadata and revokes all part capabilities after successful cleanup.
Trusted terminal sealing atomically replaces the exact hashed object path with a zero-byte marker. It never follows a symlink at the destination path. Same-key publication, sealing, and deletion share process-wide coordination across adapter instances for the resolved directory. Streaming stays outside the lock; publication rechecks both coordination generation and capability expiry before the create-only filesystem operation.
Use one application process in local development. This adapter does not provide a persistent multi-process capability registry and is not intended for production storage.
Hosts must schedule Filepack's expiry, cleanup, and reconciliation methods even in development flows that exercise lifecycle recovery. See the repository operations guide.
