Prakash
7ea7530997
upgrade playwright ( #6316 )
...
fixes the timeout which we're facing in "CI / Test" in the past few days
which gets stuck at "Install Playwright Browsers"
https://github.com/transloadit/uppy/actions/runs/26646754991/job/78534314307?pr=6315
tested on my local fork
2026-06-01 18:08:22 +05:30
Prakash
c3c7cef4ed
@uppy: upgrade deps ( #6307 )
...
will do a separte PR for changes which would require code changes so
it's easier to review , didn't upgrade any deps for `@uppy/aws-s3` since
we'll merge the rewrite so I think we should do that upgrade in the
rewrite branch before merging.
update : Dependency upgrades which required code changes were raised
separately
- #6309
- #6310
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-29 18:58:42 +05:30
Prakash
5519b84409
@uppy: upgrade biome and more improvements ( #6244 )
...
- This PR upgrades `biome` from `2.0.5` -> `2.1.2` and adds two new
rules
-
[noUnusedImports](https://biomejs.dev/linter/rules/no-unused-private-class-members )
( we already had suppressions for this rule in code, but the rule itself
was never enabled in the config )
-
[noUnusedPrivateClassMembers](https://biomejs.dev/linter/rules/no-unused-private-class-members/ )
- remove stale suppressions.
- remove stale code.
---------
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2026-05-21 12:28:03 +08:00
Mikael Finstad
ad4050b51e
Send token using websocket ( #6248 )
...
instead of window.opener - it is more robust
inspired by #4110
closes #6246
closes #4107
Biggest caveat: In cases where window.opener is null (Dropbox), the auth
window will not be auto closed (I don't know how to fix that). It will
show the user a message "Authentication successful. You may now close
this page."
https://github.com/transloadit/uppy/pull/6248/changes#diff-ef5b69c4ab5b83168eaba6f57047bb07c53e3a426f375b42fcb32d79c746872cR22
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Prakash <qxprakash@gmail.com>
2026-05-09 15:03:04 +08:00
Prakash
ddae349193
@uppy/examples: mock tus endpoint for react, vue and svelte tests ( #6215 )
...
this fixes #6176
---------
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2026-03-11 14:05:24 +08:00
Merlijn Vos
850c1cb1c5
Add useImageEditor ( #6122 )
...
- Create image editor abstraction in `@uppy/components`
- Refactor `Editor` (Preact) and `ImageEditor` (Uppy plugin) to put all
methods in the Uppy plugin class so they can be reused by the headless
abstraction
- Create framework hooks for React, Vue, Svelte
- Update all examples to showcase the new hook
- Symlink the `cropper.scss` (just regular CSS) from
`@uppy/image-editor` into `@uppy/components`, update `build:css` in all
framework packages to copy that file too into their own `dist/` output.
- cropper-js needs basic CSS to do the rotations and stuff which would
be very tedious to write yourself so we ship that CSS file to consumers
too so they can just import it.
- Fix memory leak where we created the image on each render inside the
original Preact plugin UI
```ts
import type { UppyFile } from '@uppy/core'
import { useImageEditor } from '@uppy/react'
interface ImageEditorProps {
file: UppyFile<any, any>
close: () => void
}
export function ImageEditor({ file, close }: ImageEditorProps) {
const {
state,
getImageProps,
getSaveButtonProps,
getCancelButtonProps,
getRotateButtonProps,
getFlipHorizontalButtonProps,
getZoomButtonProps,
getCropSquareButtonProps,
getCropLandscapeButtonProps,
getCropPortraitButtonProps,
getResetButtonProps,
getRotationSliderProps,
} = useImageEditor({ file })
return (
<div className="p-4 max-w-2xl w-full">
<div className="flex justify-between items-center mb-4">
<h2 className="text-xl font-bold">Edit Image</h2>
<button
type="button"
onClick={close}
className="text-gray-500 hover:text-gray-700"
>
✕
</button>
</div>
<div className="mb-4">
{/* biome-ignore lint/a11y/useAltText: alt is provided by getImageProps() */}
<img
className="w-full max-h-[400px] rounded-lg border-2"
{...getImageProps()}
/>
</div>
<div className="mb-4">
<label className="block text-sm font-medium mb-2">
Fine Rotation: {state.angle}°
<input className="w-full mt-1" {...getRotationSliderProps()} />
</label>
</div>
<div className="flex gap-2 flex-wrap mb-4">
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getRotateButtonProps(-90)}
>
↶ -90°
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getRotateButtonProps(90)}
>
↷ +90°
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getFlipHorizontalButtonProps()}
>
⇆ Flip
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getZoomButtonProps(0.1)}
>
+ Zoom
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getZoomButtonProps(-0.1)}
>
- Zoom
</button>
</div>
<div className="flex gap-2 flex-wrap mb-4">
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getCropSquareButtonProps()}
>
1:1
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getCropLandscapeButtonProps()}
>
16:9
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getCropPortraitButtonProps()}
>
9:16
</button>
<button
className="bg-gray-200 px-3 py-1 rounded disabled:opacity-50"
{...getResetButtonProps()}
>
Reset
</button>
</div>
<div className="flex gap-4 justify-end">
<button
className="bg-gray-500 text-white px-4 py-2 rounded-md"
{...getCancelButtonProps({ onClick: close })}
>
Cancel
</button>
<button
className="bg-green-500 text-white px-4 py-2 rounded-md disabled:opacity-50 disabled:bg-green-300"
{...getSaveButtonProps({ onClick: close })}
>
Save
</button>
</div>
</div>
)
}
export default ImageEditor
```
https://github.com/user-attachments/assets/4b0a99cc-8489-41a2-aa3b-ce88110025bf
---------
Co-authored-by: Prakash <qxprakash@gmail.com>
2026-01-29 11:13:12 +01:00
Merlijn Vos
943ed7ad56
Upgrade playwright in all packages ( #6086 )
...
To resolve security advisories. Should be merged after #6085
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Upgrades Playwright to 1.57.0 across examples and packages, updating
corresponding yarn.lock entries.
>
> - **Dependencies**:
> - Bump `playwright` to `1.57.0` in `examples/react/package.json`,
`examples/sveltekit/package.json`, `examples/vue/package.json`,
`packages/@uppy/dashboard/package.json`, and
`packages/@uppy/url/package.json`.
> - Update `yarn.lock` to `playwright@1.57.0` and
`playwright-core@1.57.0`.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot ) for commit
fa35f7b7ea . This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot ).</sup>
<!-- /CURSOR_SUMMARY -->
2025-12-05 10:27:58 +01:00
dependabot[bot]
dbb5175572
build(deps-dev): bump vite from 7.1.5 to 7.1.11 ( #6021 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite )
from 7.1.5 to 7.1.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases ">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.11</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.11/packages/vite/CHANGELOG.md ">CHANGELOG.md</a>
for details.</p>
<h2>v7.1.10</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.10/packages/vite/CHANGELOG.md ">CHANGELOG.md</a>
for details.</p>
<h2>v7.1.9</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.9/packages/vite/CHANGELOG.md ">CHANGELOG.md</a>
for details.</p>
<h2>v7.1.8</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.8/packages/vite/CHANGELOG.md ">CHANGELOG.md</a>
for details.</p>
<h2>v7.1.7</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.7/packages/vite/CHANGELOG.md ">CHANGELOG.md</a>
for details.</p>
<h2>v7.1.6</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.1.6/packages/vite/CHANGELOG.md ">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md ">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.10...v7.1.11 ">7.1.11</a>
(2025-10-20)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>dev:</strong> trim trailing slash before
<code>server.fs.deny</code> check (<a
href="https://redirect.github.com/vitejs/vite/issues/20968 ">#20968</a>)
(<a
href="f479cc57c4 ">f479cc5</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20966 ">#20966</a>)
(<a
href="6fb41a260b ">6fb41a2</a>)</li>
</ul>
<h3>Code Refactoring</h3>
<ul>
<li>use subpath imports for types module reference (<a
href="https://redirect.github.com/vitejs/vite/issues/20921 ">#20921</a>)
(<a
href="d0094af639 ">d0094af</a>)</li>
</ul>
<h3>Build System</h3>
<ul>
<li>remove cjs reference in files field (<a
href="https://redirect.github.com/vitejs/vite/issues/20945 ">#20945</a>)
(<a
href="ef411cee26 ">ef411ce</a>)</li>
<li>remove hash from built filenames (<a
href="https://redirect.github.com/vitejs/vite/issues/20946 ">#20946</a>)
(<a
href="a81730754d ">a817307</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.9...v7.1.10 ">7.1.10</a>
(2025-10-14)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>css:</strong> avoid duplicate style for server rendered
stylesheet link and client inline style during dev (<a
href="https://redirect.github.com/vitejs/vite/issues/20767 ">#20767</a>)
(<a
href="3a92bc79b3 ">3a92bc7</a>)</li>
<li><strong>css:</strong> respect emitAssets when cssCodeSplit=false (<a
href="https://redirect.github.com/vitejs/vite/issues/20883 ">#20883</a>)
(<a
href="d3e7eeefa9 ">d3e7eee</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="879de86935 ">879de86</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20894 ">#20894</a>)
(<a
href="3213f90ff0 ">3213f90</a>)</li>
<li><strong>dev:</strong> allow aliases starting with <code>//</code>
(<a
href="https://redirect.github.com/vitejs/vite/issues/20760 ">#20760</a>)
(<a
href="b95fa2aa75 ">b95fa2a</a>)</li>
<li><strong>dev:</strong> remove timestamp query consistently (<a
href="https://redirect.github.com/vitejs/vite/issues/20887 ">#20887</a>)
(<a
href="6537d15591 ">6537d15</a>)</li>
<li><strong>esbuild:</strong> inject esbuild helpers correctly for
esbuild 0.25.9+ (<a
href="https://redirect.github.com/vitejs/vite/issues/20906 ">#20906</a>)
(<a
href="446eb38632 ">446eb38</a>)</li>
<li>normalize path before calling <code>fileToBuiltUrl</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/20898 ">#20898</a>)
(<a
href="73b6d243e0 ">73b6d24</a>)</li>
<li>preserve original sourcemap file field when combining sourcemaps (<a
href="https://redirect.github.com/vitejs/vite/issues/20926 ">#20926</a>)
(<a
href="c714776aa1 ">c714776</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>correct <code>WebSocket</code> spelling (<a
href="https://redirect.github.com/vitejs/vite/issues/20890 ">#20890</a>)
(<a
href="29e98dc3ef ">29e98dc</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20923 ">#20923</a>)
(<a
href="a5e3b064fa ">a5e3b06</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.8...v7.1.9 ">7.1.9</a>
(2025-10-03)<!-- raw HTML omitted --></h2>
<h3>Reverts</h3>
<ul>
<li><strong>server:</strong> drain stdin when not interactive (<a
href="https://redirect.github.com/vitejs/vite/issues/20885 ">#20885</a>)
(<a
href="12d72b0538 ">12d72b0</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.1.7...v7.1.8 ">7.1.8</a>
(2025-10-02)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>css:</strong> improve url escape characters handling (<a
href="https://redirect.github.com/vitejs/vite/issues/20847 ">#20847</a>)
(<a
href="24a61a3f54 ">24a61a3</a>)</li>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/20855 ">#20855</a>)
(<a
href="788a183afc ">788a183</a>)</li>
<li><strong>deps:</strong> update artichokie to 0.4.2 (<a
href="https://redirect.github.com/vitejs/vite/issues/20864 ">#20864</a>)
(<a
href="e670799e12 ">e670799</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8b69c9e32c "><code>8b69c9e</code></a>
release: v7.1.11</li>
<li><a
href="f479cc57c4 "><code>f479cc5</code></a>
fix(dev): trim trailing slash before <code>server.fs.deny</code> check
(<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20968 ">#20968</a>)</li>
<li><a
href="6fb41a260b "><code>6fb41a2</code></a>
chore(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20966 ">#20966</a>)</li>
<li><a
href="a81730754d "><code>a817307</code></a>
build: remove hash from built filenames (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20946 ">#20946</a>)</li>
<li><a
href="ef411cee26 "><code>ef411ce</code></a>
build: remove cjs reference in files field (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20945 ">#20945</a>)</li>
<li><a
href="d0094af639 "><code>d0094af</code></a>
refactor: use subpath imports for types module reference (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20921 ">#20921</a>)</li>
<li><a
href="ed4a0dc913 "><code>ed4a0dc</code></a>
release: v7.1.10</li>
<li><a
href="c714776aa1 "><code>c714776</code></a>
fix: preserve original sourcemap file field when combining sourcemaps
(<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20926 ">#20926</a>)</li>
<li><a
href="446eb38632 "><code>446eb38</code></a>
fix(esbuild): inject esbuild helpers correctly for esbuild 0.25.9+ (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20906 ">#20906</a>)</li>
<li><a
href="879de86935 "><code>879de86</code></a>
fix(deps): update all non-major dependencies</li>
<li>Additional commits viewable in <a
href="https://github.com/vitejs/vite/commits/v7.1.11/packages/vite ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/transloadit/uppy/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 10:07:47 +02:00
Mikael Finstad
1fbb95da2b
improve test scripts ( #6016 )
...
1. don't run browser tests in `headless` mode by default when running
tests individually. because when writing/running tests, i usually want
to see/debug using the browser. if one still wants headless, it's as
easy as: `yarn workspace @uppy/xyz test --browser.headless`. instead
append the `headless` mode when running all tests together - it doesn't
make sense to run all projects' tests without headless mode.
2. don't always run browser tests with `watch`: watch doesn't make sense
when running multiple projects in turbo (one project just blocks the
rest watching for changes). if one still wants to run a single test with
watch mode, it's as easy as: `yarn workspace @uppy/xyz test --watch`
3. don't cache test runs: if I run the `test` command. most of the time
I want to actually run tests (not skip them if they already ran last
time)
4. output logs when running tests. it's nice to see that the tests have
actually run (also on CI)
5. when running all tests, use concurrency=1, because the tests also
includes e2e tests, running multiple browsers in parallel really just
makes the test fail on my computer (and uses a lot of memory)
current output is not very informative:
<img width="840" height="410" alt="Screenshot 2025-10-17 at 17 09 55"
src="https://github.com/user-attachments/assets/9ca8278c-f160-478c-87e2-2ef861ba4bb1 "
/>
with this PR:
<img width="672" height="495" alt="Screenshot 2025-10-17 at 17 20 49"
src="https://github.com/user-attachments/assets/1339c96b-d0c1-42e1-8fa1-d5a4a36ea42a "
/>
2025-10-17 22:07:01 +08:00
Prakash
944310dc67
add typescript as a dev dep in stackblitz env ( #5976 )
...
see #5968
2025-09-17 14:37:34 +05:30
Prakash
d6b3aa575e
@uppy/components: fix dropzone global id ( #5967 )
...
fixes #5946
Root Cause :
`createDropzone` used a single global `id` for the file input
(`'uppy-dropzone-file-input'`) Clicking any `<Dropzone />` did
`document.getElementById(<global-id>).click()`, which always targeted
the first input in the DOM, so files were added to the first Uppy
instance.
9bac4c8398/packages/%40uppy/components/src/hooks/dropzone.ts (L73-L77)
**Solutions :**
Simplest solution would have been to just make the input id unique per
Uppy instance using `ctx.uppy.getID()`, and click that specific input.
```typescript
const fileInputId = 'uppy-dropzone-file-input-' + ctx.uppy.getID()
```
**Caveats**:
If users don’t pass a custom id to `new Uppy()`, all instances default
to uppy, so ids still collide across instances.
Multiple Dropzones under one instance still share the same id.
Switched to a ref-based approach so clicks trigger the input directly,
without relying on `document.getElementById` lookups. It still falls
back to a DOM click for backward compatibility.
**StackBlitz Link :**
https://stackblitz.com/github/qxprakash/uppy/tree/debug_dropzone/examples/react?file=package.json&embed=1&view=editor&showSidebar=1&hideTerminal=1
**Update: Went for the ID based solution upon discussion with the team
as it's simpler.**
2025-09-17 10:39:57 +02:00
Prakash
8cd3702104
Optmize Stackblitz install times ( #5968 )
...
StackBlitz examples took **146+ seconds** to start due to heavy dev
dependencies
### Optimizations
- Eliminate heavy dev deps like `playwright (~200MB)` `@vitest/browser`
`vitest`
- Aggressive install flags: `--prefer-offline --reporter=silent
--ignore-scripts --no-optional`
- use pnpm
- Results **React example: 146s → ~25s (83% faster)**
2025-09-16 16:04:52 +02:00
dependabot[bot]
fc3e483fcb
build(deps-dev): bump vite from 7.0.6 to 7.0.7 ( #5962 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite )
from 7.0.6 to 7.0.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases ">vite's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.7</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v7.0.7/packages/vite/CHANGELOG.md ">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/v7.0.7/packages/vite/CHANGELOG.md ">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v7.0.6...v7.0.7 ">7.0.7</a>
(2025-09-08)<!-- raw HTML omitted --></h2>
<h3>Bug Fixes</h3>
<ul>
<li>apply <code>fs.strict</code> check to HTML files (<a
href="https://redirect.github.com/vitejs/vite/issues/20736 ">#20736</a>)
(<a
href="6f01ff4fe0 ">6f01ff4</a>)</li>
<li>upgrade sirv to 3.0.2 (<a
href="https://redirect.github.com/vitejs/vite/issues/20735 ">#20735</a>)
(<a
href="63e2a5d232 ">63e2a5d</a>)</li>
</ul>
<h3>Tests</h3>
<ul>
<li>detect ts support via <code>process.features</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/20544 ">#20544</a>)
(<a
href="45fdb16581 ">45fdb16</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f88a1c0999 "><code>f88a1c0</code></a>
release: v7.0.7</li>
<li><a
href="45fdb16581 "><code>45fdb16</code></a>
test: detect ts support via <code>process.features</code> (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20544 ">#20544</a>)</li>
<li><a
href="63e2a5d232 "><code>63e2a5d</code></a>
fix: upgrade sirv to 3.0.2 (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20735 ">#20735</a>)</li>
<li><a
href="6f01ff4fe0 "><code>6f01ff4</code></a>
fix: apply <code>fs.strict</code> check to HTML files (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20736 ">#20736</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite/commits/v7.0.7/packages/vite ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/transloadit/uppy/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-10 15:30:59 +02:00
Prakash
b56cc01f72
@uppy/examples: fix .stackblitzrc install command ( #5919 )
2025-08-22 10:14:19 +02:00
Prakash
f80dbb1561
@uppy/examples: fix workspace dependencies for StackBlitz environment ( #5910 )
...
- Add .stackblitzrc configuration file for StackBlitz environment setup
for
- Add prepare-stackblitz.js script to replace `workspace:*` dependencies
with "latest"
- Configure StackBlitz to run preparation script before installing
dependencies
- Change CSS import paths in examples from `@uppy/react/css/style.css`
to `@uppy/react/dist/styles.css` temporarily (will need to revert after
we release 5.0)
2025-08-21 20:39:32 +02:00
Prakash
58e9025d07
Merge branch 'main' of https://github.com/transloadit/uppy into merge_v2
2025-08-21 20:40:23 +05:30
Murderlon
f221125b9a
Hopefully fix playwright in CI
2025-08-21 15:04:12 +02:00
Prakash
6a33652458
Merge branch 'main' of https://github.com/transloadit/uppy into 5.0
2025-08-20 16:17:08 +05:30
Prakash
c5b51f6158
Add Export Maps ( #5830 )
...
- added export maps to all the @uppy packages .
- imports remain unaffected except for peerDep packages in `@uppy/react`
`@uppy/svelte` and `@uppy/vue3`.
- export maps added for index files , css , and package.json.
- Added side effects for all the packages.
---------
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-07-31 17:22:57 +02:00
Merlijn Vos
0e178aea68
Deduplicate dependencies & resolve all yarn warnings ( #5848 )
...
- Deduplicate Vite versions, always use 7.x (except for sveltekit, which
does not allow 7 yet)
- Add missing dev deps
- Fix react-native requested deps versions
- Fix companion @types/node
- Fix "engines" in root package.json
No more yarn warnings 🎉
2025-07-29 16:27:32 +02:00
Murderlon
4408f7e3f2
Merge branch 'main' into 5.0
...
* main:
@uppy/locales: update Czech translations (#5819 )
Add CLAUDE.md
Trigger release CI
Migrate from Cypress to Vitest Browser Mode (#5828 )
build(deps): bump multer from 1.4.4 to 2.0.2 (#5831 )
Migrate to changesets from custom release tooling (#5840 )
Fix turbo race condition (#5839 )
2025-07-29 14:07:33 +02:00
Merlijn Vos
7bf319646a
Migrate from Cypress to Vitest Browser Mode ( #5828 )
...
- Remove `e2e` folder entirely
- Remove all hacky resolutions and yarn patches
- Remove `@types/jasmine`, `js2ts` (convert a JS file to TS), and
`vue-template-compiler` from `private/`
- Remove e2e CI job
- Add browsers tests for vue, svelte, and react headless components and
hooks.
- Add new (browser) tests for transloadit, aws-s3, and dashboard.
- Remove final useless scripts from `package.json`, use direct
references in CI.
- Fix Dropzone component accessibility discovered during testing
- Clean up github workflows (move linters.yml into ci.yml, update
e2e.yml)
**Why Vitest Browser Mode?**
We could have used playwright but vitest browser mode uses it under the
hood and we get the use the vitest we know a love. No two entirely
different setups, no different assertions to relearn, write e2e tests as
if you're writing unit tests. Easy, fast, beautiful.
https://vitest.dev/guide/browser/
**Has every single e2e test been rewritten?**
No there were quite a few tests that have a lot overlap with existing or
newly added tests. There were also some tests that were so heavily
mocked inside and out you start to wonder what the value still is. Open
to discuss which tests still need to be added.
2025-07-28 11:27:37 +02:00
Prakash
cb9673bc1e
uppy 5.0: remove stale plugins ( #5834 )
...
This PR removes `@uppy/store-redux` , `@uppy/redux-dev-tools` ,
`@uppy/progress-bar` , `@uppy/drag-drop` , `@uppy/file-input` ,
`@uppy/aws-s3-multipart`
- **Source Removal**
Removed source Dirs of packages, including all source code, styles,
documentation, and build configurations.
- **Bundle & Exports**
Removed related exports from `packages/uppy/src/bundle.ts` and
`index.ts`. Cleaned up dependencies from `uppy/package.json`.
- **Framework Cleanup**
Removed components and exports from:
- `@uppy/react`
- `@uppy/vue`
- `@uppy/svelte`
- `@uppy/angular`
- **Dependency Cleanup**
Removed references across all `package.json`, `peerDependencies`,
`tsconfig.*.json`, and `turbo.json` files.
- **Example Updates**
- Updated Angular example and `private/dev/DragDrop.js`
- Removed deprecated plugin usage
- Cleaned example dependencies
- **Style Cleanup**
Removed CSS imports from `packages/uppy/src/style.scss` and
`examples/angular/src/styles.css`. Fixed TypeScript project references.
- **Migration Guide**
Updated `.github/MIGRATION.md`
2025-07-28 10:30:50 +02:00
Merlijn Vos
7a50ab89ef
Cleanup examples ( #5817 )
...
- Remove outdated examples
- Rename folders for consistency
- Remove lots of unused deps in angular example.
- Rename `name` inside `package.json`'s from `@uppy-example/*` to
`example-*`.
**Before**
```
├── angular-example
├── aws-companion
├── aws-nodejs
├── aws-php
├── bundled
├── cdn-example
├── custom-provider
├── digitalocean-spaces
├── multiple-instances
├── node-xhr
├── php-xhr
├── python-xhr
├── react
├── react-native-expo
├── redux
├── sveltekit
├── transloadit
├── transloadit-markdown-bin
├── uppy-with-companion
├── vue3
└── xhr-bundle
```
**After**
```
examples
├── angular
├── aws-companion
├── aws-nodejs
├── aws-php
├── cdn
├── companion
├── companion-custom-provider
├── companion-digitalocean-spaces
├── react
├── react-native-expo
├── redux
├── sveltekit
├── transloadit
├── vue
├── xhr-bundle
├── xhr-node
├── xhr-php
└── xhr-python
```
2025-07-10 17:23:58 +02:00
Merlijn Vos
1f8ecd72cb
@uppy/vue: migrate to Composition API with TS & drop Vue 2 support ( #5043 )
2024-03-28 14:47:06 +01:00
Antoine du Hamel
975038cf4c
meta: upgrade Vite and Vitest ( #4881 )
2024-01-22 15:56:40 +01:00
Antoine du Hamel
34c78e9093
meta: run Prettier on existing files ( #4713 )
2023-09-29 11:11:28 +02:00
Antoine du Hamel
141eb248be
meta: upgrade to Vite 4 and ESBuild 0.16 ( #4243 )
2022-12-13 15:07:19 +01:00
Antoine du Hamel
5353874083
example: fix docs and env for Vite examples ( #4018 )
2022-08-22 15:25:22 +02:00
Antoine du Hamel
0db5b83e16
meta: upgrade to Vite v3 ( #3882 )
...
Refs: https://vitejs.dev/blog/announcing-vite3.html
2022-07-14 17:10:38 +02:00
Antoine du Hamel
91e08c191f
example: update Vue2 example ( #3802 )
2022-06-02 20:11:32 +02:00
Antoine du Hamel
3f56f194a7
meta: update npm deps ( #3352 )
2021-12-09 18:12:34 +01:00
Antoine du Hamel
01d7ea13e9
meta: use Yarn v3 instead of npm ( #3237 )
...
* meta: use Yarn v3 instead of npm
* Update CONTRIBUTING.md to fix linter errors
* remove remaining npm commands
* Update deps
2021-10-20 15:16:59 +02:00
Antoine du Hamel
55e0ffd04a
Add retext to markdown linter ( #3024 )
...
* remark-lint-uppy: use `retext` to improve doc syntax and grammar
* WIP: start fixing fixing linter errors
* Remove `retext-passive` as I don't see what's wrong with passive voice
* Remove URL plugin, add emphasis/strong marker plugin
* Fix remark settings to avoid conflicts
* WIP: more auto-fixes
* remark-simplify: allow `option`
* zoom.md
* url.md
* vue.md
* tus.md
* webcam.md
* xhrupload.md
* writing-plugins
* thumbnail-generator
* svelte
* react-dragdrop
* stores
* do not over simplify
* statusbar
* robodog
* robodog-upload
* robodog-picker
* robodog-form
* robodog-dashboard
* redux
* privacy
* uppy.md
* transloadit.md
* react-native
* react-initializing
* react-fileinput
* providers
* progressbar
* plugins
* plugin-common-options
* onedrive
* locales
* instagram
* informer
* index
* google-drive
* golden-retriever
* form
* fileinput
* facebook
* dropbox
* drop-target
* dragdrop
* remark-lint-no-unneeded-full-reference-link
* Try to setup unified-message-control
* Upgrade deps
* Fix collapsed link references with inline code
* Revert "remark-lint-no-unneeded-full-reference-link"
This reverts commit ca375f463b771bc81d0868f4d84f5979823cfc0a.
* remark-lint-uppy: add missing `"main"` field
* Update package-lock.json
* add disable comments
* fixup! xhrupload.md
* writing-plugins
* unsplash
* tus
* stores
* migration-guide
* dashboard
* community-projects
* box
* integration_help
* blog posts
* companion
* aws-s3
* aws-s3-multipart
* remark-lint-uppy README
* website/inject
* BUNDLE-README
* READMEs
* architecture
* move Remark settings to the plugin
* add `listItemIndent` setting
* list indent fix
* fix ignored files
* revert changelog changes
* fixup! architecture
* Revert changes in ignored files
* Remove unnecessary HTML tags from READMEs
2021-10-14 16:10:45 +02:00
Merlijn Vos
acb6566ec0
Always enable strict types and remove .run method ( #2957 )
...
* Always use strict types and remove `.run` method
* Remove accidental package-lock.json files
* Actually remove `.run` method
2021-06-30 12:05:10 +01:00
Andrew
58f996c0e4
Vue 3 support ( #2755 )
...
* basic support
* improved support
* Add all components (still buggy)
* revert && Add lockfile
* Small fixes
* import .eslintrc from master
* Fix shadowing issue
* Update packages/@uppy/vue/src/utils.js
Co-authored-by: Renée Kooi <renee@kooi.me>
Co-authored-by: Artur Paikin <artur@arturpaikin.com>
Co-authored-by: Renée Kooi <renee@kooi.me>
2021-03-24 16:01:45 +00:00
Kevin van Zonneveld
764c2ccada
Update Linter ( #2796 )
...
* relocate .vscode
* Switch to transloadit linter
* Update .eslintrc.json
* autofix code
* unlink and install eslint-config-transloadit@1.1.1
* Change 0 to "off"
* Don't change 'use strict'
* Do not vertically align
* disable key-spacing
* add import/no-extraneous-dependencies per package
* add more react/a11y warnings
* Revert "autofix code"
This reverts commit 14c8a8cde8 .
* add import/no-extraneous-dependencies per example and main package
* autofix code (2)
* Allow devDependencies in ./bin
* Change import/no-extraneous-dependencies to warn again
* upgrade linter
* Set import/no-extraneous-dependencies to warn
2021-03-15 16:25:17 +00:00
Renée Kooi
a03a1ed7d6
use tusd.tusdemo.net ( #2691 )
2020-12-16 15:08:40 +01:00
Andrew Kachnic
ef0722cbc6
Fixed build errors
...
Both test:type and lint were failing, so I fixed the issues
2020-11-26 06:54:25 -05:00
Artur Paikin
fb1bf6e714
remove version so lerna igonres
2020-11-25 23:19:51 +00:00
Andrew
b082e54029
Vue integration ( #2500 )
...
* Basic setup
* Updated some documentation
* Cleanup some useless files
* Added docs to website
* Re-add package.json
* Added module
* Update vue.md
* Update DOCS.md
* Starting writing docs
* Fix my own spelling mistake
* Add a proper README and LICENSE
* Some quick fixes
* Update Dashboard.vue
* Added shallow-equal
* Try adding an example to test vue integration locally
* Temporarily fixed build and example
* Small documentation fixes
* Added Vue 3 example
* Added proper bundling and typescript for vue
* Added full typescript support for integration
All @uppy/vue components now support TypeScript and are strongly typed.
* Massive docs improvement for @uppy/vue
* Fix small type error in dashboard-modal
* Slight documentation changes
* Add typescript types file to package.json
* Trim down dependencies
* Fix building with Vue
I added it to a list of ignored packages as it builds a little weird
* Updated example
* Converted .vue files to .ts
* Setup .js files for @uppy/vue
* Fixed small rendering bug
* Delete package-lock.json
* Delete package-lock.json
* Delete package-lock.json
* Update packages/@uppy/vue/package.json
Co-authored-by: Artur Paikin <artur@arturpaikin.com>
* Some cleaning for @uppy/vue
* Delete components.d.ts
* Removed Vue 3 example
* Update typescript stuff for @uppy/vue
* Documentation update for @uppy/vue
I changed to menu text to 'Other Integrations'
Co-authored-by: Artur Paikin <artur@arturpaikin.com>
2020-11-25 22:59:06 +00:00