medusa-uploadthing-file-plugin v0.0.3
This plugin allows you to use UploadThing as a file provider in your Medusa application. Under the hood, it uses UploadThing's UTApi SDK to upload files and retrieve presigned URLs.
Private ACL requires a paid UploadThing account, and the feature must be enabled in your UploadThing app settings.
Compatibility
This plugin is compatible with versions >= 2.4.0 of @medusajs/medusa.
Important note
This plugin is meant to be resolved within the @medusajs/medusa/file module in the modules array of your medusa-config.ts file. It is not meant to be resolved in the plugins array. As of version 2.4.0, Medusa does not support configuring providers within plugins.
Installation
To install the plugin, run the following command in your Medusa project directory:
npm install medusa-uploadthing-file-pluginOr if you're using Yarn:
yarn add medusa-uploadthing-file-pluginConfiguration
To configure the plugin, first add your UploadThing API key to your .env file:
UPLOADTHING_TOKEN=your-uploadthing-api-keyThen add the following to your medusa-config.ts file:
import { defineConfig } from "@medusajs/medusa/config";
export default defineConfig({
modules: [
{
resolve: "@medusajs/medusa/file",
options: {
providers: [
{
resolve: "medusa-uploadthing-file-plugin",
options: {
token: process.env.UPLOADTHING_TOKEN,
},
},
],
},
},
],
});There are a few additional options you can configure in the provider's options:
...
options: {
token: string
filePrefix?: string;
logLevel?: "Error" | "Warning" | "Info" | "Debug" | "Trace";
apiUrl?: string;
ingestUrl?: string;
}logLevel sets UploadThing's log level. It defaults to "Info".
apiUrl and ingestUrl are optional and can be used to override the default UploadThing API and ingest URLs. This can be useful for self-hosting or testing purposes.
filePrefix is an optional string that can be used to add a prefix to the uploaded file's name.
And that's it! You're ready to start using the UploadThing file provider in your Medusa application.