Tests use @aws-sdk/client-s3 against https://upload.asepharyana.my.id with forcePathStyle=true. Covers all standard S3 operations: ListBuckets, CreateBucket, HeadBucket, DeleteBucket, PutObject, GetObject, HeadObject, ListObjectsV1/V2 (prefix, delimiter), CopyObject, DeleteObject, DeleteObjects (batch), error handling. Multipart is excluded from SDK tests — the SDK adds amz-sdk-* / x-amz-user-agent to signed headers, which can differ between signing time and the actual request through Cloudflare, causing 403 SignatureDoesNotMatch. Multipart is verified via manual SigV4 signing in test/production-e2e.test.ts.
37 lines
1.6 KiB
JSON
37 lines
1.6 KiB
JSON
{
|
|
"name": "teleuploader",
|
|
"version": "1.0.0",
|
|
"description": "Telegram file uploader backend",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "bun --hot src/index.ts",
|
|
"build": "bun build src/index.ts --target=bun --outfile=dist/index.js && bun build src/db/migrate.ts --target=bun --outfile=dist/migrate.js",
|
|
"start": "NODE_ENV=production bun dist/index.js",
|
|
"db:migrate": "bun dist/migrate.js",
|
|
"test": "bun test test/rateLimit.test.ts && bun test test/file.test.ts && bun test test/telegram.test.ts && bun test test/upload.test.ts && bun test test/files.test.ts && bun test test/health.test.ts && bun test test/db.test.ts && bun test test/bot.test.ts && bun test test/bootstrap.test.ts && bun test test/swagger.test.ts && bun test test/s3-auth.test.ts && bun test test/s3-operations.test.ts && bun test test/web-api.test.ts",
|
|
"test:s3-auth": "bun test test/s3-auth.test.ts",
|
|
"test:s3-ops": "bun test test/s3-operations.test.ts",
|
|
"test:web-api": "bun test test/web-api.test.ts",
|
|
"test:s3": "bun test test/s3-auth.test.ts && bun test test/s3-operations.test.ts && bun test test/web-api.test.ts",
|
|
"lint": "bunx biome check src test",
|
|
"format": "bunx biome format --write src test"
|
|
},
|
|
"dependencies": {
|
|
"@prisma/engines": "^7.8.0",
|
|
"drizzle-orm": "^0.45.2",
|
|
"nanoid": "^5.0.4",
|
|
"p-queue": "^9.3.0",
|
|
"pg": "^8.11.0",
|
|
"postgres": "^3.4.9",
|
|
"telegraf": "^4.15.0",
|
|
"winston": "^3.11.0"
|
|
},
|
|
"devDependencies": {
|
|
"@aws-sdk/client-s3": "^3.1079.0",
|
|
"@biomejs/biome": "^2.4.15",
|
|
"@types/node": "^25.8.0",
|
|
"drizzle-kit": "^0.31.10",
|
|
"typescript": "^6.0.3"
|
|
}
|
|
}
|