medusa-uploadthing-file-plugin

0.0.3 • Public • Published

Medusa logo

Medusa UploadThing File Plugin

GitHub | Medusa | MIT License
Author: Evan Hart

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

Or if you're using Yarn:

yarn add medusa-uploadthing-file-plugin

Configuration

To configure the plugin, first add your UploadThing API key to your .env file:

UPLOADTHING_TOKEN=your-uploadthing-api-key

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

Package Sidebar

Install

npm i medusa-uploadthing-file-plugin

Weekly Downloads

0

Version

0.0.3

License

MIT

Unpacked Size

12.5 kB

Total Files

4

Last publish

Collaborators

  • e-hart