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/transloadit: migrate to TS #4987

Merged
merged 9 commits into from Mar 18, 2024
Merged

@uppy/transloadit: migrate to TS #4987

merged 9 commits into from Mar 18, 2024

Conversation

Murderlon
Copy link
Member

No description provided.

@Murderlon Murderlon requested review from mifi and aduh95 March 12, 2024 11:07
@Murderlon Murderlon self-assigned this Mar 12, 2024
Copy link
Contributor

github-actions bot commented Mar 12, 2024

Diff output files
diff --git a/packages/@uppy/transloadit/lib/Assembly.js b/packages/@uppy/transloadit/lib/Assembly.js
index 98b9e5e..6a731c0 100644
--- a/packages/@uppy/transloadit/lib/Assembly.js
+++ b/packages/@uppy/transloadit/lib/Assembly.js
@@ -105,10 +105,6 @@ function _connectServerSentEvents2() {
     `${this.status.websocket_url}?assembly=${this.status.assembly_id}`,
   );
   _classPrivateFieldLooseBase(this, _sse)[_sse].addEventListener("open", () => {
-    if (this.socket) {
-      this.socket.disconnect();
-      this.socket = null;
-    }
     clearInterval(this.pollInterval);
     this.pollInterval = null;
   });
@@ -147,17 +143,15 @@ function _connectServerSentEvents2() {
     try {
       _classPrivateFieldLooseBase(this, _onError)[_onError](JSON.parse(e.data));
     } catch {
-      _classPrivateFieldLooseBase(this, _onError)[_onError]({
-        msg: e.data,
-      });
+      _classPrivateFieldLooseBase(this, _onError)[_onError](new Error(e.data));
     }
     _classPrivateFieldLooseBase(this, _fetchStatus)[_fetchStatus]({
       diff: false,
     });
   });
 }
