pushduck
Version:
The fastest way to add file uploads to any web application. Enterprise security, edge-ready. Works with 16+ frameworks and 5+ storage providers. No heavy AWS SDK required.
199 lines (198 loc) ⢠5.09 kB
JSON
{
"name": "pushduck",
"version": "0.1.22",
"type": "module",
"author": "Abhay Ramesh",
"license": "MIT",
"description": "The fastest way to add file uploads to any web application. Enterprise security, edge-ready. Works with 16+ frameworks and 5+ storage providers. No heavy AWS SDK required.",
"repository": {
"type": "git",
"url": "https://github.com/abhay-ramesh/pushduck.git"
},
"homepage": "https://pushduck.dev",
"bugs": {
"url": "https://github.com/abhay-ramesh/pushduck/issues"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/abhay-ramesh"
},
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"module": "./dist/index.mjs",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./server": {
"types": "./dist/server.d.ts",
"import": "./dist/server.mjs",
"require": "./dist/server.js"
},
"./client": {
"types": "./dist/client.d.ts",
"import": "./dist/client.mjs",
"require": "./dist/client.js"
},
"./adapters": {
"types": "./dist/adapters/index.d.ts",
"import": "./dist/adapters/index.mjs",
"require": "./dist/adapters/index.js"
},
"./adapters/nextjs": {
"types": "./dist/adapters/nextjs.d.ts",
"import": "./dist/adapters/nextjs.mjs",
"require": "./dist/adapters/nextjs.js"
},
"./adapters/nextjs-pages": {
"types": "./dist/adapters/nextjs-pages.d.ts",
"import": "./dist/adapters/nextjs-pages.mjs",
"require": "./dist/adapters/nextjs-pages.js"
},
"./adapters/express": {
"types": "./dist/adapters/express.d.ts",
"import": "./dist/adapters/express.mjs",
"require": "./dist/adapters/express.js"
},
"./adapters/fastify": {
"types": "./dist/adapters/fastify.d.ts",
"import": "./dist/adapters/fastify.mjs",
"require": "./dist/adapters/fastify.js"
}
},
"files": [
"dist/**/*",
"README.md",
"CHANGELOG.md"
],
"scripts": {
"dev": "tsdown --watch",
"build": "tsdown",
"build:analyze": "pnpm build && pnpm bundle:analyze",
"bundle:analyze": "pnpm size-check && echo '\nš File Details:' && ls -la dist/",
"bundle:visualize": "npx esbuild-visualizer dist/index.js --open",
"size-check": "node scripts/size-check.js",
"lint": "eslint src",
"lint:fix": "eslint src --fix",
"type-check": "tsc --noEmit",
"test": "vitest",
"test:watch": "vitest --watch",
"test:coverage": "vitest --coverage",
"test:ui": "vitest --ui",
"clean": "rm -rf dist",
"prepublishOnly": "pnpm build",
"maintenance:health": "./scripts/health-check.sh",
"maintenance:deps": "./scripts/update-deps.sh"
},
"keywords": [
"file-upload",
"upload",
"s3",
"aws",
"cloudflare-r2",
"digitalocean-spaces",
"google-cloud-storage",
"minio",
"presigned-urls",
"nextjs",
"remix",
"sveltekit",
"nuxt",
"astro",
"react",
"nextjs app directory",
"nextjs app folder",
"nextjs 13 app directory file upload",
"aws",
"aws-s3",
"file-upload",
"multipart-upload",
"chunked-upload",
"typescript",
"express",
"hono",
"fastify",
"hono",
"elysia",
"framework-agnostic",
"edge-runtime",
"cloudflare-workers",
"vercel-edge",
"serverless",
"framework-agnostic",
"universal",
"enterprise-security",
"multipart-upload",
"chunked-upload",
"upload-library",
"web-development",
"backend",
"frontend"
],
"devDependencies": {
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.5.1",
"@types/express": "^5.0.3",
"@types/node": "^24.0.3",
"@types/react": "^19.1.8",
"@typescript-eslint/eslint-plugin": "^8.35.1",
"@typescript-eslint/parser": "^8.36.0",
"@vitejs/plugin-react": "^4.1.0",
"@vitest/coverage-v8": "^3.2.4",
"eslint": "^9.30.0",
"eslint-config-prettier": "^10.1.5",
"eslint-plugin-prettier": "^5.0.0",
"express": "^5.1.0",
"fastify": "^5.4.0",
"gzip-size-cli": "^5.1.0",
"happy-dom": "^18.0.1",
"next": "^15.3.4",
"prettier": "^3.6.2",
"react": "^19.1.0",
"tsdown": "^0.12.8",
"typescript": "^5.2.2",
"vitest": "^3.2.4",
"zod": "^4.0.5"
},
"peerDependencies": {
"@types/express": "*",
"express": ">=4.18.0",
"fastify": ">=4.0.0",
"next": ">=13.0.0",
"react": ">=18.0.0",
"zod": ">=3.20.0"
},
"peerDependenciesMeta": {
"zod": {
"optional": true
},
"next": {
"optional": true
},
"react": {
"optional": true
},
"express": {
"optional": true
},
"@types/express": {
"optional": true
},
"fastify": {
"optional": true
}
},
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=16.0.0",
"npm": ">=8.0.0"
},
"sideEffects": false,
"dependencies": {
"aws4fetch": "^1.0.20"
}
}