@storagesdk/adapters
v0.4.0
Published
Storage backend adapters for storagesdk. Import the adapter you need via a subpath, e.g. `@storagesdk/adapters/fs`.
Maintainers
Readme
@storagesdk/adapters
Backend adapters for storagesdk. Import the adapter you need via a subpath; the others are tree-shaken out.
npm install @storagesdk/core @storagesdk/adaptersEach provider's SDK is an optional peer dependency. Install only the SDKs for adapters you actually import — see each adapter's README for the exact install line.
Available adapters
| Adapter | Subpath | Backend |
| --- | --- | --- |
| Tigris | @storagesdk/adapters/tigris | Tigris — snapshots and forks are first-class via Tigris's native APIs. |
| S3 | @storagesdk/adapters/s3 | Amazon S3 and any S3-compatible provider. |
| R2 | @storagesdk/adapters/r2 | Cloudflare R2. |
| GCS | @storagesdk/adapters/gcs | Google Cloud Storage. |
| Azure Blob | @storagesdk/adapters/azure | Azure Blob Storage. |
| Vercel Blob | @storagesdk/adapters/vercel | Vercel Blob. |
| MinIO | @storagesdk/adapters/minio | MinIO. |
| Fly.io | @storagesdk/adapters/fly | Fly-managed Tigris buckets — branded alias of the Tigris adapter. |
| Railway | @storagesdk/adapters/railway | Railway Buckets — branded alias of the Tigris adapter. |
| Filesystem | @storagesdk/adapters/fs | Local node:fs/promises. For development and tests. |
Snapshots and forks
Every adapter implements snapshots and forks against the same contract. Backends that don't offer native primitives use a sibling-bucket / sibling-container convention (server-side copy + a per-bucket manifest); Tigris uses its native snapshot/fork APIs.
See each adapter's README for the specifics — naming convention, what the manifest contains, and what's enforced server-side vs in the SDK.
Conformance suite
@storagesdk/adapters/test-suite exports the cross-adapter behavioral suite (upload round-trip, NotFound semantics, snapshot/fork contract, AbortSignal short-circuit, etc.). Drop it into your own adapter's test file to verify you're spec-compliant. See the top-level README's "Authoring adapters" section for details.
