Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Files
✓ import { Files } from 'files-sdk'
✗ const Files = require('files-sdk')
ESM-only package; named export, not default.
s3
✓ import { s3 } from 'files-sdk/s3'
✗ import { s3 } from 'files-sdk'
Each adapter is a separate entry point under 'files-sdk/<provider>'. Check docs for exact path.
file
✓ import { Files } from 'files-sdk' const files = new Files({ adapter: s3({ bucket: 'x' }) })
✗ import { file } from 'files-sdk/file'
File handles are returned by files.file(key), not imported directly.
Shows basic usage: import Files and S3 adapter, upload, download, check existence, generate signed URL, list, delete, and use file handles.
import { Files } from 'files-sdk';
import { s3 } from 'files-sdk/s3';
const files = new Files({
adapter: s3({ bucket: 'my-bucket' }),
});
// Upload a file
await files.upload('path/to/hello.txt', new Blob(['Hello world']), {
contentType: 'text/plain',
});
// Download
const blob = await files.download('path/to/hello.txt');
// Check existence
const exists = await files.exists('path/to/hello.txt');
// Get a signed URL (expires in 1 hour)
const url = await files.url('path/to/hello.txt', { expiresIn: 3600 });
// List files (paginated)
for await (const entry of files.list({ prefix: 'path/' })) {
console.log(entry.key);
}
// Delete
await files.delete('path/to/hello.txt');
// Use a file handle for repeated operations
const avatar = files.file('avatars/user1.png');
await avatar.upload(new Blob([...]), { contentType: 'image/png' });
console.log(await avatar.head());
await avatar.delete();
Errors
Common errors & fixes
ERR_MODULE_NOT_FOUND: Cannot find package '@aws-sdk/client-s3'
Missing peer dependency for S3 adapter.
fixRun `npm install @aws-sdk/client-s3 @aws-sdk/lib-storage @aws-sdk/s3-presigned-post @aws-sdk/s3-request-presigner` alongside `files-sdk`.
TypeError: files.url is not a function
Using an older version of files-sdk that does not implement url() for all adapters.
fixUpdate to files-sdk v1.4.0 or later, or check adapter-specific compatibility.
Error: The adapter 'gcs' is not found. Did you mean to import from 'files-sdk/gcs'?
Importing adapter from wrong path (e.g., 'files-sdk/gcp').
fixUse `import { gcs } from 'files-sdk/gcs'` and install the required GCS peer dependencies. Audit
Dependencies
@anthropic-ai/claude-agent-sdkoptionalPeer dependency for Claude AI adapter
@aws-sdk/client-s3optionalPeer dependency for S3 adapter
@aws-sdk/lib-storageoptionalPeer dependency for S3 adapter
@aws-sdk/s3-presigned-postoptionalPeer dependency for S3 adapter
@aws-sdk/s3-request-presigneroptionalPeer dependency for S3 adapter
@azure/core-authoptionalPeer dependency for Azure adapter
@azure/identityoptionalPeer dependency for Azure adapter
@azure/storage-bloboptionalPeer dependency for Azure adapter
@bunny.net/storage-sdkoptionalPeer dependency for Bunny.net adapter
@google-cloud/storageoptionalPeer dependency for GCS adapter
@googleapis/driveoptionalPeer dependency for Google Drive adapter
@microsoft/microsoft-graph-clientoptionalPeer dependency for OneDrive adapter
@netlify/blobsoptionalPeer dependency for Netlify Blobs adapter
@openai/agentsoptionalPeer dependency for OpenAI Agents adapter
@opentelemetry/apioptionalPeer dependency for instrumentation
@supabase/storage-jsoptionalPeer dependency for Supabase adapter
@vercel/bloboptionalPeer dependency for Vercel Blob adapter
aioptionalPeer dependency for Vercel AI SDK adapter
basic-ftpoptionalPeer dependency for FTP adapter
box-typescript-sdk-genoptionalPeer dependency for Box adapter
cloudinaryoptionalPeer dependency for Cloudinary adapter
convexoptionalPeer dependency for Convex adapter
dropboxoptionalPeer dependency for Dropbox adapter
firebase-adminoptionalPeer dependency for Firebase adapter
google-auth-libraryoptionalPeer dependency for GCS adapter
node-appwriteoptionalPeer dependency for Appwrite adapter
openaioptionalPeer dependency for OpenAI adapter
pocketbaseoptionalPeer dependency for PocketBase adapter
ssh2-sftp-clientoptionalPeer dependency for SFTP adapter
uploadthingoptionalPeer dependency for UploadThing adapter
zodoptionalPeer dependency for validation