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

swiftjs-plugin-s3

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

swiftjs-plugin-s3

AWS S3 cloud storage plugin for SwiftJS

latest
Source
npmnpm
Version
0.0.1
Version published
Maintainers
1
Created
Source

swiftjs-plugin-s3

AWS S3 cloud storage plugin for SwiftJS applications.

Installation

npm install swiftjs-plugin-s3

Usage

import { createApp } from 'swiftjs-core';
import { s3Plugin, getS3 } from 'swiftjs-plugin-s3';

const app = createApp();

// Register the S3 plugin
app.register(s3Plugin({
    region: 'us-east-1',
    bucket: 'my-bucket',
    // Optional: explicit credentials (defaults to AWS SDK credential chain)
    credentials: {
        accessKeyId: process.env.AWS_ACCESS_KEY_ID!,
        secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!
    }
}));

// Upload a file
app.post('/upload', async (ctx) => {
    const s3 = getS3(ctx);
    const result = await s3.upload('uploads/image.png', ctx.body.file, {
        contentType: 'image/png',
        acl: 'public-read'
    });
    return { url: result.location };
});

// Download a file
app.get('/download/:key', async (ctx) => {
    const s3 = getS3(ctx);
    const buffer = await s3.download(ctx.params.key);
    return buffer;
});

// Generate presigned URL
app.get('/presign/:key', async (ctx) => {
    const s3 = getS3(ctx);
    const url = await s3.getSignedUrl(ctx.params.key, 3600);
    return { url };
});

// List files
app.get('/files', async (ctx) => {
    const s3 = getS3(ctx);
    const result = await s3.list('uploads/', 100);
    return result.objects;
});

app.listen();

S3-Compatible Storage

Works with any S3-compatible storage (MinIO, DigitalOcean Spaces, etc.):

app.register(s3Plugin({
    region: 'us-east-1',
    bucket: 'my-bucket',
    endpoint: 'https://minio.example.com',
    forcePathStyle: true
}));

API

s3Plugin(options)

Register the S3 plugin with your SwiftJS app.

getS3(ctx)

Get the S3 client from the request context.

S3Client Methods

MethodDescription
upload(key, data, options?)Upload a file
download(key)Download file as Buffer
downloadStream(key)Download file as ReadableStream
delete(key)Delete a file
deleteMany(keys)Delete multiple files
exists(key)Check if file exists
getSignedUrl(key, expiresIn?)Generate presigned download URL
getSignedUploadUrl(key, expiresIn?, options?)Generate presigned upload URL
list(prefix?, maxKeys?, token?)List files with prefix
copy(sourceKey, destKey)Copy a file

License

MIT

Keywords

swiftjs

FAQs

Package last updated on 08 Jan 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