Going Live - Production optimization

Learn how to optimize your production build for Supersaas

Optimize your production build

Supersaas supports multiple features, that you might not end up using in your production build. Though they wont affect your app, you can remove them to reduce the size of your bundle.

Removing unused email providers

Removing unused payment providers

Removing unused file storage providers

If you do not end up using AWS S3. Please remove the dependencies from the app

pnpm remove @aws-sdk/client-s3 @aws-sdk/s3-request-presigner

Now remove these AWS S3 related imports and references from your useFileStorage composable

useFileStorage.ts
import { S3FileStorage } from "./s3-storage-service";
import { LocalFileStorage } from "./local-storage-service";
import { NuxtHubFileStorage } from "./nuxthub-storage-service";
import type { FileStorageProvider } from "./types";
import type { FileStorageService, NuxtHubFileStorageService } from "./types";

export function useFileStorage(
  provider: FileStorageProvider,
): FileStorageService | NuxtHubFileStorageService {
  switch (provider) {
    case "S3":      return new S3FileStorage();    case "local":
      return new LocalFileStorage();
    case "nuxthub":
      return new NuxtHubFileStorage();
    default:
      throw new Error(`Unsupported file storage provider: ${provider}`);
  }
}