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
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