Skip to content

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.

Before installing Uploadista, ensure you have:

  • Node.js 24.10.0 or higher
  • npm, yarn, or pnpm package manager

Uploadista SDK is organized into several categories of packages:

Required for all Uploadista implementations:

npm install @uploadista/core @uploadista/server
  • @uploadista/core - Upload engine, flow engine, and core types
  • @uploadista/server - Server utilities, auth context, and middleware

Choose the client SDK that matches your frontend framework:

npm install @uploadista/react
npm install @uploadista/vue
npm install @uploadista/expo
npm install @uploadista/client-browser

All client SDKs are built on top of:

  • @uploadista/client-core - Core client logic (automatically installed as dependency)

Choose the adapter for your HTTP framework:

npm install @uploadista/adapters-hono
npm install @uploadista/adapters-express
npm install @uploadista/adapters-fastify

Choose one or more storage backends where files will be stored:

npm install @uploadista/data-store-s3
npm install @uploadista/data-store-azure
npm install @uploadista/data-store-gcs
npm install @uploadista/data-store-filesystem

Choose a KV store for managing upload metadata and flow job state:

npm install @uploadista/kv-store-redis
npm install @uploadista/kv-store-ioredis
npm install @uploadista/kv-store-cloudflare-kv
npm install @uploadista/kv-store-cloudflare-do
npm install @uploadista/kv-store-memory
npm install @uploadista/kv-store-filesystem

Optional packages for real-time progress updates:

npm install @uploadista/event-emitter-websocket
npm install @uploadista/event-emitter-durable-object
npm install @uploadista/event-broadcaster-redis
npm install @uploadista/event-broadcaster-ioredis
npm install @uploadista/event-broadcaster-memory

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-nodes
npm install @uploadista/flow-images-nodes
npm install @uploadista/flow-images-sharp
npm install @uploadista/flow-images-photon
npm install @uploadista/flow-images-replicate
npm install @uploadista/flow-utility-zipjs
npm install @uploadista/core @uploadista/server \
@uploadista/adapters-express \
@uploadista/data-store-s3 \
@uploadista/kv-store-redis
# Server
npm install @uploadista/core @uploadista/server \
@uploadista/adapters-hono \
@uploadista/data-store-s3 \
@uploadista/kv-store-redis
# Client
npm install @uploadista/react
npm install @uploadista/core @uploadista/server \
@uploadista/adapters-hono \
@uploadista/data-store-s3 \
@uploadista/kv-store-cloudflare-kv \
@uploadista/event-emitter-durable-object
npm install @uploadista/core @uploadista/server \
@uploadista/adapters-hono \
@uploadista/data-store-filesystem \
@uploadista/kv-store-memory
# Add to your existing server setup
npm install @uploadista/flow-images-nodes \
@uploadista/flow-images-sharp \
@uploadista/flow-utility-nodes

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
}
}

Depending on your chosen packages, you’ll need to configure environment variables. Here are common examples:

Terminal window
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=us-east-1
AWS_S3_BUCKET=your-bucket-name
Terminal window
AZURE_STORAGE_ACCOUNT=your_account_name
AZURE_STORAGE_KEY=your_account_key
AZURE_CONTAINER_NAME=your-container
Terminal window
GCS_PROJECT_ID=your-project-id
GCS_BUCKET_NAME=your-bucket-name
GCS_CREDENTIALS_PATH=./credentials.json
Terminal window
REDIS_URL=redis://localhost:6379
Terminal window
# Configured in wrangler.toml
[[kv_namespaces]]
binding = "UPLOADISTA_KV"
id = "your-kv-namespace-id"

After installation, verify your setup by checking installed versions:

Terminal window
npm list @uploadista/core

You should see output similar to:

your-project@1.0.0
└── @uploadista/core@1.0.0

Now that you have Uploadista installed, proceed to the Basic Usage guide to learn how to configure and use the SDK in your application.

All Uploadista packages are published to the npm registry under the @uploadista scope. You can browse available packages at:

If you encounter issues during installation: