Thank you for considering contributing to utapi-rs
! This document contains guidelines for contributing and setting up the development environment.
The utapi-rs
crate mirrors the functionalities of the UTApi class in Uploadthing. Our goal is to maintain parity with the original TypeScript SDK, focusing on feature consistency and reliability.
The following functionalities are implemented in this crate, as in the original UTApi class:
-
request_uploadthing
(requestUploadThing) -
delete_files
(deleteFiles) -
get_file_urls
(getFileUrls) -
list_files
(listFiles) -
rename_files
(renameFiles) -
get_presigned_url
(getSignedURL) -
get_usage_info
(getUsageInfo)
For any modifications or to understand the underlying functionality, start by referencing the original UTApi class from the Uploadthing TypeScript SDK.
git clone --depth 1 https://github.com/pingdotgg/uploadthing uploadthing_source
cd uploadthing_source
# Recommended starting point
vim packages/uploadthing/src/sdk/index.ts
Clone the utapi-rs
repository and create a new branch for your feature or fix.
git clone https://github.com/ielm/utapi-rs utapi-rs
cd utapi-rs
git checkout -b my_feature
After making and testing your changes...
Ensure your branch is up to date with any recent changes to the main branch.
git fetch origin
git rebase origin/main
Once your changes are ready and rebased:
git push origin my_feature
Go to GitHub and create a pull request for your branch. Make sure to explain your changes and link to any relevant issues or discussions.
Wait for a review and possible test of your changes.
If you have modifications you'd like to make for cleanliness or other improvements, it's recommended to open an issue or get in touch before making the changes. This will help us discuss and plan the modifications in a way that aligns with the project's goals and roadmap.
By contributing to utapi-rs
, you agree that your contribution will be licensed under its MIT License.