uppy/packages/@uppy/transloadit
Prakash 804363e86e
@uppy: upgrade vitest to v4 (#6309)
This PR Bumps the `vitest` across the monorepo:

AI Disclaimer : **AI Used**

  | Package | From | To |
  |---|---|---|
  | `vitest` | `^3.2.4` | `^4.1.6` |
  | `@vitest/browser` | `^3.2.4` | `^4.1.6` |
  | `@vitest/browser-playwright` | _(new)_ | `^4.1.6` |
| `vitest-browser-react/-vue/-svelte` | `^1.0.0` | `^2.x` (required by
vitest 4) |

Covers **21 `package.json` files** for `vitest`/`@vitest/browser` + the
**7 browser-mode packages** that need the new
  `@vitest/browser-playwright` provider.

  ### Code changes required by vitest 4

Per the [official migration
guide](https://vitest.dev/guide/migration.html#vitest-4):

- **Browser provider rework** — `provider: 'playwright'` (string) →
`playwright()` factory. Migrated 7 `vitest.config.ts` files
(`@uppy/{url,dashboard,golden-retriever,xhr-upload}` +
`examples/{react,vue,sveltekit}`).
- **Deprecated `@vitest/browser/context` imports** → `vitest/browser`.
Migrated 8 test files.
- **`vi.fn(arrow)` no longer constructible with `new`.** Vitest 4 made
`vi.fn()` callable as a constructor but arrow-fn
implementations throw. Switched `@uppy/transloadit`'s `EventSource` mock
to a regular function:
    ```js
global.EventSource = vi.fn(function MockEventSource() { return { /* ...
*/ } })
    ```
- **`Mock<T>` generic shape changed.** `ReturnType<typeof vi.fn>` now
resolves to `Mock<Procedure | Constructable>` (not directly
callable). Updated `@uppy/core`'s two `acquirerPlugin*.ts` mock helpers
to use an explicit `Mock<(...args: any[]) => any>`.
- **`vitest-browser-*` v2 made `render()` async.** Added `await
render(...)` in the 3 example test files.
- **`@types/node` needed in TS program for 4 packages** whose test files
import `node:assert`/`node:fs`/`node:path`
(`@uppy/{core,compressor,aws-s3,store-default}`). Vitest 3 transitively
pulled in `@types/node`; vitest 4 does not. Added the
  devDep + `types: ["preact", "node"]` to those four tsconfigs.
- **`@uppy/utils` `AbortController.test.ts`** — vitest 4's jsdom env
puts jsdom's `Event` on `globalThis`, while Node's
`AbortController` fires Node-realm `Event`s, breaking cross-realm
`instanceof`. Added `// @vitest-environment node` to that one
  file (DOM-agnostic test, no behavior change).
  
  ### Notes

- This PR is built on top of `uppy-upgrade-deps-v2` (the no-code-changes
dep bumps PR) and inherits those. If merging out of order,
   rebase onto `main` after `uppy-upgrade-deps-v2` lands.

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-26 21:54:07 +05:30
..
src @uppy: upgrade vitest to v4 (#6309) 2026-05-26 21:54:07 +05:30
.npmignore @uppy/transloadit: migrate to TS (#4987) 2024-03-18 15:45:11 +01:00
CHANGELOG.md [ci] release (#6170) 2026-03-25 20:59:50 +05:30
LICENSE Move Transloadit plugin to @uppy/transloadit 2018-06-18 00:49:34 -04:00
package.json @uppy: upgrade vitest to v4 (#6309) 2026-05-26 21:54:07 +05:30
README.md Fix links (#5492) 2024-10-29 13:54:00 +01:00
tsconfig.build.json From Babel to TS (#5792) 2025-06-30 16:12:26 +02:00
tsconfig.json Migrate from Eslint/Prettier/Stylelint to Biome (#5794) 2025-07-01 14:55:41 +02:00
turbo.json Fix turbo race condition (#5839) 2025-07-23 10:49:11 +02:00

@uppy/transloadit

Uppy logo: a smiling puppy above a pink upwards arrow

npm version CI status for Uppy tests CI status for Companion tests CI status for browser tests

The Transloadit plugin can be used to upload files to Transloadit for all kinds of processing, such as transcoding video, resizing images, zipping/unzipping, and more.

Try it live →

Uppy is being developed by the folks at Transloadit, a versatile file encoding service.

Example

import Uppy from '@uppy/core'
import Transloadit from '@uppy/transloadit'

const uppy = new Uppy()
uppy.use(Transloadit, {
  // Plugins
})

Installation

$ npm install @uppy/transloadit

Alternatively, you can also use this plugin in a pre-built bundle from Transloadits CDN: Smart CDN. In that case Uppy will attach itself to the global window.Uppy object. See the main Uppy documentation for instructions.

Documentation

Documentation for this plugin can be found on the Uppy website.

License

The MIT License.