supabase / storage-js

JS Client library to interact with Supabase Storage
Apache License 2.0
127 stars 37 forks source link

feat: integrate tus upload as default upload mechanism #189

Open fenos opened 9 months ago

fenos commented 9 months ago

What kind of change does this PR introduce?

Feature

What is the current behavior?

Tu's uploads are not part of the SDK - developers need to manually setup the tus-js-client to upload with TUS which can be error-prone.

What is the new behavior?

This PR aims to switch the upload mechanism defaulting to TUS when the tus-js-client is installed by the project. If it is not installed it will fall back to the traditional standard-upload.

However, if a user has the tus-js-client installed and still wants to use the standard upload mechanism they can simply pass forceStandardUpload: true in the upload method.

Typescript definitions will automagically work as expected in either case when tus-js-client is installed or not.

Additional context

Add any other context or screenshots.

tus-js-client becomes an optional peer-dependency for this project to don't increase the bundle size of supabase-js by default

rlee1990 commented 3 months ago

Any updates on this request?