All Plugins/Media & Storage/v0.1.0

Veap Media Manager

Official

Comprehensive media library and asset management plugin with drag-and-drop uploads, metadata extraction, image cropping, and folder organization.

bun veap add @veap/media-plugin

Purpose & Overview

Manages digital assets, attachments, and files across the application with polymorphic associations to any model.

Installation & Setup

1

Install the package

bash
bun veap add @veap/media-plugin
2

Register in lib/veap.ts (or auto via lib/plugins.gen.ts)

lib/veap.ts
typescript
// lib/veap.ts
import { Application } from "@veap/core/core/server";
import mediaPlugin from "@veap/media-plugin";

export const app = Application.configure()
  .withDatabase()
  .withStorage()
  .withPlugins([mediaPlugin])
  .create();

// Querying media files programmatically:
import { MediaFile } from "@veap/media-plugin";

const images = await MediaFile.query()
  .where("mime_type", "like", "image/%")
  .orderBy("created_at", "desc")
  .get();
3

Run database migrations

bash
bun run veap migrate

Keep in mind

  • Stores files locally in `public/storage` by default with automatic static server routing.
  • Supports external storage providers (e.g. @veap/vercel-blob-plugin, AWS S3, Cloudflare R2).
  • Related models can use the polymorphic `morphMany('media_files')` relation to attach assets.

Dependencies

Veap Core

@veap/core (^0.1.0)

Required Veap Plugins
NPM Packages
  • date-fns@^4.1.0
  • sonner@^2.0.0
  • zod@^4.4.3
  • lucide-react@^1.27.0

Authors & Maintainers

Veap Core Team

Maintainer

Profile →

Specifications

License
MIT
Type
plugin
Status
official
Repository
GitHub →
veap
Preparing0%