New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@oberoncms/plugin-flydrive

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@oberoncms/plugin-flydrive

a fullstack image component for puck editor OberonCMS, flydrive based to store manage in the cloud, aws, gcp, cloudfare, s3, vercel, filesystem, etc.

latest
Source
npmnpm
Version
0.8.5
Version published
Weekly downloads
7
75%
Maintainers
1
Weekly downloads
 
Created
Source

@oberoncms/plugin-flydrive

A plugin that provides an Image component for OberonCMS it's pre-configured to using flydrive, a filesystem abstraction layer that allows you to easily interact with files systems of different cloud storage providers.

Table of Contents

pnpm add @oberoncms/plugin-flydrive flydrive

Setup

for example using S3 driver:

npm i @aws-sdk/s3-request-presigner @aws-sdk/client-s3
  • create a flydrive adapter, and generate your plugin!
// adapter.ts
import "server-only"

import { initAdapter } from "@oberoncms/core/adapter"


import { S3Driver } from "flydrive/drivers/s3"

import { getFlyDrivePlugin } from "@oberoncms/plugin-flydrive/plugin"

const s3Driver = new S3Driver({
  credentials: {
    accessKeyId: process.env.ACCESS_KEY_ID,
    secretAccessKey: process.env.SECRET_ACCESS_KEY,
  },
  forcePathStyle: true,
  bucket: process.env.bucket,
  urlBuilder: {
    generateSignedURL() // mandatory
    generateURL() // mandatory
  },
})

// export router
export const { flyDrivePlugin, initFlyDriveRouter } = getFlyDrivePlugin(s3Driver)

// add the plugin to the oberon adapter
export const adapter = initAdapter([
  flyDrivePlugin,
  // other plugins
])

prepare API

// api/flydrive/route.ts
import { initFlyDriveRouter } from "./adapter" // <where you placed your adapter.ts>

export const { GET, POST } = initFlyDriveRouter()

Editor configuration

// config.ts
import { Image } from "@oberoncms/plugin-flydrive"

export const editorConfig = {
  // other configurations
  components: {
    Image, // <- add the Image component

    // using arrayFields/ObjectFields in NestedField Props
    Nested: {
      fields: {
        // array of images
        images: {
          type: "array",
          arrayFields: {
             image: ImageNestedField,
            // another array fields
           },
        },

        // object with an image
        image: {
          type: "object",
          objectFields: {
             image: ImageNestedField ,
            // another object fields
          },
        },
      },
      render(props: {
        images?: OberonImage[]
        image?: { image?: OberonImage }
      }) {
        // props.images is an array of images
        // props.image is an object with an image
        return <></>
      },
    },
    // other components
  },
}

That's it! you can now use the Image component in your editor!

Want to discuss this plugin?

contact me on Discord @sudoahmed GitHub @ahmedrowaihi

Keywords

oberon

FAQs

Package last updated on 23 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts