Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@uppy/react: refactor to TS #5012

Merged
merged 16 commits into from
Mar 27, 2024
Merged

@uppy/react: refactor to TS #5012

merged 16 commits into from
Mar 27, 2024

Conversation

aduh95
Copy link
Contributor

@aduh95 aduh95 commented Mar 21, 2024

No description provided.

Copy link
Contributor

github-actions bot commented Mar 21, 2024

Diff output files
diff --git a/packages/@uppy/react/lib/Dashboard.js b/packages/@uppy/react/lib/Dashboard.js
index 3f35eef..ea4a4a5 100644
--- a/packages/@uppy/react/lib/Dashboard.js
+++ b/packages/@uppy/react/lib/Dashboard.js
@@ -1,8 +1,9 @@
 import DashboardPlugin from "@uppy/dashboard";
+import PropTypes from "prop-types";
 import { Component, createElement as h } from "react";
 import getHTMLProps from "./getHTMLProps.js";
 import nonHtmlPropsHaveChanged from "./nonHtmlPropsHaveChanged.js";
-import { dashboard as basePropTypes } from "./propTypes.js";
+import { cssSize, locale, metaFields, plugins, uppy as uppyPropType } from "./propTypes.js";
 class Dashboard extends Component {
   componentDidMount() {
     this.installPlugin();
@@ -12,11 +13,13 @@ class Dashboard extends Component {
       this.uninstallPlugin(prevProps);
       this.installPlugin();
     } else if (nonHtmlPropsHaveChanged(this.props, prevProps)) {
-      const options = {
+      const {
+        uppy,
+        ...options
+      } = {
         ...this.props,
         target: this.container,
       };
-      delete options.uppy;
       this.plugin.setOptions(options);
     }
   }
@@ -26,13 +29,13 @@ class Dashboard extends Component {
   installPlugin() {
     const {
       uppy,
-    } = this.props;
-    const options = {
+      ...options
+    } = {
       id: "react:Dashboard",
+      inline: true,
       ...this.props,
       target: this.container,
     };
-    delete options.uppy;
     uppy.use(DashboardPlugin, options);
     this.plugin = uppy.getPlugin(options.id);
   }
@@ -55,8 +58,22 @@ class Dashboard extends Component {
     });
   }
 }
