Commit graph

723 commits

Author SHA1 Message Date
Prakash
675b48fa14
@uppy/upgrade devdeps v2 (#6318)
AI disclaimer : AI used

## Changes
- **jsdom 26 → 29** across all packages' devDependencies —
**except`@uppy/aws-s3`** (left at 26; that plugin is being rewritten and
its deps are handled on the rewrite branch).
- **`@uppy/xhr-upload` unit tests migrated from nock to MSW**, and
`nock` dropped from its devDependencies.
  ## Why the test migration was needed
jsdom **28** overhauled resource loading so `XMLHttpRequest` now goes
through jsdom's internal (undici-based) fetch instead of Node's `http`
module ([jsdom 28 release
notes](https://github.com/jsdom/jsdom/releases/tag/28.0.0)).
nock intercepts at the Node `http` / `http.ClientRequest` layer ([nock
README](https://github.com/nock/nock)), so it can no longer see uppy's
upload requests — the mocked responses never arrive and the tests time
out. (This is the long-standing nock + jsdom XHR incompatibility:
[nock#518](https://github.com/nock/nock/issues/518).)

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-03 15:30:55 +05:30
Prakash
d7aaab7ad1
@uppy: upgrade dev deps (#6315)
addresses #6297

I'll raise another PR which would include deps which require code
changes
2026-06-02 10:48:58 +08:00
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
Prakash
12de077e6d
remove @uppy/instagram (#6257)
closes #5455 , this PR removes all Instagram support from both the
client and Companion server.

Removed:
- Instagram from @uppy/remote-sources (src, package.json, keywords)
- Instagram export from uppy bundle (bundle.ts, index.ts, package.json)
- Companion Instagram OAuth provider (provider/index.js, grant.js)
- Companion standalone helper Instagram env vars (helper.js,
env_example)
- All Companion Instagram tests (providers.test.js,
provider-manager.test.js, fixtures/index.js, mockserver.js)
2026-05-13 14:42:10 +05:30
Enver
b9253f797a
@uppy/dashboard: My Device button respects fileManagerSelectionType (#6258)
Fixes #6256

## Problem

When `fileManagerSelectionType` is set to `'folders'`, clicking the **My
Device** tab/button
still opens the file picker instead of the folder picker.

The inline "browse" link in the tagline correctly respects the setting,
but
`renderMyDeviceAcquirer` in `AddFiles.tsx` always called
`triggerFileInputClick`
regardless of the `fileManagerSelectionType` prop.

## Solution

`renderMyDeviceAcquirer` now reads `fileManagerSelectionType` and calls
`triggerFolderInputClick` when set to `'folders'`, or
`triggerFileInputClick`
for `'files'` and `'both'`.

For `'both'` mode, the button defaults to file selection because a
single
HTML `<input>` cannot handle both files and folders simultaneously
(`webkitdirectory` is all-or-nothing). The folder picker remains
accessible
via the tagline's "browse folders" link.

---------

Co-authored-by: Prakash <qxprakash@gmail.com>
2026-04-24 16:00:02 +05:30
dependabot[bot]
09bf6857a1
build(deps): bump lodash from 4.17.21 to 4.17.23 (#6152)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to
4.17.23.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dec55b7a3b"><code>dec55b7</code></a>
Bump main to v4.17.23 (<a
href="https://redirect.github.com/lodash/lodash/issues/6088">#6088</a>)</li>
<li><a
href="19c9251b36"><code>19c9251</code></a>
fix: setCacheHas JSDoc return type should be boolean (<a
href="https://redirect.github.com/lodash/lodash/issues/6071">#6071</a>)</li>
<li><a
href="b5e672995a"><code>b5e6729</code></a>
jsdoc: Add -0 and BigInt zeros to _.compact falsey values list (<a
href="https://redirect.github.com/lodash/lodash/issues/6062">#6062</a>)</li>
<li><a
href="edadd45214"><code>edadd45</code></a>
Prevent prototype pollution on baseUnset function</li>
<li><a
href="4879a7a7d0"><code>4879a7a</code></a>
doc: fix autoLink function, conversion of source links (<a
href="https://redirect.github.com/lodash/lodash/issues/6056">#6056</a>)</li>
<li><a
href="9648f692b0"><code>9648f69</code></a>
chore: remove <code>yarn.lock</code> file (<a
href="https://redirect.github.com/lodash/lodash/issues/6053">#6053</a>)</li>
<li><a
href="dfa407db0b"><code>dfa407d</code></a>
ci: remove legacy configuration files (<a
href="https://redirect.github.com/lodash/lodash/issues/6052">#6052</a>)</li>
<li><a
href="156e1965ae"><code>156e196</code></a>
feat: add renovate setup (<a
href="https://redirect.github.com/lodash/lodash/issues/6039">#6039</a>)</li>
<li><a
href="933e1061b8"><code>933e106</code></a>
ci: add pipeline for Bun (<a
href="https://redirect.github.com/lodash/lodash/issues/6023">#6023</a>)</li>
<li><a
href="072a807ff7"><code>072a807</code></a>
docs: update links related to Open JS Foundation (<a
href="https://redirect.github.com/lodash/lodash/issues/5968">#5968</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/lodash/lodash/compare/4.17.21...4.17.23">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lodash&package-manager=npm_and_yarn&previous-version=4.17.21&new-version=4.17.23)](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>
2026-01-26 15:01:18 +01:00
github-actions[bot]
695bb6ec07
[ci] release (#6120)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/dashboard@5.1.1

### Patch Changes

- 6975782: Remove event listener for `focus` and `click`, preventing a
memory leak.

## uppy@5.2.2

### Patch Changes

-   Updated dependencies [6975782]
    -   @uppy/dashboard@5.1.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-12 21:44:39 +01:00
dependabot[bot]
fd8f54f542
build(deps): bump preact from 10.26.9 to 10.26.10 (#6123)
Bumps [preact](https://github.com/preactjs/preact) from 10.26.9 to
10.26.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/preactjs/preact/releases">preact's
releases</a>.</em></p>
<blockquote>
<h2>10.26.10</h2>
<h2>Fixes</h2>
<ul>
<li>Enforce strict equality for VNode object constructors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e6f88b0842"><code>e6f88b0</code></a>
10.26.10</li>
<li><a
href="c373f23c48"><code>c373f23</code></a>
10.26 strict equality (<a
href="https://redirect.github.com/preactjs/preact/issues/4988">#4988</a>)</li>
<li><a
href="d008a1a242"><code>d008a1a</code></a>
10.26.x</li>
<li>See full diff in <a
href="https://github.com/preactjs/preact/compare/10.26.9...10.26.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=preact&package-manager=npm_and_yarn&previous-version=10.26.9&new-version=10.26.10)](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>
2026-01-08 12:00:59 +01:00
HKB
6975782339
properly remove event listener for "focus" and "click" (#6116)
fix https://github.com/transloadit/uppy/issues/6115

---------

Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2026-01-05 21:49:14 +08: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
github-actions[bot]
556e36de4c
[ci] release (#6060)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/audio@3.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/aws-s3@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/box@4.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/compressor@3.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/core@5.2.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.
- 4817585: added icon to webdav provider, add css to truncate large file
names
-   Updated dependencies [ac12f35]
    -   @uppy/utils@7.1.4

## @uppy/dashboard@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- cc3ff31: Move golden retriever clear files logic to the restore
function. This prevents race condition bugs when storing state.
-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/thumbnail-generator@5.1.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/drag-drop@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/drop-target@4.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/dropbox@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/facebook@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/form@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/golden-retriever@5.2.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- cc3ff31: Move golden retriever clear files logic to the restore
function. This prevents race condition bugs when storing state.
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/google-drive@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/google-drive-picker@1.1.0

### Minor Changes

- e661348: Allow selecting folders with Google Drive Picker. They will
be recursively resolved.
- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/google-photos-picker@1.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/image-editor@4.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/instagram@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/onedrive@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/provider-views@5.2.0

### Minor Changes

- e661348: Allow selecting folders with Google Drive Picker. They will
be recursively resolved.
- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- 4817585: added icon to webdav provider, add css to truncate large file
names
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/remote-sources@3.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [cc3ff31]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/dashboard@5.1.0
    -   @uppy/google-drive@5.1.0
    -   @uppy/instagram@5.1.0
    -   @uppy/facebook@5.1.0
    -   @uppy/onedrive@5.1.0
    -   @uppy/unsplash@5.1.0
    -   @uppy/dropbox@5.1.0
    -   @uppy/core@5.2.0
    -   @uppy/zoom@4.1.0
    -   @uppy/box@4.1.0
    -   @uppy/url@5.1.0

## @uppy/screen-capture@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/status-bar@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/thumbnail-generator@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/transloadit@5.3.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/tus@5.1.0
    -   @uppy/utils@7.1.4

## @uppy/tus@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/unsplash@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/url@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/webcam@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/webdav@1.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/xhr-upload@5.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/zoom@4.1.0

### Minor Changes

- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in
@uppy/core
- Register plugin ids across packages so uppy.getPlugin('Dashboard' |
'Webcam') returns the concrete plugin type and removes the need to pass
generics in getPlugin()

### Patch Changes

-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/provider-views@5.2.0
    -   @uppy/core@5.2.0
    -   @uppy/utils@7.1.4

## @uppy/companion@6.2.1

### Patch Changes

- 4817585: added icon to webdav provider, add css to truncate large file
names

## @uppy/locales@5.0.1

### Patch Changes

-   c3c16ae: Improve zh-CN and zh-TW locale
-   8744c4d: Improve Dutch locale
-   Updated dependencies [ac12f35]
    -   @uppy/utils@7.1.4

## @uppy/utils@7.1.4

### Patch Changes

- ac12f35: Fix: Move completed uploads exclusion logic into uploaders.
This fixes the problem where postprocessors would not run for already
uploaded files.

## uppy@5.1.12

### Patch Changes

-   Updated dependencies [cc3ff31]
-   Updated dependencies [c3c16ae]
-   Updated dependencies [8744c4d]
-   Updated dependencies [e661348]
-   Updated dependencies [79e6460]
-   Updated dependencies [ac12f35]
-   Updated dependencies [4817585]
    -   @uppy/dashboard@5.1.0
    -   @uppy/golden-retriever@5.2.0
    -   @uppy/locales@5.0.1
    -   @uppy/provider-views@5.2.0
    -   @uppy/google-drive-picker@1.1.0
    -   @uppy/google-photos-picker@1.1.0
    -   @uppy/thumbnail-generator@5.1.0
    -   @uppy/remote-sources@3.1.0
    -   @uppy/screen-capture@5.1.0
    -   @uppy/google-drive@5.1.0
    -   @uppy/image-editor@4.1.0
    -   @uppy/drop-target@4.1.0
    -   @uppy/transloadit@5.3.0
    -   @uppy/compressor@3.1.0
    -   @uppy/status-bar@5.1.0
    -   @uppy/xhr-upload@5.1.0
    -   @uppy/drag-drop@5.1.0
    -   @uppy/instagram@5.1.0
    -   @uppy/facebook@5.1.0
    -   @uppy/onedrive@5.1.0
    -   @uppy/unsplash@5.1.0
    -   @uppy/dropbox@5.1.0
    -   @uppy/aws-s3@5.1.0
    -   @uppy/webcam@5.1.0
    -   @uppy/webdav@1.1.0
    -   @uppy/audio@3.1.0
    -   @uppy/core@5.2.0
    -   @uppy/form@5.1.0
    -   @uppy/zoom@4.1.0
    -   @uppy/box@4.1.0
    -   @uppy/tus@5.1.0
    -   @uppy/url@5.1.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-02 10:09:28 +01:00
Mikael Finstad
cc3ff31d59
move golden retriever clear files logic (#6076)
into #restore instead.
we currently clear files when state transitions to all files complete,
however there's an issue with that where if progress events come in
after all files are marked as completed, it will overwrite the
metadataStore, meaning the files that have been cleared will be re-added
after they were cleared. this causes files to be restored (when e.g.
refreshing the browser) when they should not (because they have already
completed). i managed to reproduce this with the google drive picker
plugin (but not with google drive non-picker)

**Tip for review:** hide whitespace changes
2025-12-02 11:29:48 +07:00
Prakash
79e6460a6c
Make Generics Optional in uppy.getPlugin (#6057)
fixes #6024.

### Problem
- `getPlugin()` defaults to `UnknownPlugin`, so methods like `openModal`
are not visible , since core is not aware of that plugin type

### Proposed change
- Introduce a types-only registry in core:
- `export interface PluginTypeRegistry<M extends Meta, B extends Body>
{}`
- Overload `getPlugin` to return a precise type when the id is a known
key of the registry.
- add `Dashboard` to  PluginTypeRegistry through module augmentation:
  - `'Dashboard': Dashboard<M, B>`.
- When a project imports from `@uppy/dashboard`, its module augmentation
extends PluginTypeRegistry, adding the correct type into it
- I've added Tests , kept them in a separate file so it's easier to
review , once this approach gets approved I'll add them to
`Uppy.test.ts`

Once this PR gets a positive review I'll add this for other plugins ,
currently only added for `@uppy/dashboard`

**Build with Local tarball can be checked here** 


https://stackblitz.com/~/github.com/qxprakash/uppy-type-test?file=type_test.ts
2025-11-17 18:18:54 +05:30
Prakash
ec75d863ec
@uppy/provider-views: add e2e tests for Server side search (#6015)
Tests added as discussed in
[slack_discussion](https://transloadit.slack.com/archives/C0FMW9PSB/p1759931999124149?thread_ts=1759700542.941939&cid=C0FMW9PSB)

directory structure mocked : 

```
root/ 
├── first/
│   ├── second/
│   │   ├── third/
│   │   │   ├── nested-target.pdf
│   │   │   └── new-file.pdf
│   │   ├── deep-file.txt
│   │   ├── target.pdf
│   │   └── workspace.pdf
│   └── intermediate.doc
├── workspace/
│   └── project/
│       └── code.js
└── readme.md

```

Some of the mocked responses in CompanionHandler.ts aren’t used in the
tests, but I’ve kept them to preserve the legitimacy of the above
directory structure.
2025-11-07 16:50:57 +05:30
github-actions[bot]
7551b4cc91
[ci] release (#6049)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/companion@6.2.0

### Minor Changes

- 0c8dd19: New Companion option `uploadHeaders` which can be used to
include a static set of headers with every request sent to all upload
destinations.

## @uppy/dashboard@5.0.4

### Patch Changes

-   5e166a1: Fix form appending for shadow dom
-   Updated dependencies [ad50314]
    -   @uppy/utils@7.1.3

## @uppy/utils@7.1.3

### Patch Changes

-   ad50314: Allow `getSafeFileId` to accept `UppyFile`

## uppy@5.1.11

### Patch Changes

-   Updated dependencies [5e166a1]
    -   @uppy/dashboard@5.0.4

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-03 14:26:07 +01:00
Austin Jackson
5e166a101d
@uppy/dashboard: fix form appending for shadow dom (#6031)
Fixes #6028

I've also added `private/dev/dashboard_shadow.html` to more easily test
ShadowDOM-specific bugs.

I looked into writing a test case under
`packages/@uppy/dashboard/src/index.browser.test.ts` but couldn't get it
to work locally on Windows.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Ensure FileCard’s hidden form is appended/cleaned up in the correct
root (Document body or ShadowRoot) using a ref-derived root node, and
add a patch changeset.
> 
> - **@uppy/dashboard – FileCard**:
> - Append hidden `form` to the correct root using `getRootNode()`
(handles Light DOM/iframes via `Document.body`, and Shadow DOM via
`ShadowRoot`).
> - Add `domRef` to root element to detect rendering context; attach
`ref` and update effect accordingly.
>   - Clean up by removing the `form` from its actual `parentNode`.
> - **Release**:
>   - Add changeset for patch: `Fix form appending for shadow dom`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
edf81e871c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Murderlon <merlijn@soverin.net>
2025-11-03 11:16:33 +01:00
github-actions[bot]
2c4727e5f4
[ci] release (#6011)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/aws-s3@5.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/companion-client@5.1.1
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/companion@6.1.1

### Patch Changes

- 6a60ee5: Reject request early instead of crashing on missing
`filename` for /s3/multipart and /s3/params endpoints

## @uppy/companion-client@5.1.1

### Patch Changes

- 0c16fe4: - Split UppyFile into two intefaces distinguished by the
`isRemote` boolean:
    -   LocalUppyFile
    -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/components@1.0.4

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Move `restore-confirmed` from `onUploadStart` event listener to
`startUpload`, else it would cause `restore-confirmed` to be triggered
even if there is no `recoveredState` to recover
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/image-editor@4.0.2

## @uppy/compressor@3.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/core@5.1.1

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`)
- Introduce new field `progress`.`complete`: if there is a
post-processing step, set it to `true` once post processing is complete.
If not, set it to `true` once upload has finished.
- Throw a proper `Nonexistent upload` error message if trying to upload
a non-existent upload, instead of TypeError
    -   Rewrite `Uppy.upload()` - this fixes two bugs:
1. No more duplicate emit call when
this.#restricter.validateMinNumberOfFiles throws (`#informAndEmit` and
`this.emit('error')`)
2. 'restriction-failed' now also gets correctly called when
`checkRequiredMetaFields` check errors.
    -   Don't re-upload completed files #5930
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
    -   Remove TagFile type - Use UppyFile instead.
    -   Make `name` required on UppyFile (it is in reality always set)
- Fix bug: `RestrictionError` sometimes thrown with a `file` property
that was _not_ a `UppyFile`, but a `File`. This would happen if someone
passed a `File` instead of a `MinimalRequiredUppyFile` into
`core.addFile` (which is valid to do according to our API)
    -   Improve some log messages
    -   Simplify Uppy `postprocess-complete` handler
-   Updated dependencies [0c16fe4]
    -   @uppy/utils@7.1.1

## @uppy/dashboard@5.0.3

### Patch Changes

-   0c16fe4: - Remove `restore-canceled` event as it was not being used.
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1
    -   @uppy/provider-views@5.1.1
    -   @uppy/thumbnail-generator@5.0.2

## @uppy/golden-retriever@5.1.1

### Patch Changes

- 0c16fe4: - **Internal inter-package breaking change:** Remove hacky
internal event `restore:get-data` that would send a function as its
event data (to golden retriever for it to call the function to receive
data from it). Add instead `restore:plugin-data-changed` that publishes
data when it changes. This means that **old versions of
`@uppy/transloadit` are not compatible with newest version of
`@uppy/golden-retriever` (and vice versa)**.
    -   Large internal refactor of Golden Retriever
- Use `state-update` handler to trigger save to local storage and blobs,
instead of doing it in various other event handlers (`complete`,
`upload-success`, `file-removed`, `file-editor:complete`, `file-added`).
this way we don't miss any state updates. also simplifies the code a
lot. this fixes:
- Always store blob when it changes - this fixes the bug when using the
compressor plugin, it would store the uncompressed original blob (like
when using image editor plugin)
- Add back throttle: but throttling must happen on the actual local
storage save calls inside MetaDataStore, _not_ the handleStateUpdate
function, so we don't miss any state updates (and end up with
inconsistent data). Note that there is still a race condition where if
the user removes a file (causing the blob to be deleted), then quickly
reloads the page before the throttled save has happened, the file will
be restored but the blob will be missing, so it will become a ghost.
this is probably not a big problem though. need to disable throttling
when running tests (add it as an option to the plugin)
    -   Fix implicit `any` types in #restore filesWithBlobs
- Don't error when saving indexedDB file that already exists (make it
idempotent)
- Fix bug: Golden Retriever was not deleting from IndexedDbStore if
ServiceWorkerStore exists, causing a storage leak
    -   Remove unused Golden Retriever cleanup.ts
- Clean up stored files on `complete` event _only_ if _all_ files
succeeded (no failed files). this allows the user to retry failed files
if they get interrupted - fixes #5927, closes #5955
- Only set `isGhost` for non-successful files - it doesn't make sense
for successfully uploaded files to be ghosted because they're already
done. #5930
- Add `upload-success` event handler `handleFileUploaded`: this handler
will remove blobs of files that have successfully uploaded. this
prevents leaking blobs when an upload with multiple files gets
interrupted (but some files have uploaded successfully), because
`#handleUploadComplete` (which normally does the cleanup) doesn't get
called untill _all_ files are complete.
- Fix `file-editor:complete` potential race condition: it would delete
and add at the same time (without first awaiting delete operation)
    -   Fix: Don't double `setState` when restoring
    -   Improve types in golden retriever and MetaDataStore
- MetaDataStore: move old state expiry to from `constructor` to `load()`
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/image-editor@4.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/provider-views@5.1.1

### Patch Changes

-   0c16fe4: - Rename `getTagFile` to `companionFileToUppyFile`
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/thumbnail-generator@5.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/transloadit@5.1.3

### Patch Changes

- 0c16fe4: - **Internal inter-package breaking change:** Remove hacky
internal event `restore:get-data` that would send a function as its
event data (to golden retriever for it to call the function to receive
data from it). Add instead `restore:plugin-data-changed` that publishes
data when it changes. This means that **old versions of
`@uppy/transloadit` are not compatible with newest version of
`@uppy/golden-retriever` (and vice versa)**.
- Minor internal refactoring in order to make sure that we will always
emit `restore:plugin-data-changed` whenever assembly state changes
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/companion-client@5.1.1
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1
    -   @uppy/provider-views@5.1.1
    -   @uppy/tus@5.0.2

## @uppy/tus@5.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/companion-client@5.1.1
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/url@5.0.2

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`). This means we have to add null checks in some packages
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/companion-client@5.1.1
    -   @uppy/core@5.1.1
    -   @uppy/utils@7.1.1

## @uppy/utils@7.1.1

### Patch Changes

- 0c16fe4: - Make `file.data` nullable - Because for ghosts it will be
`undefined` and we don't have any type to distinguish ghosts from other
(local) files. This caused a crash, because we didn't check for
`undefined` everywhere (when trying to store a blob that was
`undefined`)
- Introduce new field `progress`.`complete`: if there is a
post-processing step, set it to `true` once post processing is complete.
If not, set it to `true` once upload has finished.
- Throw a proper `Nonexistent upload` error message if trying to upload
a non-existent upload, instead of TypeError
    -   Rewrite `Uppy.upload()` - this fixes two bugs:
1. No more duplicate emit call when
this.#restricter.validateMinNumberOfFiles throws (`#informAndEmit` and
`this.emit('error')`)
2. 'restriction-failed' now also gets correctly called when
`checkRequiredMetaFields` check errors.
    -   Don't re-upload completed files #5930
- Split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
        -   LocalUppyFile
        -   RemoteUppyFile
    -   Remove TagFile type - Use UppyFile instead.
    -   Make `name` required on UppyFile (it is in reality always set)
- Fix bug: `RestrictionError` sometimes thrown with a `file` property
that was _not_ a `UppyFile`, but a `File`. This would happen if someone
passed a `File` instead of a `MinimalRequiredUppyFile` into
`core.addFile` (which is valid to do according to our API)
    -   Improve some log messages
    -   Simplify Uppy `postprocess-complete` handler

## uppy@5.1.7

### Patch Changes

-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
-   Updated dependencies [0c16fe4]
    -   @uppy/aws-s3@5.0.2
    -   @uppy/companion-client@5.1.1
    -   @uppy/compressor@3.0.2
    -   @uppy/core@5.1.1
    -   @uppy/dashboard@5.0.3
    -   @uppy/golden-retriever@5.1.1
    -   @uppy/image-editor@4.0.2
    -   @uppy/provider-views@5.1.1
    -   @uppy/thumbnail-generator@5.0.2
    -   @uppy/transloadit@5.1.3
    -   @uppy/tus@5.0.2
    -   @uppy/url@5.0.2

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-17 20:24:52 +02:00
Mikael Finstad
0c16fe44b9
Golden retriever refactor and UppyFile type improvements (#5978)
Probably best reviewed commit by commit.

I also split UppyFile into two intefaces distinguished by the `isRemote`
boolean:
- LocalUppyFile
- RemoteUppyFile

Also:
- Removed the TagFile type
- Don't re-upload completed files - fixes #5930
- Clean up stored files on `complete` event *only* if *all* files
succeeded (no failed files). this allows the user to retry failed files
if the browser & upload get interrupted - fixes #5927, closes #5955
- Only set `isGhost` for non-successful files. it doesn't make sense for
successfully uploaded files to be ghosted because they're already done.
#5930

fixes #6013

---------

Co-authored-by: Prakash <qxprakash@gmail.com>
2025-10-17 23:17:40 +08: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
github-actions[bot]
54ee01105d
[ci] release (#5939)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/golden-retriever@5.1.0

### Minor Changes

- 6c0cbe6: Converted sw.js to sw.ts so that it can be transpiled, in the
build.

### Patch Changes

-   4b6a76c: added missing exports.
- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/angular@1.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/dashboard@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/audio@3.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/aws-s3@5.0.1

### Patch Changes

-   4b6a76c: added missing exports.
- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/box@4.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/companion@6.0.2

### Patch Changes

- 7e5acf1: fix the server crashing due a malformed json in a websocket
message
- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.

## @uppy/companion-client@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/components@1.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
    -   @uppy/core@5.0.2
    -   @uppy/audio@3.0.1
    -   @uppy/image-editor@4.0.1
    -   @uppy/remote-sources@3.0.1
    -   @uppy/screen-capture@5.0.1
    -   @uppy/webcam@5.0.1

## @uppy/compressor@3.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/core@5.0.2

### Patch Changes

-   4b6a76c: added missing exports.
- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/utils@7.0.2

## @uppy/dashboard@5.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/provider-views@5.0.2
    -   @uppy/thumbnail-generator@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/drag-drop@5.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/drop-target@4.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/dropbox@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/facebook@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/form@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/google-drive@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/google-drive-picker@1.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/google-photos-picker@1.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/image-editor@4.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/instagram@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/onedrive@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/provider-views@5.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/react@5.0.3

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/components@1.0.2
    -   @uppy/dashboard@5.0.2
    -   @uppy/screen-capture@5.0.1
    -   @uppy/utils@7.0.2
    -   @uppy/webcam@5.0.1

## @uppy/remote-sources@3.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
    -   @uppy/core@5.0.2
    -   @uppy/box@4.0.1
    -   @uppy/dashboard@5.0.2
    -   @uppy/dropbox@5.0.1
    -   @uppy/facebook@5.0.1
    -   @uppy/google-drive@5.0.1
    -   @uppy/instagram@5.0.1
    -   @uppy/onedrive@5.0.1
    -   @uppy/unsplash@5.0.1
    -   @uppy/url@5.0.1
    -   @uppy/zoom@4.0.1

## @uppy/screen-capture@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/status-bar@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/thumbnail-generator@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/transloadit@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/tus@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/tus@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/unsplash@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/url@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/utils@7.0.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
- 9bac4c8: Fix `TypeError: Cannot use 'in' operator to search for
'draggable' in null`

## @uppy/vue@3.0.3

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   9f18ac7: Export UppyContext and UppyContextSymbol
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
    -   @uppy/core@5.0.2
    -   @uppy/components@1.0.2
    -   @uppy/dashboard@5.0.2

## @uppy/webcam@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/webdav@1.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## @uppy/xhr-upload@5.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/utils@7.0.2

## @uppy/zoom@4.0.1

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [9bac4c8]
    -   @uppy/core@5.0.2
    -   @uppy/companion-client@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/utils@7.0.2

## uppy@5.1.2

### Patch Changes

- 975317d: Removed "main" from package.json, since export maps serve as
the contract for the public API.
-   Updated dependencies [4b6a76c]
-   Updated dependencies [975317d]
-   Updated dependencies [6c0cbe6]
    -   @uppy/golden-retriever@5.1.0
    -   @uppy/aws-s3@5.0.1
    -   @uppy/core@5.0.2
    -   @uppy/audio@3.0.1
    -   @uppy/box@4.0.1
    -   @uppy/companion-client@5.0.1
    -   @uppy/compressor@3.0.1
    -   @uppy/dashboard@5.0.2
    -   @uppy/drag-drop@5.0.2
    -   @uppy/drop-target@4.0.1
    -   @uppy/dropbox@5.0.1
    -   @uppy/facebook@5.0.1
    -   @uppy/form@5.0.1
    -   @uppy/google-drive-picker@1.0.1
    -   @uppy/google-drive@5.0.1
    -   @uppy/google-photos-picker@1.0.1
    -   @uppy/image-editor@4.0.1
    -   @uppy/instagram@5.0.1
    -   @uppy/onedrive@5.0.1
    -   @uppy/provider-views@5.0.2
    -   @uppy/remote-sources@3.0.1
    -   @uppy/screen-capture@5.0.1
    -   @uppy/status-bar@5.0.1
    -   @uppy/thumbnail-generator@5.0.1
    -   @uppy/transloadit@5.0.1
    -   @uppy/tus@5.0.1
    -   @uppy/unsplash@5.0.1
    -   @uppy/url@5.0.1
    -   @uppy/webcam@5.0.1
    -   @uppy/webdav@1.0.1
    -   @uppy/xhr-upload@5.0.1
    -   @uppy/zoom@4.0.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-16 16:07:17 +02:00
Copilot
84cf20ea4c
Add stability warning comment to SCSS source files (#5960)
Adds a stability warning comment to the top of all `src/style.scss`
files in the following Uppy packages to inform consumers that the source
code and variables are not part of the stable API:

- @uppy/audio
- @uppy/core
- @uppy/dashboard
- @uppy/drag-drop
- @uppy/drop-target
- @uppy/image-editor
- @uppy/provider-views
- @uppy/screen-capture
- @uppy/status-bar
- @uppy/url
- @uppy/webcam

The comment added is:
```scss
// NOTE TO CONSUMERS: The code and variables in these source files are not considered stable and can change at any time, even in minor and patch releases!
```

This warning helps clarify that while the compiled CSS output and public
APIs remain stable, the internal SCSS source files, variables, and
implementation details should not be relied upon by consumers as they
may change without notice in any release.

The changes are minimal and surgical - exactly one line added to the top
of each file with no other modifications to existing code.

<!-- START COPILOT CODING AGENT SUFFIX -->

*This pull request was created as a result of the following prompt from
Copilot chat.*
> Add the following comment at the very top of each src/style.scss file
in the following Uppy packages: @uppy/audio, @uppy/core,
@uppy/dashboard, @uppy/drag-drop, @uppy/drop-target, @uppy/image-editor,
@uppy/provider-views, @uppy/screen-capture, @uppy/status-bar, @uppy/url,
@uppy/webcam.
> 
> Comment to add:
> // NOTE TO CONSUMERS: The code and variables in these source files are
not considered stable and can change at any time, even in minor and
patch releases!
> 
> Ensure the comment is the first line in each file, above any existing
code or imports.

<!-- START COPILOT CODING AGENT TIPS -->
---

 Let Copilot coding agent [set things up for
you](https://github.com/transloadit/uppy/issues/new?title=+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mifi <402547+mifi@users.noreply.github.com>
Co-authored-by: Prakash <qxprakash@gmail.com>
Co-authored-by: Mikael Finstad <finstaden@gmail.com>
2025-09-11 21:53:40 +02:00
Prakash
975317dd17
remove main from package.json (#5950)
redo of #5943 , forgot to add changesets , reverted in #5949
2025-09-04 17:39:50 +05:30
Prakash
d65e6e4179
Revert "packages/@uppy/* : remove "main" from package.json (#5943)" (#5949)
This reverts commit 2117874073.
2025-09-04 17:26:34 +05:30
Prakash
2117874073
packages/@uppy/* : remove "main" from package.json (#5943)
- The blocker was `@uppy/angular` — its build was failing because it
could not resolve modules and types for its dependencies
(`@uppy/dashboard`, `@uppy/utils`, `@uppy/provider-views`,
`@uppy/core`).

```typescript
------------------------------------------------------------------------------
Building entry point '@uppy/angular'
------------------------------------------------------------------------------
✖ Compiling with Angular sources in Ivy partial compilation mode.
../dashboard/lib/Dashboard.d.ts:1:106 - error TS2307: Cannot find module '@uppy/core' or its corresponding type declarations.

1 import type { Body, DefinePluginOpts, Meta, State, UIPluginOptions, UnknownPlugin, Uppy, UppyFile } from '@uppy/core';
                                                                                                           ~~~~~~~~~~~~
../dashboard/lib/Dashboard.d.ts:2:26 - error TS2307: Cannot find module '@uppy/core' or its corresponding type declarations.

2 import { UIPlugin } from '@uppy/core';
                           ~~~~~~~~~~~~
../dashboard/lib/Dashboard.d.ts:3:35 - error TS2307: Cannot find module '@uppy/provider-views' or its corresponding type declarations.


```

Angular (TypeScript with moduleResolution: node) required a "main" or
"types" field in each dependency’s package.json, and ignored their
"exports" map.
2025-09-04 17:02:01 +05:30
github-actions[bot]
d4bdb463c1
[ci] release (#5936)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/companion@6.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.

## @uppy/components@1.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/core@5.0.1

## @uppy/core@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/utils@7.0.1

## @uppy/dashboard@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/provider-views@5.0.1
    -   @uppy/utils@7.0.1
    -   @uppy/core@5.0.1

## @uppy/drag-drop@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/utils@7.0.1
    -   @uppy/core@5.0.1

## @uppy/provider-views@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/utils@7.0.1
    -   @uppy/core@5.0.1

## @uppy/react@5.0.2

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/components@1.0.1
    -   @uppy/dashboard@5.0.1
    -   @uppy/utils@7.0.1
    -   @uppy/core@5.0.1

## @uppy/svelte@5.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/components@1.0.1
    -   @uppy/dashboard@5.0.1
    -   @uppy/core@5.0.1

## @uppy/utils@7.0.1

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.

## @uppy/vue@3.0.2

### Patch Changes

- 49522ec: Remove preact/compat imports in favor of preact, preventing
JSX type issues in certain setups.
-   Updated dependencies [49522ec]
    -   @uppy/components@1.0.1
    -   @uppy/dashboard@5.0.1
    -   @uppy/core@5.0.1

## uppy@5.1.1

### Patch Changes

-   7abd062: Add missing styles for drag-drop and status-bar
-   Updated dependencies [49522ec]
    -   @uppy/provider-views@5.0.1
    -   @uppy/dashboard@5.0.1
    -   @uppy/drag-drop@5.0.1
    -   @uppy/core@5.0.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-28 17:03:19 +02:00
Merlijn Vos
49522ec5cb
Remove preact/compat (#5935)
We drag it in unneccesarily in the bundle and it can cause JSX clashes
in React apps with `"jsx": "preserve"` in their `tsconfig.json`
(https://github.com/preactjs/preact/issues/4908)

- Remove `@types/react` from companion (unused)
- Fix tsconfig's for @uppy/utils (build was fine, but editor diagnostics
weren't)
2025-08-28 16:57:07 +02:00
github-actions[bot]
e183da8de9
[ci] release (#5918)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/audio@3.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/aws-s3@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/core@5.0.0

## @uppy/box@4.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/companion@6.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

- acdc683: Make Companion ESM-only. As of Node.js 20.19.0, you can
require(esm) if you haven't transitioned yet.

## @uppy/companion-client@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/components@1.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [c5b51f6]
    -   @uppy/remote-sources@3.0.0
    -   @uppy/screen-capture@5.0.0
    -   @uppy/image-editor@4.0.0
    -   @uppy/webcam@5.0.0
    -   @uppy/audio@3.0.0
    -   @uppy/core@5.0.0

## @uppy/compressor@3.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/core@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/store-default@5.0.0

## @uppy/dashboard@5.0.0

### Major Changes

-   e869243: ### Merge @uppy/status-bar into @uppy/dashboard

The `@uppy/status-bar` package has been merged into `@uppy/dashboard`.
The plugin gave a false promise of flexibility as a standalone plugin
but was always built tightly coupled for `@uppy/dashboard`. With the new
headless components and hooks, we want go all in those components and
remove the confusing, inflexible ones.

StatusBar is now rendered as an integrated component within Dashboard
rather than as a separate plugin. The standalone `@uppy/status-bar`
package is no longer maintained and should be removed from your
dependencies.

    #### Migration from standalone StatusBar to Dashboard

If you were using StatusBar as a separate plugin, you'll need to migrate
to using Dashboard with the equivalent options.

    **Before:**

    ```javascript
    import StatusBar from "@uppy/status-bar";

    uppy.use(StatusBar, {
      target: "#status-bar",
      showProgressDetails: true,
      hideUploadButton: false,
      hideAfterFinish: true,
    });
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/dashboard";

    uppy.use(Dashboard, {
      target: "#dashboard",
      hideProgressDetails: false,
      hideUploadButton: false,
      hideAfterFinish: true,
    });
    ```

All StatusBar configuration options are now available directly as
Dashboard options:

- `hideProgressDetails` - Hide detailed progress information (previously
`showProgressDetails` with inverted logic)
    -   `hideUploadButton` - Hide the upload button
    -   `hideAfterFinish` - Hide status bar after upload completion
    -   `hideRetryButton` - Hide the retry button
    -   `hidePauseResumeButton` - Hide pause/resume controls
    -   `hideCancelButton` - Hide the cancel button
    -   `doneButtonHandler` - Custom handler for the done button

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/thumbnail-generator@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/drop-target@4.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/dropbox@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/facebook@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/form@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/golden-retriever@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/google-drive@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/google-drive-picker@1.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/google-photos-picker@1.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/image-editor@4.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/instagram@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/locales@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0

## @uppy/onedrive@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/provider-views@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/react@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/utils@7.0.0
    -   @uppy/screen-capture@5.0.0
    -   @uppy/components@1.0.0
    -   @uppy/webcam@5.0.0
    -   @uppy/core@5.0.0

## @uppy/remote-sources@3.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/google-drive@5.0.0
    -   @uppy/instagram@5.0.0
    -   @uppy/facebook@5.0.0
    -   @uppy/onedrive@5.0.0
    -   @uppy/unsplash@5.0.0
    -   @uppy/dropbox@5.0.0
    -   @uppy/core@5.0.0
    -   @uppy/zoom@4.0.0
    -   @uppy/box@4.0.0
    -   @uppy/url@5.0.0

## @uppy/screen-capture@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/store-default@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

## @uppy/svelte@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/components@1.0.0
    -   @uppy/core@5.0.0

## @uppy/thumbnail-generator@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/transloadit@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0
    -   @uppy/tus@5.0.0

## @uppy/tus@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/core@5.0.0

## @uppy/unsplash@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## @uppy/url@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/core@5.0.0

## @uppy/utils@7.0.0

### Major Changes

- d301c01: Updated export maps for @uppy/utils: removed nested subpath
exports; all utilities are now exported from the root index.js.

    **Before :**

    ```typescript
import getFileTypeExtension from "@uppy/utils/lib/getFileTypeExtension";
    ```

    **After :**

    ```typescript
    import { getFileTypeExtension } from "@uppy/utils";
    ```

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

## @uppy/vue@3.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/components@1.0.0
    -   @uppy/core@5.0.0

## @uppy/webcam@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/xhr-upload@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/core@5.0.0

## @uppy/zoom@4.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

## uppy@5.0.0

### Major Changes

-   c5b51f6: ### Export maps for all packages

All packages now have export maps. This is a breaking change in two
cases:

1. The css imports have changed from
`@uppy[package]/dist/styles.min.css` to
`@uppy[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for
instance `@uppy/core/lib/foo.js`. You can now only import things we
explicitly exported.

#### Changed imports for `@uppy/react`, `@uppy/vue`, and `@uppy/svelte`

Some components, like Dashboard, require a peer dependency to work but
since all components were exported from a single file you were forced to
install all peer dependencies. Even if you never imported, for instance,
the status bar component.

Every component that requires a peer dependency has now been moved to a
subpath, such as `@uppy/react/dashboard`, so you only need to install
the peer dependencies you need.

    **Example for `@uppy/react`:**

    **Before:**

    ```javascript
    import { Dashboard, StatusBar } from "@uppy/react";
    ```

    **Now:**

    ```javascript
    import Dashboard from "@uppy/react/dashboard";
    import StatusBar from "@uppy/react/status-bar";
    ```

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/google-photos-picker@1.0.0
    -   @uppy/google-drive-picker@1.0.0
    -   @uppy/thumbnail-generator@5.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/golden-retriever@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/remote-sources@3.0.0
    -   @uppy/screen-capture@5.0.0
    -   @uppy/store-default@5.0.0
    -   @uppy/google-drive@5.0.0
    -   @uppy/image-editor@4.0.0
    -   @uppy/drop-target@4.0.0
    -   @uppy/transloadit@5.0.0
    -   @uppy/compressor@3.0.0
    -   @uppy/xhr-upload@5.0.0
    -   @uppy/instagram@5.0.0
    -   @uppy/facebook@5.0.0
    -   @uppy/onedrive@5.0.0
    -   @uppy/unsplash@5.0.0
    -   @uppy/dropbox@5.0.0
    -   @uppy/locales@5.0.0
    -   @uppy/aws-s3@5.0.0
    -   @uppy/webcam@5.0.0
    -   @uppy/audio@3.0.0
    -   @uppy/core@5.0.0
    -   @uppy/form@5.0.0
    -   @uppy/zoom@4.0.0
    -   @uppy/box@4.0.0
    -   @uppy/tus@5.0.0
    -   @uppy/url@5.0.0
    -   @uppy/webdav@1.0.0

## @uppy/angular@1.0.0

### Patch Changes

-   Updated dependencies [e869243]
-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/dashboard@5.0.0
    -   @uppy/utils@7.0.0
    -   @uppy/core@5.0.0

## @uppy/webdav@1.0.0

### Patch Changes

-   Updated dependencies [d301c01]
-   Updated dependencies [c5b51f6]
    -   @uppy/utils@7.0.0
    -   @uppy/companion-client@5.0.0
    -   @uppy/provider-views@5.0.0
    -   @uppy/core@5.0.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-22 09:02:12 +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
d82bbdbbfe lint fix 2025-08-21 14:34:12 +05:30
Prakash
6a33652458 Merge branch 'main' of https://github.com/transloadit/uppy into 5.0 2025-08-20 16:17:08 +05:30
Prakash
d301c01d6a
@uppy/utils: update export maps (#5900)
- cleanup `@uppy/utils ` removed unused / redundant modules .
- migrated modules and tests from `.js` to `.ts`
- removed all the nested export paths
- updated `@uppy/utils` import paths for all packages
- `@uppy/angular` is still failing while running`yarn build` , I'm
looking into it.

---------

Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-08-19 12:25:27 +02:00
Mikael Finstad
d31c90e443
Run biome check on main (#5896)
this time on main
closes #5891

also: fix a11y tabIndex (key event handler)
2025-08-11 10:06:21 +02:00
github-actions[bot]
8d39ba326c
[ci] release (#5879)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/dashboard@4.4.3

### Patch Changes

-   c15c6fd: Make each entry in `strings` in locale type optional
-   Updated dependencies [c15c6fd]
    -   @uppy/status-bar@4.2.3

## @uppy/locales@4.8.3

### Patch Changes

-   1a0beb9: Add all locales to globalThis.Uppy.locales.[locale-name]

## @uppy/status-bar@4.2.3

### Patch Changes

-   c15c6fd: Make each entry in `strings` in locale type optional

## uppy@4.18.1

### Patch Changes

-   Updated dependencies [c15c6fd]
-   Updated dependencies [1a0beb9]
    -   @uppy/status-bar@4.2.3
    -   @uppy/dashboard@4.4.3
    -   @uppy/locales@4.8.3

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-06 10:10:03 +02:00
Merlijn Vos
c15c6fd895
Fix locale types between dashboard and status-bar (#5878)
Ref:
https://github.com/transloadit/uppy/pull/5728#issuecomment-3031052997
Closes #5811
2025-08-05 16:22:57 +02:00
Prakash
e8692434d6
Merge @uppy/status-bar into @uppy/dashboard (#5825)
This pull request removes the `@uppy/status-bar` plugin and integrates
it directly into the `@uppy/dashboard` plugin.

### Breakdown of the merge

- The `StatusBar` class was refactored from a `UIPlugin` into a Preact
Class component.
- The `locale` strings from status-bar were merged into dashboard's
locale file.
- The Dashboard plugin now integrates the `StatusBar` component
directly, controlling its visibility and passing down all props ( i.e.
options that were specific to StatusBar (like showProgressDetails).
- The standalone StatusBar wrappers for React , Vue , svelte , Angular
were removed.
- every reference to the @uppy/status-bar package from the monorepo
(including in package.json and tsconfig.json files).
- fixed failing tests and removed redundant tests.

---------

Co-authored-by: Mikael Finstad <finstaden@gmail.com>
Co-authored-by: Merlijn Vos <merlijn@soverin.net>
2025-08-05 13:17:29 +02:00
github-actions[bot]
62cf5bbb14
[ci] release (#5867)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @uppy/angular@0.9.0

### Minor Changes

-   8b8ab01: Declare components as standalone & support 20.x

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/progress-bar@4.3.2
    -   @uppy/status-bar@4.2.2
    -   @uppy/dashboard@4.4.2
    -   @uppy/drag-drop@4.2.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/audio@2.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/aws-s3@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/companion-client@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/aws-s3-multipart@4.1.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/aws-s3@4.3.2

## @uppy/box@3.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/companion-client@4.5.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/components@0.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/remote-sources@2.4.2
    -   @uppy/screen-capture@4.4.2
    -   @uppy/image-editor@3.4.2
    -   @uppy/webcam@4.3.2
    -   @uppy/audio@2.2.2
    -   @uppy/core@4.5.2

## @uppy/compressor@2.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/core@4.5.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/store-default@4.3.2
    -   @uppy/utils@6.2.2

## @uppy/dashboard@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/thumbnail-generator@4.2.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/status-bar@4.2.2
    -   @uppy/informer@4.3.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/drag-drop@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/drop-target@3.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/dropbox@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/facebook@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/file-input@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/form@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/golden-retriever@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/google-drive@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/google-drive-picker@0.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/google-photos-picker@0.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/image-editor@3.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/informer@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/instagram@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/locales@4.8.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2

## @uppy/onedrive@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/progress-bar@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/provider-views@4.5.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   c66fd85: Fix package.json import
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/react@4.5.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/screen-capture@4.4.2
    -   @uppy/progress-bar@4.3.2
    -   @uppy/components@0.3.2
    -   @uppy/file-input@4.2.2
    -   @uppy/status-bar@4.2.2
    -   @uppy/dashboard@4.4.2
    -   @uppy/drag-drop@4.2.2
    -   @uppy/webcam@4.3.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/react-native@0.6.4

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/instagram@4.3.2
    -   @uppy/core@4.5.2
    -   @uppy/url@4.3.2

## @uppy/redux-dev-tools@4.1.3

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   c66fd85: Fix package.json import
-   Updated dependencies [1b1a9e3]
    -   @uppy/core@4.5.2

## @uppy/remote-sources@2.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/google-drive@4.4.2
    -   @uppy/dashboard@4.4.2
    -   @uppy/instagram@4.3.2
    -   @uppy/facebook@4.3.2
    -   @uppy/onedrive@4.3.2
    -   @uppy/unsplash@4.4.2
    -   @uppy/dropbox@4.3.2
    -   @uppy/core@4.5.2
    -   @uppy/zoom@3.3.2
    -   @uppy/box@3.3.2
    -   @uppy/url@4.3.2

## @uppy/screen-capture@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/status-bar@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/store-default@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json

## @uppy/store-redux@4.1.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   c66fd85: Fix package.json import

## @uppy/thumbnail-generator@4.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/transloadit@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2
    -   @uppy/tus@4.3.2

## @uppy/tus@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/companion-client@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/unsplash@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/url@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/companion-client@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/utils@6.2.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json

## @uppy/vue@2.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/progress-bar@4.3.2
    -   @uppy/components@0.3.2
    -   @uppy/file-input@4.2.2
    -   @uppy/status-bar@4.2.2
    -   @uppy/dashboard@4.4.2
    -   @uppy/drag-drop@4.2.2
    -   @uppy/core@4.5.2

## @uppy/webcam@4.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/webdav@0.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/xhr-upload@4.4.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
    -   @uppy/companion-client@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

## @uppy/zoom@3.3.2

### Patch Changes

-   1b1a9e3: Define "files" in package.json
-   Updated dependencies [1b1a9e3]
-   Updated dependencies [c66fd85]
    -   @uppy/companion-client@4.5.2
    -   @uppy/provider-views@4.5.2
    -   @uppy/utils@6.2.2
    -   @uppy/core@4.5.2

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-01 17:30:57 +02:00
Merlijn Vos
1b1a9e3591
Add "files" to all package.json's (#5852)
Closes #5865

I noticed we are publishing all files, we should filter them. npm
automatically adds package.json, license, and readme so you can leave
them out of the files array.
2025-08-01 17:20:42 +02:00
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
Murderlon
7d6d90ba5c
Version packages
After manual releasing all packages as changesets messed things up
2025-07-29 20:09:54 +02:00
github-actions[bot]
4ccd3716af
[ci] release (#5849) 2025-07-29 17:10:10 +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
0b954a7cd6
merge @uppy/informer into @uppy/dashboard (#5821)
- strips all the plugin properties from @uppy/informer and merges it as
a component into @uppy/core
- @uppy/dashbord will still retain all the opts relating to informer.
just that it would deprecate `Uppy.use(Informer, ...opts)`
2025-07-23 13:52:26 +02:00
Merlijn Vos
0525a2c91a
Fix turbo race condition (#5839)
Closes #5822 

- `"^build"` makes sure dependencies of the package are build first.
- Make dependencies of @uppy/components actually dependencies
- Remove concurrency setting. It was too high for computers with low
RAM.
2025-07-23 10:49:11 +02:00
Merlijn Vos
0294539af6
Fix object not extensible (#5835)
Closes #5829
2025-07-21 12:48:18 +02:00
Merlijn Vos
8d312a8551
Resolve @uppy/core yarn install warnings (#5826)
Closes #5774

There are still some warnings left but they are better done in their own
PRs as they require bigger changes.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-07-15 17:19:43 +02:00
Merlijn Vos
7c609a56d9
Use turbo for all unit tests (#5815)
- Upgrade vitest from 1.x to 3.x.
  - Fix some tests that now became more strict and started failing
-  Add test command to all packages + needed dependencies
- Add turbo config for running tests

Another PR will completely redo the e2e test suite.
2025-07-12 13:21:35 +02:00