Installation
This guide will walk you through installing Uploadista SDK packages for your project. Uploadista follows a modular architecture, so you only install what you need.
Prerequisites
Section titled “Prerequisites”Before installing Uploadista, ensure you have:
- Node.js 24.10.0 or higher
- npm, yarn, or pnpm package manager
Package Overview
Section titled “Package Overview”Uploadista SDK is organized into several categories of packages:
Core Packages
Section titled “Core Packages”Required for all Uploadista implementations:
npm install @uploadista/core @uploadista/server pnpm add @uploadista/core @uploadista/server yarn add @uploadista/core @uploadista/server@uploadista/core- Upload engine, flow engine, and core types@uploadista/server- Server utilities, auth context, and middleware
Client SDKs
Section titled “Client SDKs”Choose the client SDK that matches your frontend framework:
npm install @uploadista/reactpnpm add @uploadista/reactyarn add @uploadista/reactnpm install @uploadista/vuepnpm add @uploadista/vueyarn add @uploadista/vueReact Native / Expo
Section titled “React Native / Expo”npm install @uploadista/expopnpm add @uploadista/expoyarn add @uploadista/expoVanilla JavaScript (browser)
Section titled “Vanilla JavaScript (browser)”npm install @uploadista/client-browserpnpm add @uploadista/client-browseryarn add @uploadista/client-browserAll client SDKs are built on top of:
@uploadista/client-core- Core client logic (automatically installed as dependency)
Server Adapters
Section titled “Server Adapters”Choose the adapter for your HTTP framework:
Hono (recommended for Cloudflare Workers)
Section titled “Hono (recommended for Cloudflare Workers)”npm install @uploadista/adapters-honopnpm add @uploadista/adapters-honoyarn add @uploadista/adapters-honoExpress
Section titled “Express”npm install @uploadista/adapters-expresspnpm add @uploadista/adapters-expressyarn add @uploadista/adapters-expressFastify
Section titled “Fastify”npm install @uploadista/adapters-fastifypnpm add @uploadista/adapters-fastifyyarn add @uploadista/adapters-fastifyData Stores (File Storage)
Section titled “Data Stores (File Storage)”Choose one or more storage backends where files will be stored:
AWS S3 / Cloudflare R2
Section titled “AWS S3 / Cloudflare R2”npm install @uploadista/data-store-s3pnpm add @uploadista/data-store-s3yarn add @uploadista/data-store-s3Azure Blob Storage
Section titled “Azure Blob Storage”npm install @uploadista/data-store-azurepnpm add @uploadista/data-store-azureyarn add @uploadista/data-store-azureGoogle Cloud Storage
Section titled “Google Cloud Storage”npm install @uploadista/data-store-gcspnpm add @uploadista/data-store-gcsyarn add @uploadista/data-store-gcsLocal filesystem (development)
Section titled “Local filesystem (development)”npm install @uploadista/data-store-filesystempnpm add @uploadista/data-store-filesystemyarn add @uploadista/data-store-filesystemKV Stores (Metadata & State)
Section titled “KV Stores (Metadata & State)”Choose a KV store for managing upload metadata and flow job state:
npm install @uploadista/kv-store-redispnpm add @uploadista/kv-store-redisyarn add @uploadista/kv-store-redisIORedis (with clustering support)
Section titled “IORedis (with clustering support)”npm install @uploadista/kv-store-ioredispnpm add @uploadista/kv-store-ioredisyarn add @uploadista/kv-store-ioredisCloudflare KV (edge)
Section titled “Cloudflare KV (edge)”npm install @uploadista/kv-store-cloudflare-kvpnpm add @uploadista/kv-store-cloudflare-kvyarn add @uploadista/kv-store-cloudflare-kvCloudflare Durable Objects (edge)
Section titled “Cloudflare Durable Objects (edge)”npm install @uploadista/kv-store-cloudflare-dopnpm add @uploadista/kv-store-cloudflare-doyarn add @uploadista/kv-store-cloudflare-doIn-memory (development only)
Section titled “In-memory (development only)”npm install @uploadista/kv-store-memorypnpm add @uploadista/kv-store-memoryyarn add @uploadista/kv-store-memoryFilesystem (development)
Section titled “Filesystem (development)”npm install @uploadista/kv-store-filesystempnpm add @uploadista/kv-store-filesystemyarn add @uploadista/kv-store-filesystemEvent System
Section titled “Event System”Optional packages for real-time progress updates:
WebSocket event emitter
Section titled “WebSocket event emitter”npm install @uploadista/event-emitter-websocketpnpm add @uploadista/event-emitter-websocketyarn add @uploadista/event-emitter-websocketDurable Object event emitter
Section titled “Durable Object event emitter”npm install @uploadista/event-emitter-durable-objectpnpm add @uploadista/event-emitter-durable-objectyarn add @uploadista/event-emitter-durable-objectRedis pub/sub broadcaster
Section titled “Redis pub/sub broadcaster”npm install @uploadista/event-broadcaster-redispnpm add @uploadista/event-broadcaster-redisyarn add @uploadista/event-broadcaster-redisIORedis pub/sub broadcaster
Section titled “IORedis pub/sub broadcaster”npm install @uploadista/event-broadcaster-ioredispnpm add @uploadista/event-broadcaster-ioredisyarn add @uploadista/event-broadcaster-ioredisIn-memory broadcaster (development)
Section titled “In-memory broadcaster (development)”npm install @uploadista/event-broadcaster-memorypnpm add @uploadista/event-broadcaster-memoryyarn add @uploadista/event-broadcaster-memoryFlow Processing Nodes
Section titled “Flow Processing Nodes”Optional packages for building file processing pipelines:
Utility nodes (conditional, merge, multiplex, zip)
Section titled “Utility nodes (conditional, merge, multiplex, zip)”npm install @uploadista/flow-utility-nodespnpm add @uploadista/flow-utility-nodesyarn add @uploadista/flow-utility-nodesImage processing nodes
Section titled “Image processing nodes”npm install @uploadista/flow-images-nodespnpm add @uploadista/flow-images-nodesyarn add @uploadista/flow-images-nodesSharp-based image processing (Node.js)
Section titled “Sharp-based image processing (Node.js)”npm install @uploadista/flow-images-sharppnpm add @uploadista/flow-images-sharpyarn add @uploadista/flow-images-sharpPhoton-based image processing (Edge/WASM)
Section titled “Photon-based image processing (Edge/WASM)”npm install @uploadista/flow-images-photonpnpm add @uploadista/flow-images-photonyarn add @uploadista/flow-images-photonAI image processing via Replicate API
Section titled “AI image processing via Replicate API”npm install @uploadista/flow-images-replicatepnpm add @uploadista/flow-images-replicateyarn add @uploadista/flow-images-replicateZIP file utilities
Section titled “ZIP file utilities”npm install @uploadista/flow-utility-zipjspnpm add @uploadista/flow-utility-zipjsyarn add @uploadista/flow-utility-zipjsInstallation Examples
Section titled “Installation Examples”Basic Server Setup (Express + S3 + Redis)
Section titled “Basic Server Setup (Express + S3 + Redis)”npm install @uploadista/core @uploadista/server \@uploadista/adapters-express \@uploadista/data-store-s3 \@uploadista/kv-store-redispnpm add @uploadista/core @uploadista/server \@uploadista/adapters-express \@uploadista/data-store-s3 \@uploadista/kv-store-redisyarn add @uploadista/core @uploadista/server \@uploadista/adapters-express \@uploadista/data-store-s3 \@uploadista/kv-store-redisFull-Stack React App (Hono + S3 + Redis)
Section titled “Full-Stack React App (Hono + S3 + Redis)”# Servernpm install @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-s3 \@uploadista/kv-store-redis
# Clientnpm install @uploadista/react# Serverpnpm add @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-s3 \@uploadista/kv-store-redis
# Clientpnpm add @uploadista/react# Serveryarn add @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-s3 \@uploadista/kv-store-redis
# Clientyarn add @uploadista/reactEdge Deployment (Cloudflare Workers)
Section titled “Edge Deployment (Cloudflare Workers)”npm install @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-s3 \@uploadista/kv-store-cloudflare-kv \@uploadista/event-emitter-durable-objectpnpm add @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-s3 \@uploadista/kv-store-cloudflare-kv \@uploadista/event-emitter-durable-objectyarn add @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-s3 \@uploadista/kv-store-cloudflare-kv \@uploadista/event-emitter-durable-objectDevelopment Setup (Local Storage)
Section titled “Development Setup (Local Storage)”npm install @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-filesystem \@uploadista/kv-store-memorypnpm add @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-filesystem \@uploadista/kv-store-memoryyarn add @uploadista/core @uploadista/server \@uploadista/adapters-hono \@uploadista/data-store-filesystem \@uploadista/kv-store-memoryImage Processing Pipeline
Section titled “Image Processing Pipeline”# Add to your existing server setupnpm install @uploadista/flow-images-nodes \@uploadista/flow-images-sharp \@uploadista/flow-utility-nodes# Add to your existing server setuppnpm add @uploadista/flow-images-nodes \@uploadista/flow-images-sharp \@uploadista/flow-utility-nodes# Add to your existing server setupyarn add @uploadista/flow-images-nodes \@uploadista/flow-images-sharp \@uploadista/flow-utility-nodesTypeScript Configuration
Section titled “TypeScript Configuration”Uploadista is built with TypeScript and requires TypeScript 5.9 or higher. Add the following to your tsconfig.json:
{ "compilerOptions": { "target": "ES2022", "module": "ESNext", "moduleResolution": "bundler", "strict": true, "esModuleInterop": true, "skipLibCheck": true, "resolveJsonModule": true }}Environment Variables
Section titled “Environment Variables”Depending on your chosen packages, you’ll need to configure environment variables. Here are common examples:
AWS S3
Section titled “AWS S3”AWS_ACCESS_KEY_ID=your_access_keyAWS_SECRET_ACCESS_KEY=your_secret_keyAWS_REGION=us-east-1AWS_S3_BUCKET=your-bucket-nameAzure Blob Storage
Section titled “Azure Blob Storage”AZURE_STORAGE_ACCOUNT=your_account_nameAZURE_STORAGE_KEY=your_account_keyAZURE_CONTAINER_NAME=your-containerGoogle Cloud Storage
Section titled “Google Cloud Storage”GCS_PROJECT_ID=your-project-idGCS_BUCKET_NAME=your-bucket-nameGCS_CREDENTIALS_PATH=./credentials.jsonREDIS_URL=redis://localhost:6379Cloudflare KV
Section titled “Cloudflare KV”# Configured in wrangler.toml[[kv_namespaces]]binding = "UPLOADISTA_KV"id = "your-kv-namespace-id"Verification
Section titled “Verification”After installation, verify your setup by checking installed versions:
npm list @uploadista/coreYou should see output similar to:
your-project@1.0.0└── @uploadista/core@1.0.0Next Steps
Section titled “Next Steps”Now that you have Uploadista installed, proceed to the Basic Usage guide to learn how to configure and use the SDK in your application.
Package Registry
Section titled “Package Registry”All Uploadista packages are published to the npm registry under the @uploadista scope. You can browse available packages at:
Getting Help
Section titled “Getting Help”If you encounter issues during installation:
- Check the GitHub Issues
- Join our Discord community
- Visit the documentation site