mirror of
https://github.com/transloadit/uppy.git
synced 2026-07-29 21:13:21 +00:00
Moves all 43 workspaces to typescript ^6.0.3 (@uppy/companion was already pinned to 6.0.3). The two Angular workspaces stay on their own lines, ~5.7.3 and ~5.9.3, because the Angular compiler pins its supported range. TypeScript 6 reports TS2882 for side-effect imports of files it has no declarations for, which the browser tests in @uppy/dashboard, @uppy/golden-retriever and @uppy/xhr-upload hit when importing plugin CSS. Each gets a one-line ambient declaration. Nothing else changed: no source, no config, no lockfile churn beyond the compiler itself. Verified: yarn build (54/54), yarn typecheck (75/75), yarn check:ci, yarn test (19/19). |
||
|---|---|---|
| .. | ||
| app | ||
| public | ||
| .gitignore | ||
| package.json | ||
| README.md | ||
| server.ts | ||
| tsconfig.json | ||
| vite.config.ts | ||
React Router v7 + Uppy Upload Examples
Complete showcase of Uppy Dashboard with TUS (resumable), XHR (standard), and Transloadit (with processing) uploads in React Router v7 framework mode.
Quick Start
npm install
npm run dev
Visit http://localhost:3000 to explore three upload methods:
- TUS uploads: Resumable, perfect for large files
- XHR uploads: Standard HTTP, ideal for regular files
- Transloadit uploads: With powerful file processing capabilities
What You'll Learn
This example demonstrates three upload approaches with Uppy in React Router v7:
- TUS server setup with Express middleware for resumable uploads
- XHR uploads using React Router's native resource routes
- Transloadit uploads with signature generation and file processing
Transloadit Setup
To use Transloadit uploads, you need to:
- Sign up at transloadit.com
- Get your credentials from your account dashboard
- Create a template for your processing needs
- Set environment variables:
export TRANSLOADIT_KEY="your_key_here"
export TRANSLOADIT_SECRET="your_secret_here"
export TRANSLOADIT_TEMPLATE_ID="your_template_id_here"
Or create a .env file:
TRANSLOADIT_KEY=your_key_here
TRANSLOADIT_SECRET=your_secret_here
TRANSLOADIT_TEMPLATE_ID=your_template_id_here