@uppy/core
Version:
Core module for the extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Instagram, Dropbox, Google Drive, S3 and more :dog:
650 lines (403 loc) • 22.3 kB
Markdown
# /core
## 5.2.0
### Minor Changes
- 79e6460: - Add PluginTypeRegistry and typed getPlugin overload in /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]
- /utils@7.1.4
## 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]
- /utils@7.1.1
## 5.1.0
### Minor Changes
- 5ba2c1c: Introduce the concept of server-side search and add support for it for the Dropbox provider. Previously, only client-side filtering in the currently viewed folder was possible, which was limiting. Now users using Companion with Dropbox can perform a search across their entire account.
### Patch Changes
- Updated dependencies [5ba2c1c]
- /utils@7.1.0
## 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]
- /utils@7.0.2
## 5.0.1
### Patch Changes
- 49522ec: Remove preact/compat imports in favor of preact, preventing JSX type issues in certain setups.
- Updated dependencies [49522ec]
- /utils@7.0.1
## 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 `[package]/dist/styles.min.css` to `[package]/css/styles.min.css`
2. You were importing something that wasn't exported from the root, for instance `/core/lib/foo.js`. You can now only import things we explicitly exported.
#### Changed imports for `/react`, `@uppy/vue`, and `/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 `/react/dashboard`, so you only need to install the peer dependencies you need.
**Example for `/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]
- /utils@7.0.0
- /store-default@5.0.0
## 4.5.3
### Patch Changes
- eee05db: Fix retry after setting missed metaFields requiring you to click "retry" and then "upload" again. Now "retry" immediately restarts the upload.
## 4.5.2
### Patch Changes
- 1b1a9e3: Define "files" in package.json
- Updated dependencies [1b1a9e3]
- /store-default@4.3.2
- /utils@6.2.2
## 4.5.0
### Minor Changes
- 0c24c5a: Use TypeScript compiler instead of Babel
### Patch Changes
- 0c24c5a: Resolve stale state in `checkAndUpdateFileState`
- Updated dependencies [0c24c5a]
- /store-default@4.3.0
- /utils@6.2.0
## 4.4.6
Released: 2025-06-02
Included in: Uppy v4.17.0
- /core: fix missing required meta field error not updating (Prakash / #5766)
## 4.4.5
Released: 2025-05-18
Included in: Uppy v4.16.0
- /core: fix undefined reference when cancelling an upload (Prakash / #5730)
- /audio,@uppy/box,/core,@uppy/dashboard,/drag-drop,@uppy/dropbox,/facebook,@uppy/file-input,/google-drive-picker,@uppy/google-drive,/google-photos-picker,@uppy/image-editor,/instagram,@uppy/onedrive,/remote-sources,@uppy/screen-capture,/unsplash,@uppy/url,/utils,@uppy/webcam,/webdav,@uppy/zoom: ts: make locale strings optional (Merlijn Vos / #5728)
## 4.4.4
Released: 2025-04-08
Included in: Uppy v4.14.0
- /core: dry retryAll() and upload() (Mikael Finstad / #5691)
- /core: fix locale type for plugins (Merlijn Vos / #5700)
- /core: fix events when retrying with upload() (Prakash / #5696)
## 4.4.3
Released: 2025-03-13
Included in: Uppy v4.13.4
- /core: make upload() idempotent (Merlijn Vos / #5677)
## 4.4.2
Released: 2025-02-03
Included in: Uppy v4.13.2
- /core,@uppy/google-drive-picker,/google-photos-picker,@uppy/provider-views:
## 4.4.0
Released: 2025-01-06
Included in: Uppy v4.11.0
- /angular,@uppy/audio,/aws-s3,@uppy/box,/companion-client,@uppy/compressor,/core,@uppy/dashboard,/drag-drop,@uppy/drop-target,/dropbox,@uppy/facebook,/file-input,@uppy/form,/golden-retriever,@uppy/google-drive-picker,/google-drive,@uppy/google-photos-picker,/google-photos,@uppy/image-editor,/informer,@uppy/instagram,/locales,@uppy/onedrive,/progress-bar,@uppy/provider-views,/react,@uppy/remote-sources,/screen-capture,@uppy/status-bar,/thumbnail-generator,@uppy/transloadit,/tus,@uppy/unsplash,/url,@uppy/vue,/webcam,@uppy/webdav,/xhr-upload,@uppy/zoom: Remove "paths" from all tsconfig's (Merlijn Vos / #5572)
## 4.3.2
Released: 2025-01-06
Included in: Uppy v4.10.0
- /core,@uppy/dashboard,/provider-views,@uppy/store-redux,/url: build(deps): bump nanoid from 5.0.7 to 5.0.9 (dependabot[bot] / #5544)
## 4.3.1
Released: 2024-12-17
Included in: Uppy v4.9.0
- /core: bring back validateRestrictions (Merlijn Vos / #5538)
## 4.3.0
Released: 2024-12-05
Included in: Uppy v4.8.0
- /core,@uppy/provider-views: move useStore out of core (Mikael Finstad / #5533)
- /audio,@uppy/aws-s3,/box,@uppy/companion-client,/compressor,@uppy/core,/dashboard,@uppy/drag-drop,/drop-target,@uppy/dropbox,/facebook,@uppy/file-input,/form,@uppy/golden-retriever,/google-drive,@uppy/google-photos,/image-editor,@uppy/informer,/instagram,@uppy/locales,/onedrive,@uppy/progress-bar,/provider-views,@uppy/react,/remote-sources,@uppy/screen-capture,/status-bar,@uppy/store-default,/thumbnail-generator,@uppy/transloadit,/tus,@uppy/unsplash,/url,@uppy/utils,/vue,@uppy/webcam,/xhr-upload,@uppy/zoom: cleanup tsconfig (Mikael Finstad / #5520)
## 4.2.3
Released: 2024-10-31
Included in: Uppy v4.6.0
- /aws-s3,@uppy/box,/companion-client,@uppy/core,/dashboard,@uppy/drag-drop,/dropbox,@uppy/facebook,/file-input,@uppy/form,/golden-retriever,@uppy/google-drive,/google-photos,@uppy/image-editor,/informer,@uppy/instagram,/locales,@uppy/onedrive,/progress-bar,@uppy/provider-views,/react-native,@uppy/react,/redux-dev-tools,@uppy/screen-capture,/status-bar,@uppy/store-default,/store-redux,@uppy/svelte,/thumbnail-generator,@uppy/transloadit,/tus,@uppy/unsplash,/url,@uppy/utils,/vue,@uppy/webcam,/xhr-upload,@uppy/zoom: Fix links (Anthony Veaudry / #5492)
## 4.2.0
Released: 2024-08-29
Included in: Uppy v4.3.0
- /core,@uppy/dashboard: Pass container to `UIPlugin.render` for non-Preact integration (Merlijn Vos / #5437)
## 4.1.0
Released: 2024-07-30
Included in: Uppy v4.1.0
- /core,@uppy/store-default: export `Store` type (Merlijn Vos / #5373)
## 4.0.1
Released: 2024-07-15
Included in: Uppy v4.0.1
- /core: make `Meta` generic optional (Merlijn Vos / #5330)
## 4.0.0
Released: 2024-07-10
Included in: Uppy v4.0.0
- /core: bring back resetProgress (Merlijn Vos / #5320)
- /core: export UppyOptions, UppyFile, Meta, Body (Merlijn Vos / #5319)
## 4.0.0-beta.9
Released: 2024-06-04
Included in: Uppy v4.0.0-beta.10
- /core: remove unnecessary todo (Mikael Finstad / #5200)
- /core: remove `'upload-started'` event (Mikael Finstad / #5200)
- /core: add type tests (Merlijn Vos / #5153)
- /core: pass file to events consistently (Merlijn Vos / #5136)
- /core: remove `reason` (Antoine du Hamel / #5159)
- /core: remove `resetProgress` and `reset-progress` (Mikael Finstad / #5221)
## 4.0.0-beta.8
Released: 2024-05-22
Included in: Uppy v4.0.0-beta.8
- /core: resolve some (breaking) TODOs (Antoine du Hamel / #4824)
## 4.0.0-beta.7
Released: 2024-05-14
Included in: Uppy v4.0.0-beta.7
- /core: close->destroy, clearUploadedFiles->clear (Merlijn Vos / #5154)
## 4.0.0-beta.5
Released: 2024-05-03
Included in: Uppy v4.0.0-beta.5
- /core: make UppyEventMap more readable (Murderlon)
- /audio,@uppy/compressor,/core,@uppy/dashboard,/remote-sources,@uppy/tus,/utils: Format (Murderlon)
- /core: add instance ID to generated IDs (Merlijn Vos / #5080)
- /core: reference updated i18n in Restricter (Merlijn Vos / #5118)
## 4.0.0-beta.4
Released: 2024-04-29
Included in: Uppy v4.0.0-beta.4
- /core: Release: uppy@3.24.2 (github-actions[bot] / #5084)
- /core: fix `setOptions` not re-rendereing plugin UI (Antoine du Hamel / #5082)
## 4.0.0-beta.3
Released: 2024-04-15
Included in: Uppy v4.0.0-beta.3
- /core: fix `setOptions` not re-rendereing plugin UI (Antoine du Hamel / #5082)
## 4.0.0-beta.2
Released: 2024-04-11
Included in: Uppy v4.0.0-beta.2
- /core: use variadic arguments for `uppy.use` (Antoine du Hamel / #4888)
## 4.0.0-beta.1
Released: 2024-03-28
Included in: Uppy v4.0.0-beta.1
- /core: refine type of private variables (Antoine du Hamel / #5028)
- /core: fix some type errors (Antoine du Hamel / #5015)
- /core: various type fixes (Antoine du Hamel / #4995)
- /core,@uppy/provider-views: Fix breadcrumbs (Evgenia Karunus / #4986)
## 3.13.1
Released: 2024-07-02
Included in: Uppy v3.27.2
- /core: add `clearUploadedFiles` to type definition (Augustine Smith / #5295)
## 3.12.0
Released: 2024-06-04
Included in: Uppy v3.26.0
- /core: check capabilities in clearUploadedFiles (Merlijn Vos / #5201)
- /core: PartialTree - change the `maxTotalFileSize` error (Evgenia Karunus / #5203)
## 3.11.3
Released: 2024-05-14
Included in: Uppy v3.25.3
- /core: make getObjectOfFilesPerState more efficient (Merlijn Vos / #5155)
## 3.11.2
Released: 2024-05-07
Included in: Uppy v3.25.2
- /compressor,@uppy/core,/dashboard,@uppy/status-bar: Upgrade /prettier-bytes (Merlijn Vos / #5150)
## 3.11.1
Released: 2024-05-03
Included in: Uppy v3.25.1
- /core: make UppyEventMap more readable (Murderlon)
## 3.11.0
Released: 2024-04-29
Included in: Uppy v3.25.0
- /core: add instance ID to generated IDs (Merlijn Vos / #5080)
- /core: reference updated i18n in Restricter (Merlijn Vos / #5118)
## 3.10.1
Released: 2024-04-15
Included in: Uppy v3.24.2
- /core: fix `setOptions` not re-rendereing plugin UI (Antoine du Hamel / #5082)
## 3.10.0
Released: 2024-03-27
Included in: Uppy v3.24.0
- /core: refine type of private variables (Antoine du Hamel / #5028)
- /core: fix some type errors (Antoine du Hamel / #5015)
- /core: various type fixes (Antoine du Hamel / #4995)
- /core,@uppy/provider-views: Fix breadcrumbs (Evgenia Karunus / #4986)
## 3.9.3
Released: 2024-02-28
Included in: Uppy v3.23.0
- /core: remove unused import (Antoine du Hamel / #4972)
## 3.9.2
Released: 2024-02-22
Included in: Uppy v3.22.2
- /core: fix plugin detection (Antoine du Hamel / #4951)
- /core,@uppy/utils: Introduce `ValidateableFile` & move `MinimalRequiredUppyFile` into utils (Antoine du Hamel / #4944)
- /core: improve `UIPluginOptions` types (Merlijn Vos / #4946)
## 3.9.1
Released: 2024-02-20
Included in: Uppy v3.22.1
- /compressor,@uppy/core,/dashboard,@uppy/status-bar: bump `/prettier-bytes` (Antoine du Hamel / #4933)
## 3.9.0
Released: 2024-02-19
Included in: Uppy v3.22.0
- /core: add utility type to help define plugin option types (antoine du hamel / #4885)
- /core: improve types of .use() (merlijn vos / #4882)
- /core: add `plugintarget` type and mark options as optional (antoine du hamel / #4874)
- /core: add `debuglogger` as export in manual types (antoine du hamel / #4831)
- /core: add missing requiredmetafields key in restrictions (darthf1 / #4819)
- /core: fix types (antoine du hamel / #4842)
- /core: refactor to ts (murderlon)
## 3.8.0
Released: 2023-12-12
Included in: Uppy v3.21.0
- /core: Fix onBeforeFileAdded with Golden Retriever (Merlijn Vos / #4799)
## 3.7.1
Released: 2023-11-12
Included in: Uppy v3.19.1
- /core,@uppy/dashboard,/react-native: Update Uppy's blue color to meet WCAG contrast requirements (Alexander Zaytsev / #4777)
## 3.7.0
Released: 2023-11-08
Included in: Uppy v3.19.0
- /core,@uppy/dashboard: don't cancel all files when clicking "done" (Mikael Finstad / #4771)
- /core: simplify types with class generic (JokcyLou / #4761)
## 3.6.1
Released: 2023-10-23
Included in: Uppy v3.18.1
- /core: fix `sideEffects` declaration (Antoine du Hamel / #4759)
## 3.6.0
Released: 2023-10-20
Included in: Uppy v3.18.0
- /core: mark the package as side-effect free (Antoine du Hamel / #4730)
- /core: type more events (Antoine du Hamel / #4719)
## 3.5.0
Released: 2023-09-05
Included in: Uppy v3.15.0
- /aws-s3-multipart,@uppy/aws-s3,/companion-client,@uppy/core,/tus,@uppy/utils,/xhr-upload: Move remote file upload logic into companion-client (Merlijn Vos / #4573)
## 3.4.0
Released: 2023-08-15
Included in: Uppy v3.14.0
- /core: allow duplicate files with onBeforeFileAdded (Merlijn Vos / #4594)
## 3.2.1
Released: 2023-06-19
Included in: Uppy v3.10.0
- /companion,@uppy/core,/dashboard,@uppy/golden-retriever,/status-bar,@uppy/utils: Migrate all lodash' per-method-packages usage to lodash. (LinusMain / #4274)
- /core: Don't set late (throttled) progress event on a file that is 100% complete (Artur Paikin / #4507)
- /core: remove `state` getter from types (Antoine du Hamel / #4477)
## 3.2.0
Released: 2023-04-18
Included in: Uppy v3.8.0
- /core: improve performance of validating & uploading files (Mikael Finstad / #4402)
- /core,@uppy/locales,/provider-views: User feedback adding recursive folders take 2 (Mikael Finstad / #4399)
## 3.1.2
Released: 2023-04-04
Included in: Uppy v3.7.0
- /core: fix bug with `setOptions` (Nguyễn bảo Trung / #4350)
## 3.1.0
Released: 2023-03-07
Included in: Uppy v3.6.0
- /core: fix uppy.resetProgress() (Artur Paikin / #4337)
- /core: fix some types (Antoine du Hamel / #4332)
- /core: Fixed type of State.info to match reality being an array of info objects (Marc Bennewitz / #4321)
## 3.0.6
Released: 2023-02-13
Included in: Uppy v3.5.0
- /audio,@uppy/core,/dashboard,@uppy/screen-capture: Warn more instead of erroring (Artur Paikin / #4302)
## 3.0.5
Released: 2023-01-26
Included in: Uppy v3.4.0
- /core: fix metafields validation when used as function (Merlijn Vos / #4276)
- /core: fix typo in Uppy.test.js (Ikko Ashimine / #4235)
## 3.0.4
Released: 2022-10-24
Included in: Uppy v3.2.2
- /core: make cancel() and close() arguments optional in types (Merlijn Vos / #4161)
## 3.0.3
Released: 2022-10-19
Included in: Uppy v3.2.0
- /core: do not crash if a file is removed before the upload starts (Antoine du Hamel / #4148)
- /core: Fix Uppy.cancelAll and Uppy.close types (Sven Grunewaldt / #4128)
## 3.0.2
Released: 2022-09-25
Included in: Uppy v3.1.0
- /audio,@uppy/aws-s3-multipart,/aws-s3,@uppy/box,/companion-client,@uppy/companion,/compressor,@uppy/core,/dashboard,@uppy/drag-drop,/drop-target,@uppy/dropbox,/facebook,@uppy/file-input,/form,@uppy/golden-retriever,/google-drive,@uppy/image-editor,/informer,@uppy/instagram,/locales,@uppy/onedrive,/progress-bar,@uppy/provider-views,/react,@uppy/redux-dev-tools,/remote-sources,@uppy/screen-capture,/status-bar,@uppy/store-default,/store-redux,@uppy/svelte,/thumbnail-generator,@uppy/transloadit,/tus,@uppy/unsplash,/url,@uppy/utils,/vue,@uppy/webcam,/xhr-upload,@uppy/zoom: add missing entries to changelog for individual packages (Antoine du Hamel / #4092)
- /core: Fix `Restrictor` counts ghost files against `maxNumberOfFiles` (Andrew McIntee / #4078)
- /core: fix types (Antoine du Hamel / #4072)
## 3.0.1
Released: 2022-08-30
Included in: Uppy v3.0.1
- /core,@uppy/dashboard,/thumbnail-generator: update definition type files for TS 4.8 compatibility (Antoine du Hamel / #4055)
## 3.0.0
Released: 2022-08-22
Included in: Uppy v3.0.0
- /core: core: uppy.addFile should accept browser File objects (Artur Paikin / #4020)
- /core,@uppy/dashboard,/status-bar: Style tweaks: use all: initial + other resets (Artur Paikin / #3983)
- Switch to ESM
## 3.0.0-beta.4
Released: 2022-08-16
Included in: Uppy v3.0.0-beta.5
- /core,@uppy/react: Fix all breaking todo comments for 3.0 (Merlijn Vos / #3907)
## 3.0.0-beta.2
Released: 2022-07-27
Included in: Uppy v3.0.0-beta.3
- /aws-s3,@uppy/core,/dashboard,@uppy/store-redux,/xhr-upload: upgrade `nanoid` to v4 (Antoine du Hamel / #3904)
## 3.0.0-beta.1
Released: 2022-06-09
Included in: Uppy v3.0.0-beta.1
- /core,@uppy/dashboard: fix types for some events (Antoine du Hamel / #3812)
## 2.3.2
Released: 2022-07-27
Included in: Uppy v2.13.1
- /core: Add missing type for retry-all event (Luc Boissaye / #3901)
## 2.3.1
Released: 2022-06-07
Included in: Uppy v2.12.0
- /core: fix `TypeError` when file was deleted (Antoine du Hamel / #3811)
## 2.3.0
Released: 2022-05-30
Included in: Uppy v2.11.0
- /angular,@uppy/audio,/aws-s3-multipart,@uppy/aws-s3,/box,@uppy/core,/dashboard,@uppy/drag-drop,/dropbox,@uppy/facebook,/file-input,@uppy/form,/golden-retriever,@uppy/google-drive,/image-editor,@uppy/informer,/instagram,@uppy/onedrive,/progress-bar,@uppy/react,/redux-dev-tools,@uppy/robodog,/screen-capture,@uppy/status-bar,/store-default,@uppy/store-redux,/thumbnail-generator,@uppy/transloadit,/tus,@uppy/unsplash,/url,@uppy/vue,/webcam,@uppy/xhr-upload,/zoom: doc: update bundler recommendation (Antoine du Hamel / #3763)
- /core: refactor to ESM (Antoine du Hamel / #3744)
## 2.2.0
Released: 2022-05-14
Included in: Uppy v2.10.0
- /aws-s3-multipart,@uppy/aws-s3,/core,@uppy/react,/transloadit,@uppy/tus,/xhr-upload: proposal: Cancel assemblies optional (Mikael Finstad / #3575)
- /core: add definition for addFiles method (Matteo Padovano / #3556)
- /core: wrap plugins in div.uppy-Root and set dir attrubute in UIPlugin (Artur Paikin / #3692)
## 2.1.10
Released: 2022-04-27
Included in: Uppy v2.9.5
- /core: fix `TypeError` when file was removed (Antoine du Hamel / #3670)
## 2.1.9
Released: 2022-04-27
Included in: Uppy v2.9.4
- /core: fix `TypeError` when file was removed (Antoine du Hamel / #3650)
## 2.1.8
Released: 2022-04-07
Included in: Uppy v2.9.3
- /core: fix TypeError in event handler when file was removed (Antoine du Hamel / #3629)
## 2.1.7
Released: 2022-03-29
Included in: Uppy v2.9.1
- /core: refactor: replace deprecated String.prototype.substr() (CommanderRoot / #3600)
## 2.1.6
Released: 2022-03-16
Included in: Uppy v2.8.0
- /core: Abstract restriction logic in a new Restricter class (Merlijn Vos / #3532)
## 2.1.5
Released: 2022-02-14
Included in: Uppy v2.5.0
- /core,@uppy/dashboard,/thumbnail-generator: Add dashboard and UIPlugin types (Merlijn Vos / #3426)
## 2.1.4
Released: 2021-12-09
Included in: Uppy v2.3.1
- /aws-s3,@uppy/core,/dashboard,@uppy/store-redux,/xhr-upload: deps: use `nanoid/non-secure` to workaround react-native limitation (Antoine du Hamel / #3350)
## 2.1.3
Released: 2021-12-07
Included in: Uppy v2.3.0
- /core: disable loose transpilation for legacy bundle (Antoine du Hamel / #3329)
- /aws-s3,@uppy/box,/core,@uppy/dashboard,/drag-drop,@uppy/dropbox,/facebook,@uppy/file-input,/google-drive,@uppy/image-editor,/instagram,@uppy/locales,/onedrive,@uppy/screen-capture,/status-bar,@uppy/thumbnail-generator,/transloadit,@uppy/url,/webcam,@uppy/xhr-upload,/zoom: Refactor locale scripts & generate types and docs (Merlijn Vos / #3276)