mirror of
https://github.com/transloadit/uppy.git
synced 2026-07-18 00:55:35 +00:00
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> |
||
|---|---|---|
| .. | ||
| angular | ||
| audio | ||
| aws-s3 | ||
| box | ||
| companion | ||
| companion-client | ||
| components | ||
| compressor | ||
| core | ||
| dashboard | ||
| drag-drop | ||
| drop-target | ||
| dropbox | ||
| form | ||
| golden-retriever | ||
| google-drive | ||
| google-drive-picker | ||
| google-photos-picker | ||
| image-editor | ||
| image-generator | ||
| locales | ||
| onedrive | ||
| provider-views | ||
| react | ||
| remote-sources | ||
| screen-capture | ||
| status-bar | ||
| store-default | ||
| svelte | ||
| thumbnail-generator | ||
| transloadit | ||
| tus | ||
| unsplash | ||
| url | ||
| utils | ||
| vue | ||
| webcam | ||
| webdav | ||
| xhr-upload | ||
| zoom | ||