-Dashboard.propTypes = basePropTypes;
-Dashboard.defaultProps = {
-  inline: true,
+Dashboard.propsTypes = {
+  uppy: uppyPropType,
+  disableInformer: PropTypes.bool,
+  disableStatusBar: PropTypes.bool,
+  disableThumbnailGenerator: PropTypes.bool,
+  height: cssSize,
+  hideProgressAfterFinish: PropTypes.bool,
+  hideUploadButton: PropTypes.bool,
+  locale,
+  metaFields,
+  note: PropTypes.string,
+  plugins,
+  proudlyDisplayPoweredByUppy: PropTypes.bool,
+  showProgressDetails: PropTypes.bool,
+  width: cssSize,
+  thumbnailType: PropTypes.string,
+  thumbnailWidth: PropTypes.number,
 };
 export default Dashboard;
diff --git a/packages/@uppy/react/lib/DashboardModal.js b/packages/@uppy/react/lib/DashboardModal.js
index 9374119..6d18922 100644
--- a/packages/@uppy/react/lib/DashboardModal.js
+++ b/packages/@uppy/react/lib/DashboardModal.js
@@ -18,11 +18,14 @@ class DashboardModal extends Component {
       this.uninstallPlugin(prevProps);
       this.installPlugin();
     } else if (nonHtmlPropsHaveChanged(this.props, prevProps)) {
-      const options = {
+      const {
+        uppy,
+        ...options
+      } = {
         ...this.props,
+        inline: false,
         onRequestCloseModal: onRequestClose,
       };
-      delete options.uppy;
       this.plugin.setOptions(options);
     }
     if (prevProps.open && !open) {
@@ -36,19 +39,20 @@ class DashboardModal extends Component {
   }
   installPlugin() {
     const {
-      id = "react:DashboardModal",
       target = this.container,
       open,
       onRequestClose,
       uppy,
+      ...rest
     } = this.props;
     const options = {
-      ...this.props,
-      id,
+      ...rest,
+      id: "react:DashboardModal",
+      inline: false,
       target,
+      open,
       onRequestCloseModal: onRequestClose,
     };
-    delete options.uppy;
     uppy.use(DashboardPlugin, options);
     this.plugin = uppy.getPlugin(options.id);
     if (open) {
@@ -81,7 +85,6 @@ DashboardModal.propTypes = {
   onRequestClose: PropTypes.func,
   closeModalOnClickOutside: PropTypes.bool,
   disablePageScrollWhenModalOpen: PropTypes.bool,
-  inline: PropTypes.bool,
   plugins,
   width: cssSize,
   height: cssSize,
@@ -89,7 +92,7 @@ DashboardModal.propTypes = {
   note: PropTypes.string,
   metaFields,
   proudlyDisplayPoweredByUppy: PropTypes.bool,
-  autoOpen: PropTypes.oneOf(["imageEditor", "metaEditor", null]),
+  autoOpenFileEditor: PropTypes.bool,
   animateOpenClose: PropTypes.bool,
   browserBackButtonClose: PropTypes.bool,
   closeAfterFinish: PropTypes.bool,
@@ -116,7 +119,6 @@ DashboardModal.propTypes = {
 DashboardModal.defaultProps = {
   metaFields: [],
   plugins: [],
-  inline: false,
   width: 750,
   height: 550,
   thumbnailWidth: 280,
@@ -143,7 +145,7 @@ DashboardModal.defaultProps = {
   showRemoveButtonAfterComplete: false,
   browserBackButtonClose: false,
   theme: "light",
-  autoOpen: false,
+  autoOpenFileEditor: false,
   disabled: false,
   disableLocalFiles: false,
   open: undefined,
diff --git a/packages/@uppy/react/lib/DragDrop.js b/packages/@uppy/react/lib/DragDrop.js
index 1a26ebe..bda3b42 100644
--- a/packages/@uppy/react/lib/DragDrop.js
+++ b/packages/@uppy/react/lib/DragDrop.js
@@ -13,11 +13,13 @@ class DragDrop extends Component {
       this.uninstallPlugin(prevProps);
       this.installPlugin();
     } else if (nonHtmlPropsHaveChanged(this.props, prevProps)) {
-      const options = {
+      const {
+        uppy,
+        ...options
+      } = {
         ...this.props,
         target: this.container,
       };
-      delete options.uppy;
       this.plugin.setOptions(options);
     }
   }
@@ -42,7 +44,6 @@ class DragDrop extends Component {
       note,
       target: this.container,
     };
-    delete options.uppy;
     uppy.use(DragDropPlugin, options);
     this.plugin = uppy.getPlugin(options.id);
   }
diff --git a/packages/@uppy/react/lib/FileInput.js b/packages/@uppy/react/lib/FileInput.js
index 1fee5b0..d826e67 100644
--- a/packages/@uppy/react/lib/FileInput.js
+++ b/packages/@uppy/react/lib/FileInput.js
@@ -29,7 +29,6 @@ class FileInput extends Component {
       inputName,
       target: this.container,
     };
-    delete options.uppy;
     uppy.use(FileInputPlugin, options);
     this.plugin = uppy.getPlugin(options.id);
   }
diff --git a/packages/@uppy/react/lib/ProgressBar.js b/packages/@uppy/react/lib/ProgressBar.js
index 443182a..f445cca 100644
--- a/packages/@uppy/react/lib/ProgressBar.js
+++ b/packages/@uppy/react/lib/ProgressBar.js
@@ -13,11 +13,13 @@ class ProgressBar extends Component {
       this.uninstallPlugin(prevProps);
       this.installPlugin();
     } else if (nonHtmlPropsHaveChanged(this.props, prevProps)) {
-      const options = {
+      const {
+        uppy,
+        ...options
+      } = {
         ...this.props,
         target: this.container,
       };
-      delete options.uppy;
       this.plugin.setOptions(options);
     }
   }
@@ -36,7 +38,6 @@ class ProgressBar extends Component {
       hideAfterFinish,
       target: this.container,
     };
-    delete options.uppy;
     uppy.use(ProgressBarPlugin, options);
     this.plugin = uppy.getPlugin(options.id);
   }
diff --git a/packages/@uppy/react/lib/StatusBar.js b/packages/@uppy/react/lib/StatusBar.js
index c1c644e..15ef807 100644
--- a/packages/@uppy/react/lib/StatusBar.js
+++ b/packages/@uppy/react/lib/StatusBar.js
@@ -13,11 +13,13 @@ class StatusBar extends Component {
       this.uninstallPlugin(prevProps);
       this.installPlugin();
     } else if (nonHtmlPropsHaveChanged(this.props, prevProps)) {
-      const options = {
+      const {
+        uppy,
+        ...options
+      } = {
         ...this.props,
         target: this.container,
       };
-      delete options.uppy;
       this.plugin.setOptions(options);
     }
   }
@@ -46,7 +48,6 @@ class StatusBar extends Component {
       doneButtonHandler,
       target: this.container,
     };
-    delete options.uppy;
     uppy.use(StatusBarPlugin, options);
     this.plugin = uppy.getPlugin(options.id);
   }
diff --git a/packages/@uppy/react/lib/Wrapper.js b/packages/@uppy/react/lib/Wrapper.js
index e0a4c1b..0bf7e8f 100644
--- a/packages/@uppy/react/lib/Wrapper.js
+++ b/packages/@uppy/react/lib/Wrapper.js
@@ -2,9 +2,11 @@ import PropTypes from "prop-types";
 import { Component, createElement as h } from "react";
 import { uppy as uppyPropType } from "./propTypes.js";
 class UppyWrapper extends Component {
-  constructor(props) {
-    super(props);
-    this.refContainer = this.refContainer.bind(this);
+  constructor() {
+    super(...arguments);
+    this.refContainer = container => {
+      this.container = container;
+    };
   }
   componentDidMount() {
     this.installPlugin();
@@ -38,9 +40,6 @@ class UppyWrapper extends Component {
     } = this.props;
     uppy.getPlugin(plugin).unmount();
   }
-  refContainer(container) {
-    this.container = container;
-  }
   render() {
     return h("div", {
       className: "uppy-Container",
diff --git a/packages/@uppy/react/lib/propTypes.js b/packages/@uppy/react/lib/propTypes.js
index 354b1d6..beaea49 100644
--- a/packages/@uppy/react/lib/propTypes.js
+++ b/packages/@uppy/react/lib/propTypes.js
@@ -13,22 +13,4 @@ const metaField = PropTypes.shape({
 });
 const metaFields = PropTypes.oneOfType([PropTypes.arrayOf(metaField), PropTypes.func]);
 const cssSize = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);
-const dashboard = {
-  uppy,
-  inline: PropTypes.bool,
-  plugins,
-  width: cssSize,
-  height: cssSize,
-  showProgressDetails: PropTypes.bool,
-  hideUploadButton: PropTypes.bool,
-  hideProgressAfterFinish: PropTypes.bool,
-  note: PropTypes.string,
-  metaFields,
-  proudlyDisplayPoweredByUppy: PropTypes.bool,
-  disableStatusBar: PropTypes.bool,
-  disableInformer: PropTypes.bool,
-  disableThumbnailGenerator: PropTypes.bool,
-  thumbnailWidth: PropTypes.number,
-  locale,
-};
-export { cssSize, dashboard, locale, metaFields, plugins, uppy };
+export { cssSize, locale, metaFields, plugins, uppy };

@aduh95 aduh95 requested a review from Murderlon March 25, 2024 10:22
packages/@uppy/react/src/Dashboard.ts Show resolved Hide resolved
packages/@uppy/react/src/DashboardModal.ts Outdated Show resolved Hide resolved
packages/@uppy/react/src/DashboardModal.ts Show resolved Hide resolved
packages/@uppy/react/src/DashboardModal.ts Show resolved Hide resolved
packages/@uppy/react/src/DashboardModal.ts Show resolved Hide resolved
packages/@uppy/react/src/DragDrop.ts Outdated Show resolved Hide resolved
@aduh95 aduh95 requested a review from Murderlon March 26, 2024 15:13
Copy link
Member

@Murderlon Murderlon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two Qs, almost done

Comment on lines +17 to +21
type DashboardInlineOptions<M extends Meta, B extends Body> = Omit<
DashboardOptions<M, B> & { inline: true },
'inline'
> &
React.BaseHTMLAttributes<HTMLDivElement>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should have reviewed this in the other PR but didn't foresee how we'd use it, but I initially envisioned we'd import DashboardInlineOptions which does this trick inside @uppy/dashboard. Then we keep the conditions of the discriminated union in one place instead of repeating it everywhere.

What do you think? Doesn't need a separate PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if it's worth it, exporting a single type is less likely to confuse users. The fact that we need to remove the discriminated union here is probably more the exception than the rule.

plugin: string
}

class UppyWrapper<M extends Meta, B extends Body> extends Component<
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still used? I'm not sure what it does

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it is exported:

export default UppyWrapper

@aduh95 aduh95 merged commit 462e8c6 into main Mar 27, 2024
16 checks passed
@aduh95 aduh95 deleted the react-ts branch March 27, 2024 10:03
github-actions bot added a commit that referenced this pull request Mar 27, 2024
| Package                   | Version | Package                   | Version |
| ------------------------- | ------- | ------------------------- | ------- |
| @uppy/audio               |   1.1.8 | @uppy/progress-bar        |   3.1.1 |
| @uppy/aws-s3-multipart    |  3.11.0 | @uppy/provider-views      |  3.11.0 |
| @uppy/box                 |   2.3.0 | @uppy/react               |   3.3.0 |
| @uppy/companion           |  4.13.0 | @uppy/remote-sources      |   1.2.0 |
| @uppy/companion-client    |   3.8.0 | @uppy/screen-capture      |   3.2.0 |
| @uppy/compressor          |   1.1.2 | @uppy/status-bar          |   3.3.1 |
| @uppy/core                |  3.10.0 | @uppy/thumbnail-generator |   3.1.0 |
| @uppy/dashboard           |   3.8.0 | @uppy/transloadit         |   3.6.0 |
| @uppy/drag-drop           |   3.1.0 | @uppy/tus                 |   3.5.4 |
| @uppy/drop-target         |   2.0.5 | @uppy/unsplash            |   3.3.0 |
| @uppy/dropbox             |   3.3.0 | @uppy/url                 |   3.6.0 |
| @uppy/facebook            |   3.3.0 | @uppy/utils               |   5.7.5 |
| @uppy/golden-retriever    |   3.2.0 | @uppy/webcam              |   3.4.0 |
| @uppy/google-drive        |   3.5.0 | @uppy/zoom                |   2.3.0 |
| @uppy/instagram           |   3.3.0 | uppy                      |  3.24.0 |
| @uppy/onedrive            |   3.3.0 |                           |         |

- @uppy/box,@uppy/companion-client,@uppy/provider-views,@uppy/status-bar: fix type imports (Antoine du Hamel / #5038)
- @uppy/aws-s3-multipart: mark `opts` as optional (Antoine du Hamel / #5039)
- e2e: bump Cypress version (Antoine du Hamel / #5034)
- @uppy/react: refactor to TS (Antoine du Hamel / #5012)
- @uppy/core: refine type of private variables (Antoine du Hamel / #5028)
- @uppy/dashboard: refine type of private variables (Antoine du Hamel / #5027)
- @uppy/drag-drop: refine type of private variables (Antoine du Hamel / #5026)
- @uppy/status-bar: refine type of private variables (Antoine du Hamel / #5025)
- @uppy/remote-sources: migrate to TS (Merlijn Vos / #5020)
- @uppy/dashboard: refine option types (Antoine du Hamel / #5022)
- @uppy/dashboard: add new `autoOpen` option (Chris Grigg / #5001)
- @uppy/core: fix some type errors (Antoine du Hamel / #5015)
- @uppy/audio,@uppy/dashboard,@uppy/drop-target,@uppy/webcam: add missing exports (Antoine du Hamel / #5014)
- meta: Bump webpack-dev-middleware from 5.3.3 to 5.3.4 (dependabot[bot] / #5013)
- @uppy/dashboard: refactor to TypeScript (Antoine du Hamel / #4984)
- @uppy/companion: improve error msg (Mikael Finstad / #5010)
- @uppy/aws-s3-multipart: refactor to TS (Antoine du Hamel / #4902)
- @uppy/dashboard: refactor to stable lifecycle method (Antoine du Hamel / #4999)
- @uppy/companion: crash if trying to set path to / (Mikael Finstad / #5003)
- @uppy/provider-views: fix `super.toggleCheckbox` bug (Mikael Finstad / #5004)
- @uppy/aws-s3-multipart: fix escaping issue with client signed request (Hiroki Shimizu / #5006)
- @uppy/drag-drop,@uppy/progress-bar: add missing exports (Antoine du Hamel / #5009)
- @uppy/transloadit: migrate to TS (Merlijn Vos / #4987)
- @uppy/utils: fix `RateLimitedQueue#wrapPromiseFunction` types (Antoine du Hamel / #5007)
- @uppy/golden-retriever: migrate to TS (Merlijn Vos / #4989)
- meta: Bump follow-redirects from 1.15.4 to 1.15.6 (dependabot[bot] / #5002)
- meta: fix `resize-observer-polyfill` types (Antoine du Hamel / #4994)
- @uppy/core: various type fixes (Antoine du Hamel / #4995)
- @uppy/utils: fix `findAllDOMElements` type (Antoine du Hamel / #4997)
- @uppy/status-bar: fix `recoveredState` type (Antoine du Hamel / #4996)
- @uppy/utils: fix `AbortablePromise` type (Antoine du Hamel / #4988)
- @uppy/core,@uppy/provider-views: Fix breadcrumbs (Evgenia Karunus / #4986)
- @uppy/drag-drop: refactor to TypeScript (Antoine du Hamel / #4983)
- @uppy/webcam: refactor to TypeScript (Antoine du Hamel / #4870)
- @uppy/url: migrate to TS (Merlijn Vos / #4980)
- @uppy/zoom: refactor to TypeScript (Murderlon / #4979)
- @uppy/unsplash: refactor to TypeScript (Murderlon / #4979)
- @uppy/onedrive: refactor to TypeScript (Murderlon / #4979)
- @uppy/instagram: refactor to TypeScript (Murderlon / #4979)
- @uppy/google-drive: refactor to TypeScript (Murderlon / #4979)
- @uppy/facebook: refactor to TypeScript (Murderlon / #4979)
- @uppy/dropbox: refactor to TypeScript (Murderlon / #4979)
- @uppy/box: refactor to TypeScript (Murderlon / #4979)
- @uppy/utils: migrate RateLimitedQueue to TS (Merlijn Vos / #4981)
- @uppy/thumbnail-generator: migrate to TS (Merlijn Vos / #4978)
- @uppy/screen-capture: migrate to TS (Merlijn Vos / #4965)
- @uppy/companion-client: Replace Provider.initPlugin with composition (Merlijn Vos / #4977)
Murderlon added a commit that referenced this pull request Mar 28, 2024
* 4.x:
  @uppy/angular,meta: upgrade to Angular 17.x and to TS 5.4 (#5008)
  @uppy/svelte: remove UMD output and make it use newer types (#5023)
  fix type imports (#5038)
  @uppy/aws-s3-multipart: mark `opts` as optional (#5039)
  e2e: bump Cypress version (#5034)
  @uppy/react: remove `prop-types` dependency (#5031)
  @uppy/progress-bar: remove default target (#4971)
  @uppy/status-bar: remove default target (#4970)
  @uppy/react: remove `Wrapper.ts` (#5032)
  @uppy/react: refactor to TS (#5012)
  @uppy/core: refine type of private variables (#5028)
  @uppy/dashboard: refine type of private variables (#5027)
  @uppy/drag-drop: refine type of private variables (#5026)
  @uppy/status-bar: refine type of private variables (#5025)
github-actions bot added a commit that referenced this pull request Mar 28, 2024
| Package                   |      Version | Package                   |      Version |
| ------------------------- | ------------ | ------------------------- | ------------ |
| @uppy/angular             | 0.7.0-beta.1 | @uppy/progress-bar        | 4.0.0-beta.1 |
| @uppy/audio               | 2.0.0-beta.1 | @uppy/provider-views      | 4.0.0-beta.1 |
| @uppy/aws-s3              | 4.0.0-beta.1 | @uppy/react               | 4.0.0-beta.1 |
| @uppy/aws-s3-multipart    | 4.0.0-beta.1 | @uppy/redux-dev-tools     | 4.0.0-beta.1 |
| @uppy/box                 | 3.0.0-beta.1 | @uppy/remote-sources      | 2.0.0-beta.1 |
| @uppy/companion           | 5.0.0-beta.1 | @uppy/screen-capture      | 4.0.0-beta.1 |
| @uppy/companion-client    | 4.0.0-beta.1 | @uppy/status-bar          | 4.0.0-beta.1 |
| @uppy/compressor          | 2.0.0-beta.1 | @uppy/store-default       | 4.0.0-beta.1 |
| @uppy/core                | 4.0.0-beta.1 | @uppy/store-redux         | 4.0.0-beta.1 |
| @uppy/dashboard           | 4.0.0-beta.1 | @uppy/svelte              | 4.0.0-beta.1 |
| @uppy/drag-drop           | 4.0.0-beta.1 | @uppy/thumbnail-generator | 4.0.0-beta.1 |
| @uppy/drop-target         | 3.0.0-beta.1 | @uppy/transloadit         | 4.0.0-beta.1 |
| @uppy/dropbox             | 4.0.0-beta.1 | @uppy/tus                 | 4.0.0-beta.1 |
| @uppy/facebook            | 4.0.0-beta.1 | @uppy/unsplash            | 4.0.0-beta.1 |
| @uppy/file-input          | 4.0.0-beta.1 | @uppy/url                 | 4.0.0-beta.1 |
| @uppy/form                | 4.0.0-beta.1 | @uppy/utils               | 6.0.0-beta.1 |
| @uppy/golden-retriever    | 4.0.0-beta.1 | @uppy/vue                 | 2.0.0-beta.1 |
| @uppy/google-drive        | 4.0.0-beta.1 | @uppy/webcam              | 4.0.0-beta.1 |
| @uppy/image-editor        | 3.0.0-beta.1 | @uppy/xhr-upload          | 4.0.0-beta.1 |
| @uppy/informer            | 4.0.0-beta.1 | @uppy/zoom                | 3.0.0-beta.1 |
| @uppy/instagram           | 4.0.0-beta.1 | uppy                      | 4.0.0-beta.1 |
| @uppy/onedrive            | 4.0.0-beta.1 |                           |              |

- @uppy/vue: migrate to Composition API with TS & drop Vue 2 support (Merlijn Vos / #5043)
- @uppy/angular: upgrade to Angular 17.x and to TS 5.4 (Antoine du Hamel / #5008)
- @uppy/svelte: remove UMD output and make it use newer types (Antoine du Hamel / #5023)
- @uppy/companion-client,@uppy/provider-views,@uppy/status-bar: fix type imports (Antoine du Hamel / #5038)
- @uppy/aws-s3-multipart: mark `opts` as optional (Antoine du Hamel / #5039)
- e2e: bump Cypress version (Antoine du Hamel / #5034)
- @uppy/react: remove `prop-types` dependency (Antoine du Hamel / #5031)
- @uppy/progress-bar: remove default target (Antoine du Hamel / #4971)
- @uppy/status-bar: remove default target (Antoine du Hamel / #4970)
- @uppy/react: remove `Wrapper.ts` (Antoine du Hamel / #5032)
- @uppy/react: refactor to TS (Antoine du Hamel / #5012)
- @uppy/core: refine type of private variables (Antoine du Hamel / #5028)
- @uppy/dashboard: refine type of private variables (Antoine du Hamel / #5027)
- @uppy/drag-drop: refine type of private variables (Antoine du Hamel / #5026)
- @uppy/status-bar: refine type of private variables (Antoine du Hamel / #5025)
- @uppy/remote-sources: migrate to TS (Merlijn Vos / #5020)
- @uppy/dashboard: refine option types (Antoine du Hamel / #5022)
- @uppy/dashboard: add new `autoOpen` option (Chris Grigg / #5001)
- @uppy/aws-s3-multipart,@uppy/tus,@uppy/utils,@uppy/xhr-upload: Make `allowedMetaFields` consistent (Merlijn Vos / #5011)
- @uppy/core: fix some type errors (Antoine du Hamel / #5015)
- @uppy/audio,@uppy/dashboard,@uppy/drop-target,@uppy/webcam: add missing exports (Antoine du Hamel / #5014)
- meta: Bump webpack-dev-middleware from 5.3.3 to 5.3.4 (dependabot[bot] / #5013)
- @uppy/dashboard: refactor to TypeScript (Antoine du Hamel / #4984)
- @uppy/companion: improve error msg (Mikael Finstad / #5010)
- @uppy/aws-s3-multipart: refactor to TS (Antoine du Hamel / #4902)
- @uppy/dashboard: refactor to stable lifecycle method (Antoine du Hamel / #4999)
- @uppy/companion: crash if trying to set path to / (Mikael Finstad / #5003)
- @uppy/provider-views: fix `super.toggleCheckbox` bug (Mikael Finstad / #5004)
- @uppy/aws-s3-multipart: fix escaping issue with client signed request (Hiroki Shimizu / #5006)
- @uppy/drag-drop,@uppy/progress-bar: add missing exports (Antoine du Hamel / #5009)
- @uppy/transloadit: migrate to TS (Merlijn Vos / #4987)
- @uppy/utils: fix `RateLimitedQueue#wrapPromiseFunction` types (Antoine du Hamel / #5007)
- @uppy/golden-retriever: migrate to TS (Merlijn Vos / #4989)
- meta: Bump follow-redirects from 1.15.4 to 1.15.6 (dependabot[bot] / #5002)
- meta: fix `resize-observer-polyfill` types (Antoine du Hamel / #4994)
- @uppy/core: various type fixes (Antoine du Hamel / #4995)
- @uppy/utils: fix `findAllDOMElements` type (Antoine du Hamel / #4997)
- @uppy/status-bar: fix `recoveredState` type (Antoine du Hamel / #4996)
- @uppy/utils: fix `AbortablePromise` type (Antoine du Hamel / #4988)
- @uppy/core,@uppy/provider-views: Fix breadcrumbs (Evgenia Karunus / #4986)
- @uppy/drag-drop: refactor to TypeScript (Antoine du Hamel / #4983)
- @uppy/webcam: refactor to TypeScript (Antoine du Hamel / #4870)
- @uppy/url: migrate to TS (Merlijn Vos / #4980)
- @uppy/zoom: refactor to TypeScript (Murderlon / #4979)
- @uppy/unsplash: refactor to TypeScript (Murderlon / #4979)
- @uppy/onedrive: refactor to TypeScript (Murderlon / #4979)
- @uppy/instagram: refactor to TypeScript (Murderlon / #4979)
- @uppy/google-drive: refactor to TypeScript (Murderlon / #4979)
- @uppy/facebook: refactor to TypeScript (Murderlon / #4979)
- @uppy/dropbox: refactor to TypeScript (Murderlon / #4979)
- @uppy/box: refactor to TypeScript (Murderlon / #4979)
- @uppy/utils: migrate RateLimitedQueue to TS (Merlijn Vos / #4981)
- @uppy/thumbnail-generator: migrate to TS (Merlijn Vos / #4978)
- @uppy/screen-capture: migrate to TS (Merlijn Vos / #4965)
- @uppy/companion-client: Replace Provider.initPlugin with composition (Merlijn Vos / #4977)
- uppy: remove legacy bundle (Antoine du Hamel)
- meta: include types in npm archive (Antoine du Hamel)
- @uppy/angular: fix build (Antoine du Hamel)
- meta: Remove generate types from locale-pack (Murderlon)
- meta: enable CI on `4.x` branch (Antoine du Hamel)
- @uppy/vue: [v4.x] remove manual types (Antoine du Hamel / #4803)
- meta: prepare release workflow for beta versions (Antoine du Hamel)




| Package                   | Version | Package                   | Version |
| ------------------------- | ------- | ------------------------- | ------- |
| @uppy/audio               |   1.1.8 | @uppy/progress-bar        |   3.1.1 |
| @uppy/aws-s3-multipart    |  3.11.0 | @uppy/provider-views      |  3.11.0 |
| @uppy/box                 |   2.3.0 | @uppy/react               |   3.3.0 |
| @uppy/companion           |  4.13.0 | @uppy/remote-sources      |   1.2.0 |
| @uppy/companion-client    |   3.8.0 | @uppy/screen-capture      |   3.2.0 |
| @uppy/compressor          |   1.1.2 | @uppy/status-bar          |   3.3.1 |
| @uppy/core                |  3.10.0 | @uppy/thumbnail-generator |   3.1.0 |
| @uppy/dashboard           |   3.8.0 | @uppy/transloadit         |   3.6.0 |
| @uppy/drag-drop           |   3.1.0 | @uppy/tus                 |   3.5.4 |
| @uppy/drop-target         |   2.0.5 | @uppy/unsplash            |   3.3.0 |
| @uppy/dropbox             |   3.3.0 | @uppy/url                 |   3.6.0 |
| @uppy/facebook            |   3.3.0 | @uppy/utils               |   5.7.5 |
| @uppy/golden-retriever    |   3.2.0 | @uppy/webcam              |   3.4.0 |
| @uppy/google-drive        |   3.5.0 | @uppy/zoom                |   2.3.0 |
| @uppy/instagram           |   3.3.0 | uppy                      |  3.24.0 |
| @uppy/onedrive            |   3.3.0 |                           |         |

- @uppy/box,@uppy/companion-client,@uppy/provider-views,@uppy/status-bar: fix type imports (Antoine du Hamel / #5038)
- @uppy/aws-s3-multipart: mark `opts` as optional (Antoine du Hamel / #5039)
- e2e: bump Cypress version (Antoine du Hamel / #5034)
- @uppy/react: refactor to TS (Antoine du Hamel / #5012)
- @uppy/core: refine type of private variables (Antoine du Hamel / #5028)
- @uppy/dashboard: refine type of private variables (Antoine du Hamel / #5027)
- @uppy/drag-drop: refine type of private variables (Antoine du Hamel / #5026)
- @uppy/status-bar: refine type of private variables (Antoine du Hamel / #5025)
- @uppy/remote-sources: migrate to TS (Merlijn Vos / #5020)
- @uppy/dashboard: refine option types (Antoine du Hamel / #5022)
- @uppy/dashboard: add new `autoOpen` option (Chris Grigg / #5001)
- @uppy/core: fix some type errors (Antoine du Hamel / #5015)
- @uppy/audio,@uppy/dashboard,@uppy/drop-target,@uppy/webcam: add missing exports (Antoine du Hamel / #5014)
- meta: Bump webpack-dev-middleware from 5.3.3 to 5.3.4 (dependabot[bot] / #5013)
- @uppy/dashboard: refactor to TypeScript (Antoine du Hamel / #4984)
- @uppy/companion: improve error msg (Mikael Finstad / #5010)
- @uppy/aws-s3-multipart: refactor to TS (Antoine du Hamel / #4902)
- @uppy/dashboard: refactor to stable lifecycle method (Antoine du Hamel / #4999)
- @uppy/companion: crash if trying to set path to / (Mikael Finstad / #5003)
- @uppy/provider-views: fix `super.toggleCheckbox` bug (Mikael Finstad / #5004)
- @uppy/aws-s3-multipart: fix escaping issue with client signed request (Hiroki Shimizu / #5006)
- @uppy/drag-drop,@uppy/progress-bar: add missing exports (Antoine du Hamel / #5009)
- @uppy/transloadit: migrate to TS (Merlijn Vos / #4987)
- @uppy/utils: fix `RateLimitedQueue#wrapPromiseFunction` types (Antoine du Hamel / #5007)
- @uppy/golden-retriever: migrate to TS (Merlijn Vos / #4989)
- meta: Bump follow-redirects from 1.15.4 to 1.15.6 (dependabot[bot] / #5002)
- meta: fix `resize-observer-polyfill` types (Antoine du Hamel / #4994)
- @uppy/core: various type fixes (Antoine du Hamel / #4995)
- @uppy/utils: fix `findAllDOMElements` type (Antoine du Hamel / #4997)
- @uppy/status-bar: fix `recoveredState` type (Antoine du Hamel / #4996)
- @uppy/utils: fix `AbortablePromise` type (Antoine du Hamel / #4988)
- @uppy/core,@uppy/provider-views: Fix breadcrumbs (Evgenia Karunus / #4986)
- @uppy/drag-drop: refactor to TypeScript (Antoine du Hamel / #4983)
- @uppy/webcam: refactor to TypeScript (Antoine du Hamel / #4870)
- @uppy/url: migrate to TS (Merlijn Vos / #4980)
- @uppy/zoom: refactor to TypeScript (Murderlon / #4979)
- @uppy/unsplash: refactor to TypeScript (Murderlon / #4979)
- @uppy/onedrive: refactor to TypeScript (Murderlon / #4979)
- @uppy/instagram: refactor to TypeScript (Murderlon / #4979)
- @uppy/google-drive: refactor to TypeScript (Murderlon / #4979)
- @uppy/facebook: refactor to TypeScript (Murderlon / #4979)
- @uppy/dropbox: refactor to TypeScript (Murderlon / #4979)
- @uppy/box: refactor to TypeScript (Murderlon / #4979)
- @uppy/utils: migrate RateLimitedQueue to TS (Merlijn Vos / #4981)
- @uppy/thumbnail-generator: migrate to TS (Merlijn Vos / #4978)
- @uppy/screen-capture: migrate to TS (Merlijn Vos / #4965)
- @uppy/companion-client: Replace Provider.initPlugin with composition (Merlijn Vos / #4977)
Murderlon added a commit that referenced this pull request Apr 2, 2024
* 4.x: (27 commits)
  Release: [email protected] (#5047)
  @uppy/vue: migrate to Composition API with TS & drop Vue 2 support (#5043)
  @uppy/angular,meta: upgrade to Angular 17.x and to TS 5.4 (#5008)
  @uppy/svelte: remove UMD output and make it use newer types (#5023)
  fix type imports (#5038)
  @uppy/aws-s3-multipart: mark `opts` as optional (#5039)
  e2e: bump Cypress version (#5034)
  @uppy/react: remove `prop-types` dependency (#5031)
  @uppy/progress-bar: remove default target (#4971)
  @uppy/status-bar: remove default target (#4970)
  @uppy/react: remove `Wrapper.ts` (#5032)
  @uppy/react: refactor to TS (#5012)
  @uppy/core: refine type of private variables (#5028)
  @uppy/dashboard: refine type of private variables (#5027)
  @uppy/drag-drop: refine type of private variables (#5026)
  @uppy/status-bar: refine type of private variables (#5025)
  @uppy/remote-sources: migrate to TS (#5020)
  @uppy/dashboard: refine option types (#5022)
  @uppy/dashboard: add new `autoOpen` option (#5001)
  Make `allowedMetaFields` consistent (#5011)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants