From b2cd5c541b021b46837fb4a8c157ea9d0dcb2daa Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 18 Feb 2025 12:42:55 -0600 Subject: [PATCH] Move uploaders into @ditto/uploaders --- deno.json | 3 ++- packages/ditto/middleware/uploaderMiddleware.ts | 4 +--- packages/{ditto => }/uploaders/DenoUploader.ts | 3 ++- packages/{ditto => }/uploaders/IPFSUploader.ts | 3 ++- packages/{ditto => }/uploaders/S3Uploader.ts | 3 ++- packages/uploaders/deno.json | 7 +++++++ packages/uploaders/mod.ts | 3 +++ 7 files changed, 19 insertions(+), 7 deletions(-) rename packages/{ditto => }/uploaders/DenoUploader.ts (95%) rename packages/{ditto => }/uploaders/IPFSUploader.ts (96%) rename packages/{ditto => }/uploaders/S3Uploader.ts (96%) create mode 100644 packages/uploaders/deno.json create mode 100644 packages/uploaders/mod.ts diff --git a/deno.json b/deno.json index 412f32a3..70b8cd74 100644 --- a/deno.json +++ b/deno.json @@ -5,7 +5,8 @@ "./packages/conf", "./packages/db", "./packages/ditto", - "./packages/metrics" + "./packages/metrics", + "./packages/uploaders" ], "tasks": { "start": "deno run -A --env-file --deny-read=.env packages/ditto/server.ts", diff --git a/packages/ditto/middleware/uploaderMiddleware.ts b/packages/ditto/middleware/uploaderMiddleware.ts index 056106c1..10cd3d2b 100644 --- a/packages/ditto/middleware/uploaderMiddleware.ts +++ b/packages/ditto/middleware/uploaderMiddleware.ts @@ -1,10 +1,8 @@ +import { DenoUploader, IPFSUploader, S3Uploader } from '@ditto/uploaders'; import { BlossomUploader, NostrBuildUploader } from '@nostrify/nostrify/uploaders'; import { safeFetch } from '@soapbox/safe-fetch'; import { AppMiddleware } from '@/app.ts'; -import { DenoUploader } from '@/uploaders/DenoUploader.ts'; -import { IPFSUploader } from '@/uploaders/IPFSUploader.ts'; -import { S3Uploader } from '@/uploaders/S3Uploader.ts'; /** Set an uploader for the user. */ export const uploaderMiddleware: AppMiddleware = async (c, next) => { diff --git a/packages/ditto/uploaders/DenoUploader.ts b/packages/uploaders/DenoUploader.ts similarity index 95% rename from packages/ditto/uploaders/DenoUploader.ts rename to packages/uploaders/DenoUploader.ts index fd30d8c6..a97bdb52 100644 --- a/packages/ditto/uploaders/DenoUploader.ts +++ b/packages/uploaders/DenoUploader.ts @@ -1,10 +1,11 @@ import { join } from 'node:path'; -import { NUploader } from '@nostrify/nostrify'; import { crypto } from '@std/crypto'; import { encodeHex } from '@std/encoding/hex'; import { extensionsByType } from '@std/media-types'; +import type { NUploader } from '@nostrify/nostrify'; + export interface DenoUploaderOpts { baseUrl: string; dir: string; diff --git a/packages/ditto/uploaders/IPFSUploader.ts b/packages/uploaders/IPFSUploader.ts similarity index 96% rename from packages/ditto/uploaders/IPFSUploader.ts rename to packages/uploaders/IPFSUploader.ts index 7bf5165b..cf9c1516 100644 --- a/packages/ditto/uploaders/IPFSUploader.ts +++ b/packages/uploaders/IPFSUploader.ts @@ -1,6 +1,7 @@ -import { NUploader } from '@nostrify/nostrify'; import { z } from 'zod'; +import type { NUploader } from '@nostrify/nostrify'; + export interface IPFSUploaderOpts { baseUrl: string; apiUrl?: string; diff --git a/packages/ditto/uploaders/S3Uploader.ts b/packages/uploaders/S3Uploader.ts similarity index 96% rename from packages/ditto/uploaders/S3Uploader.ts rename to packages/uploaders/S3Uploader.ts index c0d776f8..551a554d 100644 --- a/packages/ditto/uploaders/S3Uploader.ts +++ b/packages/uploaders/S3Uploader.ts @@ -1,11 +1,12 @@ import { join } from 'node:path'; import { S3Client } from '@bradenmacdonald/s3-lite-client'; -import { NUploader } from '@nostrify/nostrify'; import { crypto } from '@std/crypto'; import { encodeHex } from '@std/encoding/hex'; import { extensionsByType } from '@std/media-types'; +import type { NUploader } from '@nostrify/nostrify'; + export interface S3UploaderOpts { endPoint: string; region: string; diff --git a/packages/uploaders/deno.json b/packages/uploaders/deno.json new file mode 100644 index 00000000..b37b8aa7 --- /dev/null +++ b/packages/uploaders/deno.json @@ -0,0 +1,7 @@ +{ + "name": "@ditto/uploaders", + "version": "1.1.0", + "exports": { + ".": "./mod.ts" + } +} diff --git a/packages/uploaders/mod.ts b/packages/uploaders/mod.ts new file mode 100644 index 00000000..c5405344 --- /dev/null +++ b/packages/uploaders/mod.ts @@ -0,0 +1,3 @@ +export { DenoUploader } from './DenoUploader.ts'; +export { IPFSUploader } from './IPFSUploader.ts'; +export { S3Uploader } from './S3Uploader.ts';