UNPKG

@h4ad/serverless-adapter

Version:

Run REST APIs and other web applications using your existing Node.js application framework (NestJS, Express, Koa, Hapi, Fastify and many others), on top of AWS, Azure, Digital Ocean and many other clouds.

807 lines (806 loc) 24 kB
{ "name": "@h4ad/serverless-adapter", "version": "4.4.0", "description": "Run REST APIs and other web applications using your existing Node.js application framework (NestJS, Express, Koa, Hapi, Fastify and many others), on top of AWS, Azure, Digital Ocean and many other clouds.", "type": "module", "main": "./lib/index.cjs", "module": "./lib/index.mjs", "types": "./lib/index.d.ts", "files": [ "lib/**/*" ], "scripts": { "prepare": "husky install", "build": "tsup", "build:docs": "tsc -p tsconfig.doc.json", "clean": "rm -rf ./lib/", "cm": "cz", "lint": "eslint ./src/ ./test/ --fix", "docs:generate": "npm run docs:generate:parsing && npm run docs:generate:markdown && npm run docs:generate:api-pages", "docs:generate:parsing": "npm run build:docs && npx tsx scripts/parse-docs.ts", "docs:generate:markdown": "npx tsx ./scripts/generate-markdown.ts", "docs:generate:api-pages": "npx tsx ./scripts/generate-api-pages.ts", "test:watch": "vitest --watch", "test": "vitest --run --coverage", "typecheck": "tsc --noEmit" }, "repository": { "type": "git", "url": "git+https://github.com/H4ad/serverless-adapter.git" }, "license": "MIT", "author": { "name": "Vinícius Lourenço", "email": "H4ad@users.noreply.github.com", "url": "https://github.com/H4ad" }, "engines": { "node": ">=18.0.0" }, "keywords": [ "aws", "serverless", "api gateway", "sqs", "sns", "lambda edge", "alb", "lambda", "lambda streaming", "response streaming", "apollo server", "express", "koa", "hapi", "fastify", "node.js", "http", "huawei", "functiongraph", "trpc", "azure", "azure functions", "http trigger v4", "firebase", "firebase functions", "firebase http events", "deepkit", "deepkit http", "digital ocean", "digital ocean functions", "digital ocean serverless", "gcp", "google cloud functions", "polka" ], "bugs": { "url": "https://github.com/H4ad/serverless-adapter/issues" }, "homepage": "https://github.com/H4ad/serverless-adapter#readme", "devDependencies": { "@apollo/server": "4.10.0", "@azure/functions": "3.5.1", "@deepkit/app": "1.0.1-alpha.155", "@deepkit/core": "1.0.1-alpha.154", "@deepkit/framework": "1.0.1-alpha.155", "@deepkit/http": "1.0.1-alpha.155", "@deepkit/injector": "1.0.1-alpha.155", "@deepkit/logger": "1.0.1-alpha.155", "@deepkit/stopwatch": "1.0.1-alpha.155", "@deepkit/type": "1.0.1-alpha.155", "@deepkit/workflow": "1.0.1-alpha.155", "@google-cloud/functions-framework": "3.4.2", "@hapi/hapi": "21.3.2", "@microsoft/api-documenter": "7.26.0", "@microsoft/api-extractor": "7.48.0", "@microsoft/api-extractor-model": "7.30.0", "@microsoft/tsdoc": "0.15.1", "@rushstack/node-core-library": "5.10.0", "@trpc/server": "10.45.2", "@types/aws-lambda": "8.10.146", "@types/body-parser": "1.19.5", "@types/cors": "2.8.17", "@types/express": "4.17.21", "@types/koa": "2.15.0", "@types/node": "18.19.67", "@types/polka": "0.5.7", "@types/supertest": "6.0.2", "@typescript-eslint/eslint-plugin": "6.21.0", "@typescript-eslint/parser": "6.21.0", "@vitest/coverage-v8": "2.1.6", "body-parser": "1.20.3", "body-parser-v2": "npm:body-parser@2", "commitizen": "4.3.0", "cors": "2.8.5", "cz-conventional-changelog": "3.3.0", "esbuild": "0.24.0", "eslint": "8.57.1", "eslint-config-prettier": "9.1.0", "eslint-plugin-import": "2.31.0", "eslint-plugin-node": "11.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-tsdoc": "0.4.0", "express": "4.21.1", "express-v5": "npm:express@5", "fastify": "4.28.1", "fastify-v5": "npm:fastify@5", "firebase-admin": "11.11.1", "firebase-functions": "4.5.0", "firebase-functions-v5": "npm:firebase-functions@5", "firebase-functions-v6": "npm:firebase-functions@6", "glob": "10.4.5", "husky": "8.0.3", "koa": "2.15.3", "polka": "0.5.2", "prettier": "3.4.1", "stream-mock": "2.0.5", "supertest": "6.3.4", "ts-node": "10.9.2", "tsup": "8.3.5", "typedoc": "0.27.2", "typescript": "~5.3.3", "vite": "6.0.1", "vitest": "2.1.6" }, "peerDependencies": { "@apollo/server": ">= 4.0.0", "@azure/functions": ">= 2.0.0", "@deepkit/http": ">= 1.0.1-alpha.94", "@google-cloud/functions-framework": ">= 3.0.0", "@hapi/hapi": ">= 21.0.0", "@trpc/server": ">= 10.0.0", "@types/aws-lambda": ">= 8.10.92", "@types/body-parser": ">= 1.19.2", "@types/cors": ">= 2.8.12", "@types/express": ">= 4.15.4", "@types/koa": ">= 2.11.2", "body-parser": ">= 1.20.0", "cors": ">= 2.8.5", "express": ">= 4.15.4", "fastify": ">= 4.0.0", "firebase-admin": ">= 11.0.0", "firebase-functions": ">= 4.0.0", "http-errors": ">= 2.0.0", "koa": ">= 2.5.1", "reflect-metadata": ">= 0.1.13" }, "peerDependenciesMeta": { "@apollo/server": { "optional": true }, "@azure/functions": { "optional": true }, "@deepkit/http": { "optional": true }, "@google-cloud/functions-framework": { "optional": true }, "@hapi/hapi": { "optional": true }, "@trpc/server": { "optional": true }, "@types/aws-lambda": { "optional": true }, "@types/express": { "optional": true }, "@types/hapi": { "optional": true }, "@types/koa": { "optional": true }, "body-parser": { "optional": true }, "cors": { "optional": true }, "express": { "optional": true }, "fastify": { "optional": true }, "firebase-admin": { "optional": true }, "firebase-functions": { "optional": true }, "http-errors": { "optional": true }, "koa": { "optional": true }, "reflect-metadata": { "optional": true } }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } }, "publishConfig": { "access": "public" }, "exports": { ".": { "import": { "types": "./lib/index.d.ts", "default": "./lib/index.mjs" }, "require": { "types": "./lib/index.d.cts", "default": "./lib/index.cjs" } }, "./adapters/apollo-server": { "import": { "types": "./lib/adapters/apollo-server/index.d.ts", "default": "./lib/adapters/apollo-server/index.mjs" }, "require": { "types": "./lib/adapters/apollo-server/index.d.cts", "default": "./lib/adapters/apollo-server/index.cjs" } }, "./lib/adapters/apollo-server": { "import": { "types": "./lib/adapters/apollo-server/index.d.ts", "default": "./lib/adapters/apollo-server/index.mjs" }, "require": { "types": "./lib/adapters/apollo-server/index.d.cts", "default": "./lib/adapters/apollo-server/index.cjs" } }, "./adapters/aws": { "import": { "types": "./lib/adapters/aws/index.d.ts", "default": "./lib/adapters/aws/index.mjs" }, "require": { "types": "./lib/adapters/aws/index.d.cts", "default": "./lib/adapters/aws/index.cjs" } }, "./lib/adapters/aws": { "import": { "types": "./lib/adapters/aws/index.d.ts", "default": "./lib/adapters/aws/index.mjs" }, "require": { "types": "./lib/adapters/aws/index.d.cts", "default": "./lib/adapters/aws/index.cjs" } }, "./adapters/azure": { "import": { "types": "./lib/adapters/azure/index.d.ts", "default": "./lib/adapters/azure/index.mjs" }, "require": { "types": "./lib/adapters/azure/index.d.cts", "default": "./lib/adapters/azure/index.cjs" } }, "./lib/adapters/azure": { "import": { "types": "./lib/adapters/azure/index.d.ts", "default": "./lib/adapters/azure/index.mjs" }, "require": { "types": "./lib/adapters/azure/index.d.cts", "default": "./lib/adapters/azure/index.cjs" } }, "./adapters/digital-ocean": { "import": { "types": "./lib/adapters/digital-ocean/index.d.ts", "default": "./lib/adapters/digital-ocean/index.mjs" }, "require": { "types": "./lib/adapters/digital-ocean/index.d.cts", "default": "./lib/adapters/digital-ocean/index.cjs" } }, "./lib/adapters/digital-ocean": { "import": { "types": "./lib/adapters/digital-ocean/index.d.ts", "default": "./lib/adapters/digital-ocean/index.mjs" }, "require": { "types": "./lib/adapters/digital-ocean/index.d.cts", "default": "./lib/adapters/digital-ocean/index.cjs" } }, "./adapters/dummy": { "import": { "types": "./lib/adapters/dummy/index.d.ts", "default": "./lib/adapters/dummy/index.mjs" }, "require": { "types": "./lib/adapters/dummy/index.d.cts", "default": "./lib/adapters/dummy/index.cjs" } }, "./lib/adapters/dummy": { "import": { "types": "./lib/adapters/dummy/index.d.ts", "default": "./lib/adapters/dummy/index.mjs" }, "require": { "types": "./lib/adapters/dummy/index.d.cts", "default": "./lib/adapters/dummy/index.cjs" } }, "./adapters/huawei": { "import": { "types": "./lib/adapters/huawei/index.d.ts", "default": "./lib/adapters/huawei/index.mjs" }, "require": { "types": "./lib/adapters/huawei/index.d.cts", "default": "./lib/adapters/huawei/index.cjs" } }, "./lib/adapters/huawei": { "import": { "types": "./lib/adapters/huawei/index.d.ts", "default": "./lib/adapters/huawei/index.mjs" }, "require": { "types": "./lib/adapters/huawei/index.d.cts", "default": "./lib/adapters/huawei/index.cjs" } }, "./frameworks/apollo-server": { "import": { "types": "./lib/frameworks/apollo-server/index.d.ts", "default": "./lib/frameworks/apollo-server/index.mjs" }, "require": { "types": "./lib/frameworks/apollo-server/index.d.cts", "default": "./lib/frameworks/apollo-server/index.cjs" } }, "./lib/frameworks/apollo-server": { "import": { "types": "./lib/frameworks/apollo-server/index.d.ts", "default": "./lib/frameworks/apollo-server/index.mjs" }, "require": { "types": "./lib/frameworks/apollo-server/index.d.cts", "default": "./lib/frameworks/apollo-server/index.cjs" } }, "./frameworks/body-parser": { "import": { "types": "./lib/frameworks/body-parser/index.d.ts", "default": "./lib/frameworks/body-parser/index.mjs" }, "require": { "types": "./lib/frameworks/body-parser/index.d.cts", "default": "./lib/frameworks/body-parser/index.cjs" } }, "./lib/frameworks/body-parser": { "import": { "types": "./lib/frameworks/body-parser/index.d.ts", "default": "./lib/frameworks/body-parser/index.mjs" }, "require": { "types": "./lib/frameworks/body-parser/index.d.cts", "default": "./lib/frameworks/body-parser/index.cjs" } }, "./frameworks/cors": { "import": { "types": "./lib/frameworks/cors/index.d.ts", "default": "./lib/frameworks/cors/index.mjs" }, "require": { "types": "./lib/frameworks/cors/index.d.cts", "default": "./lib/frameworks/cors/index.cjs" } }, "./lib/frameworks/cors": { "import": { "types": "./lib/frameworks/cors/index.d.ts", "default": "./lib/frameworks/cors/index.mjs" }, "require": { "types": "./lib/frameworks/cors/index.d.cts", "default": "./lib/frameworks/cors/index.cjs" } }, "./frameworks/deepkit": { "import": { "types": "./lib/frameworks/deepkit/index.d.ts", "default": "./lib/frameworks/deepkit/index.mjs" }, "require": { "types": "./lib/frameworks/deepkit/index.d.cts", "default": "./lib/frameworks/deepkit/index.cjs" } }, "./lib/frameworks/deepkit": { "import": { "types": "./lib/frameworks/deepkit/index.d.ts", "default": "./lib/frameworks/deepkit/index.mjs" }, "require": { "types": "./lib/frameworks/deepkit/index.d.cts", "default": "./lib/frameworks/deepkit/index.cjs" } }, "./frameworks/express": { "import": { "types": "./lib/frameworks/express/index.d.ts", "default": "./lib/frameworks/express/index.mjs" }, "require": { "types": "./lib/frameworks/express/index.d.cts", "default": "./lib/frameworks/express/index.cjs" } }, "./lib/frameworks/express": { "import": { "types": "./lib/frameworks/express/index.d.ts", "default": "./lib/frameworks/express/index.mjs" }, "require": { "types": "./lib/frameworks/express/index.d.cts", "default": "./lib/frameworks/express/index.cjs" } }, "./frameworks/fastify": { "import": { "types": "./lib/frameworks/fastify/index.d.ts", "default": "./lib/frameworks/fastify/index.mjs" }, "require": { "types": "./lib/frameworks/fastify/index.d.cts", "default": "./lib/frameworks/fastify/index.cjs" } }, "./lib/frameworks/fastify": { "import": { "types": "./lib/frameworks/fastify/index.d.ts", "default": "./lib/frameworks/fastify/index.mjs" }, "require": { "types": "./lib/frameworks/fastify/index.d.cts", "default": "./lib/frameworks/fastify/index.cjs" } }, "./frameworks/hapi": { "import": { "types": "./lib/frameworks/hapi/index.d.ts", "default": "./lib/frameworks/hapi/index.mjs" }, "require": { "types": "./lib/frameworks/hapi/index.d.cts", "default": "./lib/frameworks/hapi/index.cjs" } }, "./lib/frameworks/hapi": { "import": { "types": "./lib/frameworks/hapi/index.d.ts", "default": "./lib/frameworks/hapi/index.mjs" }, "require": { "types": "./lib/frameworks/hapi/index.d.cts", "default": "./lib/frameworks/hapi/index.cjs" } }, "./frameworks/koa": { "import": { "types": "./lib/frameworks/koa/index.d.ts", "default": "./lib/frameworks/koa/index.mjs" }, "require": { "types": "./lib/frameworks/koa/index.d.cts", "default": "./lib/frameworks/koa/index.cjs" } }, "./lib/frameworks/koa": { "import": { "types": "./lib/frameworks/koa/index.d.ts", "default": "./lib/frameworks/koa/index.mjs" }, "require": { "types": "./lib/frameworks/koa/index.d.cts", "default": "./lib/frameworks/koa/index.cjs" } }, "./frameworks/lazy": { "import": { "types": "./lib/frameworks/lazy/index.d.ts", "default": "./lib/frameworks/lazy/index.mjs" }, "require": { "types": "./lib/frameworks/lazy/index.d.cts", "default": "./lib/frameworks/lazy/index.cjs" } }, "./lib/frameworks/lazy": { "import": { "types": "./lib/frameworks/lazy/index.d.ts", "default": "./lib/frameworks/lazy/index.mjs" }, "require": { "types": "./lib/frameworks/lazy/index.d.cts", "default": "./lib/frameworks/lazy/index.cjs" } }, "./frameworks/polka": { "import": { "types": "./lib/frameworks/polka/index.d.ts", "default": "./lib/frameworks/polka/index.mjs" }, "require": { "types": "./lib/frameworks/polka/index.d.cts", "default": "./lib/frameworks/polka/index.cjs" } }, "./lib/frameworks/polka": { "import": { "types": "./lib/frameworks/polka/index.d.ts", "default": "./lib/frameworks/polka/index.mjs" }, "require": { "types": "./lib/frameworks/polka/index.d.cts", "default": "./lib/frameworks/polka/index.cjs" } }, "./frameworks/trpc": { "import": { "types": "./lib/frameworks/trpc/index.d.ts", "default": "./lib/frameworks/trpc/index.mjs" }, "require": { "types": "./lib/frameworks/trpc/index.d.cts", "default": "./lib/frameworks/trpc/index.cjs" } }, "./lib/frameworks/trpc": { "import": { "types": "./lib/frameworks/trpc/index.d.ts", "default": "./lib/frameworks/trpc/index.mjs" }, "require": { "types": "./lib/frameworks/trpc/index.d.cts", "default": "./lib/frameworks/trpc/index.cjs" } }, "./handlers/aws": { "import": { "types": "./lib/handlers/aws/index.d.ts", "default": "./lib/handlers/aws/index.mjs" }, "require": { "types": "./lib/handlers/aws/index.d.cts", "default": "./lib/handlers/aws/index.cjs" } }, "./lib/handlers/aws": { "import": { "types": "./lib/handlers/aws/index.d.ts", "default": "./lib/handlers/aws/index.mjs" }, "require": { "types": "./lib/handlers/aws/index.d.cts", "default": "./lib/handlers/aws/index.cjs" } }, "./handlers/azure": { "import": { "types": "./lib/handlers/azure/index.d.ts", "default": "./lib/handlers/azure/index.mjs" }, "require": { "types": "./lib/handlers/azure/index.d.cts", "default": "./lib/handlers/azure/index.cjs" } }, "./lib/handlers/azure": { "import": { "types": "./lib/handlers/azure/index.d.ts", "default": "./lib/handlers/azure/index.mjs" }, "require": { "types": "./lib/handlers/azure/index.d.cts", "default": "./lib/handlers/azure/index.cjs" } }, "./handlers/default": { "import": { "types": "./lib/handlers/default/index.d.ts", "default": "./lib/handlers/default/index.mjs" }, "require": { "types": "./lib/handlers/default/index.d.cts", "default": "./lib/handlers/default/index.cjs" } }, "./lib/handlers/default": { "import": { "types": "./lib/handlers/default/index.d.ts", "default": "./lib/handlers/default/index.mjs" }, "require": { "types": "./lib/handlers/default/index.d.cts", "default": "./lib/handlers/default/index.cjs" } }, "./handlers/digital-ocean": { "import": { "types": "./lib/handlers/digital-ocean/index.d.ts", "default": "./lib/handlers/digital-ocean/index.mjs" }, "require": { "types": "./lib/handlers/digital-ocean/index.d.cts", "default": "./lib/handlers/digital-ocean/index.cjs" } }, "./lib/handlers/digital-ocean": { "import": { "types": "./lib/handlers/digital-ocean/index.d.ts", "default": "./lib/handlers/digital-ocean/index.mjs" }, "require": { "types": "./lib/handlers/digital-ocean/index.d.cts", "default": "./lib/handlers/digital-ocean/index.cjs" } }, "./handlers/firebase": { "import": { "types": "./lib/handlers/firebase/index.d.ts", "default": "./lib/handlers/firebase/index.mjs" }, "require": { "types": "./lib/handlers/firebase/index.d.cts", "default": "./lib/handlers/firebase/index.cjs" } }, "./lib/handlers/firebase": { "import": { "types": "./lib/handlers/firebase/index.d.ts", "default": "./lib/handlers/firebase/index.mjs" }, "require": { "types": "./lib/handlers/firebase/index.d.cts", "default": "./lib/handlers/firebase/index.cjs" } }, "./handlers/gcp": { "import": { "types": "./lib/handlers/gcp/index.d.ts", "default": "./lib/handlers/gcp/index.mjs" }, "require": { "types": "./lib/handlers/gcp/index.d.cts", "default": "./lib/handlers/gcp/index.cjs" } }, "./lib/handlers/gcp": { "import": { "types": "./lib/handlers/gcp/index.d.ts", "default": "./lib/handlers/gcp/index.mjs" }, "require": { "types": "./lib/handlers/gcp/index.d.cts", "default": "./lib/handlers/gcp/index.cjs" } }, "./handlers/huawei": { "import": { "types": "./lib/handlers/huawei/index.d.ts", "default": "./lib/handlers/huawei/index.mjs" }, "require": { "types": "./lib/handlers/huawei/index.d.cts", "default": "./lib/handlers/huawei/index.cjs" } }, "./lib/handlers/huawei": { "import": { "types": "./lib/handlers/huawei/index.d.ts", "default": "./lib/handlers/huawei/index.mjs" }, "require": { "types": "./lib/handlers/huawei/index.d.cts", "default": "./lib/handlers/huawei/index.cjs" } }, "./resolvers/aws-context": { "import": { "types": "./lib/resolvers/aws-context/index.d.ts", "default": "./lib/resolvers/aws-context/index.mjs" }, "require": { "types": "./lib/resolvers/aws-context/index.d.cts", "default": "./lib/resolvers/aws-context/index.cjs" } }, "./lib/resolvers/aws-context": { "import": { "types": "./lib/resolvers/aws-context/index.d.ts", "default": "./lib/resolvers/aws-context/index.mjs" }, "require": { "types": "./lib/resolvers/aws-context/index.d.cts", "default": "./lib/resolvers/aws-context/index.cjs" } }, "./resolvers/callback": { "import": { "types": "./lib/resolvers/callback/index.d.ts", "default": "./lib/resolvers/callback/index.mjs" }, "require": { "types": "./lib/resolvers/callback/index.d.cts", "default": "./lib/resolvers/callback/index.cjs" } }, "./lib/resolvers/callback": { "import": { "types": "./lib/resolvers/callback/index.d.ts", "default": "./lib/resolvers/callback/index.mjs" }, "require": { "types": "./lib/resolvers/callback/index.d.cts", "default": "./lib/resolvers/callback/index.cjs" } }, "./resolvers/dummy": { "import": { "types": "./lib/resolvers/dummy/index.d.ts", "default": "./lib/resolvers/dummy/index.mjs" }, "require": { "types": "./lib/resolvers/dummy/index.d.cts", "default": "./lib/resolvers/dummy/index.cjs" } }, "./lib/resolvers/dummy": { "import": { "types": "./lib/resolvers/dummy/index.d.ts", "default": "./lib/resolvers/dummy/index.mjs" }, "require": { "types": "./lib/resolvers/dummy/index.d.cts", "default": "./lib/resolvers/dummy/index.cjs" } }, "./resolvers/promise": { "import": { "types": "./lib/resolvers/promise/index.d.ts", "default": "./lib/resolvers/promise/index.mjs" }, "require": { "types": "./lib/resolvers/promise/index.d.cts", "default": "./lib/resolvers/promise/index.cjs" } }, "./lib/resolvers/promise": { "import": { "types": "./lib/resolvers/promise/index.d.ts", "default": "./lib/resolvers/promise/index.mjs" }, "require": { "types": "./lib/resolvers/promise/index.d.cts", "default": "./lib/resolvers/promise/index.cjs" } } } }