-function _onError2(status) {
-  this.emit("error", Object.assign(new Error(status.msg), status));
+function _onError2(assemblyOrError) {
+  this.emit("error", Object.assign(new Error(assemblyOrError.message), assemblyOrError));
   this.close();
 }
 function _beginPolling2() {
diff --git a/packages/@uppy/transloadit/lib/AssemblyWatcher.js b/packages/@uppy/transloadit/lib/AssemblyWatcher.js
index 35a3d18..b39780f 100644
--- a/packages/@uppy/transloadit/lib/AssemblyWatcher.js
+++ b/packages/@uppy/transloadit/lib/AssemblyWatcher.js
@@ -10,9 +10,9 @@ function _classPrivateFieldLooseKey(name) {
 }
 import Emitter from "component-emitter";
 var _assemblyIDs = _classPrivateFieldLooseKey("assemblyIDs");
-var _reject = _classPrivateFieldLooseKey("reject");
 var _remaining = _classPrivateFieldLooseKey("remaining");
 var _resolve = _classPrivateFieldLooseKey("resolve");
+var _reject = _classPrivateFieldLooseKey("reject");
 var _uppy = _classPrivateFieldLooseKey("uppy");
 var _watching = _classPrivateFieldLooseKey("watching");
 var _onAssemblyComplete = _classPrivateFieldLooseKey("onAssemblyComplete");
@@ -41,15 +41,15 @@ class TransloaditAssemblyWatcher extends Emitter {
       writable: true,
       value: void 0,
     });
-    Object.defineProperty(this, _reject, {
+    Object.defineProperty(this, _remaining, {
       writable: true,
       value: void 0,
     });
-    Object.defineProperty(this, _remaining, {
+    Object.defineProperty(this, _resolve, {
       writable: true,
       value: void 0,
     });
-    Object.defineProperty(this, _resolve, {
+    Object.defineProperty(this, _reject, {
       writable: true,
       value: void 0,
     });
diff --git a/packages/@uppy/transloadit/lib/Client.js b/packages/@uppy/transloadit/lib/Client.js
index c663704..798d3da 100644
--- a/packages/@uppy/transloadit/lib/Client.js
+++ b/packages/@uppy/transloadit/lib/Client.js
@@ -10,15 +10,19 @@ function _classPrivateFieldLooseKey(name) {
 }
 import fetchWithNetworkError from "@uppy/utils/lib/fetchWithNetworkError";
 const ASSEMBLIES_ENDPOINT = "/assemblies";
+export class AssemblyError extends Error {
+  constructor(message, details, assembly) {
+    super(message);
+    this.details = details;
+    this.assembly = assembly;
+  }
+}
 var _headers = _classPrivateFieldLooseKey("headers");
 var _fetchWithNetworkError = _classPrivateFieldLooseKey("fetchWithNetworkError");
 var _fetchJSON = _classPrivateFieldLooseKey("fetchJSON");
 var _reportError = _classPrivateFieldLooseKey("reportError");
 export default class Client {
   constructor(_opts) {
-    if (_opts === void 0) {
-      _opts = {};
-    }
     Object.defineProperty(this, _fetchJSON, {
       value: _fetchJSON2,
     });
@@ -57,7 +61,7 @@ export default class Client {
     _classPrivateFieldLooseBase(this, _fetchWithNetworkError)[_fetchWithNetworkError] = this.opts.rateLimitedQueue
       .wrapPromiseFunction(fetchWithNetworkError);
   }
-  createAssembly(_ref) {
+  async createAssembly(_ref) {
     let {
       params,
       fields,
@@ -70,9 +74,9 @@ export default class Client {
       data.append("signature", signature);
     }
     Object.keys(fields).forEach(key => {
-      data.append(key, fields[key]);
+      data.append(key, String(fields[key]));
     });
-    data.append("num_expected_upload_files", expectedFiles);
+    data.append("num_expected_upload_files", String(expectedFiles));
     const url = new URL(ASSEMBLIES_ENDPOINT, `${this.opts.service}`).href;
     return _classPrivateFieldLooseBase(this, _fetchJSON)[_fetchJSON](url, {
       method: "POST",
@@ -85,7 +89,7 @@ export default class Client {
       })
     );
   }
-  reserveFile(assembly, file) {
+  async reserveFile(assembly, file) {
     const size = encodeURIComponent(file.size);
     const url = `${assembly.assembly_ssl_url}/reserve_file?size=${size}`;
     return _classPrivateFieldLooseBase(this, _fetchJSON)[_fetchJSON](url, {
@@ -100,7 +104,7 @@ export default class Client {
       })
     );
   }
-  addFile(assembly, file) {
+  async addFile(assembly, file) {
     if (!file.uploadURL) {
       return Promise.reject(new Error("File does not have an `uploadURL`."));
     }
@@ -122,7 +126,7 @@ export default class Client {
       })
     );
   }
-  updateNumberOfFilesInAssembly(assembly, num_expected_upload_files) {
+  async updateNumberOfFilesInAssembly(assembly, num_expected_upload_files) {
     const url = new URL(assembly.assembly_ssl_url);
     url.pathname = "/update_assemblies";
     const body = JSON.stringify({
@@ -142,7 +146,7 @@ export default class Client {
       })
     );
   }
-  cancelAssembly(assembly) {
+  async cancelAssembly(assembly) {
     const url = assembly.assembly_ssl_url;
     return _classPrivateFieldLooseBase(this, _fetchJSON)[_fetchJSON](url, {
       method: "DELETE",
@@ -154,7 +158,7 @@ export default class Client {
       })
     );
   }
-  getAssemblyStatus(url) {
+  async getAssemblyStatus(url) {
     return _classPrivateFieldLooseBase(this, _fetchJSON)[_fetchJSON](url, {
       headers: _classPrivateFieldLooseBase(this, _headers)[_headers],
     }).catch(err =>
@@ -164,7 +168,7 @@ export default class Client {
       })
     );
   }
-  submitError(err, _temp) {
+  async submitError(err, _temp) {
     let {
       endpoint,
       instance,
@@ -184,33 +188,31 @@ export default class Client {
     });
   }
 }
-function _fetchJSON2() {
-  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-    args[_key] = arguments[_key];
+async function _fetchJSON2() {
+  const response = await _classPrivateFieldLooseBase(this, _fetchWithNetworkError)[_fetchWithNetworkError](
+    ...arguments,
+  );
+  if (response.status === 429) {
+    this.opts.rateLimitedQueue.rateLimit(2000);
+    return _classPrivateFieldLooseBase(this, _fetchJSON)[_fetchJSON](...arguments);
   }
-  return _classPrivateFieldLooseBase(this, _fetchWithNetworkError)[_fetchWithNetworkError](...args).then(response => {
-    if (response.status === 429) {
-      this.opts.rateLimitedQueue.rateLimit(2000);
-      return _classPrivateFieldLooseBase(this, _fetchJSON)[_fetchJSON](...args);
-    }
-    if (!response.ok) {
-      const serverError = new Error(response.statusText);
-      serverError.statusCode = response.status;
-      if (!`${args[0]}`.endsWith(ASSEMBLIES_ENDPOINT)) return Promise.reject(serverError);
-      return response.json().then(assembly => {
-        if (!assembly.error) throw serverError;
-        const error = new Error(assembly.error);
-        error.details = assembly.message;
-        error.assembly = assembly;
-        if (assembly.assembly_id) {
-          error.details += ` Assembly ID: ${assembly.assembly_id}`;
-        }
-        throw error;
-      }, err => {
-        err.cause = serverError;
-        throw err;
-      });
+  if (!response.ok) {
+    const serverError = new Error(response.statusText);
+    serverError.statusCode = response.status;
+    if (!`${arguments.length <= 0 ? undefined : arguments[0]}`.endsWith(ASSEMBLIES_ENDPOINT)) {
+      return Promise.reject(serverError);
     }
-    return response.json();
-  });
+    return response.json().then(assembly => {
+      if (!assembly.error) throw serverError;
+      const error = new AssemblyError(assembly.error, assembly.message, assembly);
+      if (assembly.assembly_id) {
+        error.details += ` Assembly ID: ${assembly.assembly_id}`;
+      }
+      throw error;
+    }, err => {
+      err.cause = serverError;
+      throw err;
+    });
+  }
+  return response.json();
 }
diff --git a/packages/@uppy/transloadit/lib/index.js b/packages/@uppy/transloadit/lib/index.js
index 991403e..6c45b7e 100644
--- a/packages/@uppy/transloadit/lib/index.js
+++ b/packages/@uppy/transloadit/lib/index.js
@@ -14,7 +14,7 @@ import ErrorWithCause from "@uppy/utils/lib/ErrorWithCause";
 import hasProperty from "@uppy/utils/lib/hasProperty";
 import { RateLimitedQueue } from "@uppy/utils/lib/RateLimitedQueue";
 import Assembly from "./Assembly.js";
-import AssemblyOptions, { validateParams } from "./AssemblyOptions.js";
+import AssemblyOptionsBuilder, { validateParams } from "./AssemblyOptions.js";
 import AssemblyWatcher from "./AssemblyWatcher.js";
 import Client from "./Client.js";
 import locale from "./locale.js";
@@ -30,6 +30,21 @@ const sendErrorToConsole = originalErr => err => {
 const COMPANION_URL = "https://api2.transloadit.com/companion";
 const COMPANION_ALLOWED_HOSTS = /\.transloadit\.com$/;
 const TL_COMPANION = /https?:\/\/api2(?:-\w+)?\.transloadit\.com\/companion/;
+const defaultOptions = {
+  service: "https://api2.transloadit.com",
+  errorReporting: true,
+  waitForEncoding: false,
+  waitForMetadata: false,
+  alwaysRunAssembly: false,
+  importFromUploadURLs: false,
+  signature: null,
+  params: null,
+  fields: null,
+  getAssemblyOptions: null,
+  limit: 20,
+  retryDelays: [7000, 10000, 15000, 20000],
+  clientName: null,
+};
 var _rateLimitedQueue = _classPrivateFieldLooseKey("rateLimitedQueue");
 var _getClientVersion = _classPrivateFieldLooseKey("getClientVersion");
 var _attachAssemblyMetadata = _classPrivateFieldLooseKey("attachAssemblyMetadata");
@@ -55,7 +70,10 @@ var _onTusError = _classPrivateFieldLooseKey("onTusError");
 export default class Transloadit extends BasePlugin {
   constructor(uppy, opts) {
     var _this, _this$opts, _this$opts$assemblyOp, _this$opts$getAssembl;
-    super(uppy, opts);
+    super(uppy, {
+      ...defaultOptions,
+      ...opts,
+    });
     _this = this;
     Object.defineProperty(this, _connectAssembly, {
       value: _connectAssembly2,
@@ -224,7 +242,7 @@ export default class Transloadit extends BasePlugin {
         this.restored = Promise.resolve().then(() => {
           restoreState(previousAssemblies);
           restoreAssemblies();
-          return updateAssemblies();
+          updateAssemblies();
         });
         this.restored.then(() => {
           this.restored = null;
@@ -233,7 +251,7 @@ export default class Transloadit extends BasePlugin {
     });
     Object.defineProperty(this, _prepareUpload, {
       writable: true,
-      value: (fileIDs, uploadID) => {
+      value: async (fileIDs, uploadID) => {
         const files = fileIDs.map(id => this.uppy.getFile(id));
         const filesWithoutErrors = files.filter(file => {
           if (!file.error) {
@@ -282,8 +300,8 @@ export default class Transloadit extends BasePlugin {
             [uploadID]: [],
           },
         });
-        const assemblyOptions = new AssemblyOptions(filesWithoutErrors, this.opts);
-        return assemblyOptions.build().then(assemblies => Promise.all(assemblies.map(createAssembly))).then(
+        const assemblyOptions = new AssemblyOptionsBuilder(filesWithoutErrors, this.opts);
+        await assemblyOptions.build().then(assemblies => Promise.all(assemblies.map(createAssembly))).then(
           maybeCreatedAssemblies => {
             const createdAssemblies = maybeCreatedAssemblies.filter(Boolean);
             const assemblyIDs = createdAssemblies.map(assembly => assembly.status.assembly_id);
@@ -364,20 +382,14 @@ export default class Transloadit extends BasePlugin {
       writable: true,
       value: assemblyID => {
         var _this$activeAssemblie;
+        if (!assemblyID) return;
         (_this$activeAssemblie = this.activeAssemblies[assemblyID]) == null || _this$activeAssemblie.close();
       },
     });
     Object.defineProperty(this, _onError, {
       writable: true,
-      value: function(err, uploadID) {
-        if (err === void 0) {
-          err = null;
-        }
-        const state = _this.getPluginState();
-        const assemblyIDs = state.uploadsAssemblies[uploadID];
-        assemblyIDs == null
-          || assemblyIDs.forEach(_classPrivateFieldLooseBase(_this, _closeAssemblyIfExists)[_closeAssemblyIfExists]);
-        _this.client.submitError(err).catch(sendErrorToConsole(err));
+      value: err => {
+        this.client.submitError(err).catch(sendErrorToConsole(err));
       },
     });
     Object.defineProperty(this, _onTusError, {
@@ -388,41 +400,20 @@ export default class Transloadit extends BasePlugin {
           file == null || (_file$transloadit2 = file.transloadit) == null ? void 0 : _file$transloadit2.assembly,
         );
         if (err != null && (_err$message = err.message) != null && _err$message.startsWith("tus: ")) {
-          var _err$originalRequest;
-          const endpoint = (_err$originalRequest = err.originalRequest) == null
-              || (_err$originalRequest = _err$originalRequest.getUnderlyingObject()) == null
+          var _originalRequest;
+          const endpoint = (_originalRequest = err.originalRequest) == null
+              || (_originalRequest = _originalRequest.getUnderlyingObject()) == null
             ? void 0
-            : _err$originalRequest.responseURL;
+            : _originalRequest.responseURL;
           this.client.submitError(err, {
             endpoint,
-            type: "TUS_ERROR",
           }).catch(sendErrorToConsole(err));
         }
       },
     });
     this.type = "uploader";
     this.id = this.opts.id || "Transloadit";
-    this.title = "Transloadit";
     this.defaultLocale = locale;
-    const defaultOptions = {
-      service: "https://api2.transloadit.com",
-      errorReporting: true,
-      waitForEncoding: false,
-      waitForMetadata: false,
-      alwaysRunAssembly: false,
-      importFromUploadURLs: false,
-      signature: null,
-      params: null,
-      fields: null,
-      getAssemblyOptions: null,
-      limit: 20,
-      retryDelays: [7000, 10000, 15000, 20000],
-      clientName: null,
-    };
-    this.opts = {
-      ...defaultOptions,
-      ...opts,
-    };
     (_this$opts$assemblyOp = (_this$opts = this.opts).assemblyOptions) != null
       ? _this$opts$assemblyOp
       : _this$opts.assemblyOptions = (_this$opts$getAssembl = this.opts.getAssemblyOptions) != null
@@ -679,8 +670,9 @@ function _createAssembly2(fileIDs, uploadID, assemblyOptions) {
     throw wrapped;
   });
 }
-function _createAssemblyWatcher2(assemblyID, uploadID) {
-  const watcher = new AssemblyWatcher(this.uppy, assemblyID);
+function _createAssemblyWatcher2(idOrArrayOfIds, uploadID) {
+  const ids = Array.isArray(idOrArrayOfIds) ? idOrArrayOfIds : [idOrArrayOfIds];
+  const watcher = new AssemblyWatcher(this.uppy, ids);
   watcher.on("assembly-complete", id => {
     const files = this.getAssemblyFiles(id);
     files.forEach(file => {

Copy link
Member

@aduh95 aduh95 left a comment

Choose a reason for hiding this comment

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

I didn't have time to go through Client.ts and index.ts yet

packages/@uppy/transloadit/src/Assembly.ts Outdated Show resolved Hide resolved
Comment on lines 253 to 257
// TODO: what should this be?
// We can't use a random string to index an array.
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore this is a mistake
this.emit('upload', next.uploads[upload])
Copy link
Member

Choose a reason for hiding this comment

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

Well technically we could, but of course TS is not going to like this. I don't think it's a random string though, since it's returned by Object.keys

Copy link
Member Author

Choose a reason for hiding this comment

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

It's a bit mysterious, going through how things move through the code and what we get over the network, next.uploads has to be an array. But in our tests we pass objects.

packages/@uppy/transloadit/src/Assembly.ts Outdated Show resolved Hide resolved
packages/@uppy/transloadit/src/AssemblyOptions.ts Outdated Show resolved Hide resolved
packages/@uppy/transloadit/src/AssemblyOptions.ts Outdated Show resolved Hide resolved
packages/@uppy/transloadit/src/AssemblyOptions.ts Outdated Show resolved Hide resolved
packages/@uppy/transloadit/src/AssemblyOptions.ts Outdated Show resolved Hide resolved
packages/@uppy/transloadit/src/Client.ts Outdated Show resolved Hide resolved
packages/@uppy/transloadit/src/index.ts Show resolved Hide resolved
packages/@uppy/tus/src/index.ts Show resolved Hide resolved
* main:
  @uppy/utils: fix `AbortablePromise` type (#4988)
  Fix breadcrumbs (#4986)
  @uppy/drag-drop: refactor to TypeScript (#4983)
  @uppy/webcam: refactor to TypeScript (#4870)
Co-authored-by: Antoine du Hamel <antoine@transloadit.com>
@Murderlon Murderlon merged commit 700944e into main Mar 18, 2024
16 checks passed
@Murderlon Murderlon deleted the transloadit-ts branch March 18, 2024 14:45
Murderlon added a commit that referenced this pull request Mar 19, 2024
* main: (90 commits)
  crash if trying to set path to / (#5003)
  fix `super.toggleCheckbox` bug (#5004)
  @uppy/aws-s3-multipart: fix escaping issue with client signed request (#5006)
  add missing exports (#5009)
  @uppy/transloadit: migrate to TS (#4987)
  @uppy/utils: fix `RateLimitedQueue#wrapPromiseFunction` types (#5007)
  @uppy/golden-retriever: migrate to TS (#4989)
  Bump follow-redirects from 1.15.4 to 1.15.6 (#5002)
  meta: fix `resize-observer-polyfill` types (#4994)
  @uppy/core: various type fixes (#4995)
  @uppy/utils: fix `findAllDOMElements` type (#4997)
  @uppy/status-bar: fix `recoveredState` type (#4996)
  @uppy/utils: fix `AbortablePromise` type (#4988)
  Fix breadcrumbs (#4986)
  @uppy/drag-drop: refactor to TypeScript (#4983)
  @uppy/webcam: refactor to TypeScript (#4870)
  @uppy/url: migrate to TS (#4980)
  @uppy/zoom: refactor to TypeScript (#4979)
  @uppy/unsplash: refactor to TypeScript (#4979)
  @uppy/onedrive: refactor to TypeScript (#4979)
  ...
@github-actions github-actions bot mentioned this pull request Mar 27, 2024
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)
This was referenced Mar 28, 2024
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)
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.

None yet

2 participants