-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Conversation
Diff output filesdiff --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 => { |
There was a problem hiding this 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
// 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]) |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
Co-authored-by: Antoine du Hamel <antoine@transloadit.com>
* 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) ...
| 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)
| 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)
No description provided.