From 45d0fa8cd7ff6364f1c16f6116a8cf447d85b0a4 Mon Sep 17 00:00:00 2001
From: Richard Fontein <32132657+rifont@users.noreply.github.com>
Date: Tue, 8 Oct 2024 09:35:54 +0200
Subject: [PATCH 01/14] feat(nest): add NestJS support to framework
---
packages/framework/package.json | 10 +++
packages/framework/src/handler.ts | 2 +-
packages/framework/src/servers/nest.ts | 5 ++
.../src/servers/nest/nest.constants.ts | 3 +
.../src/servers/nest/nest.controller.ts | 15 +++++
.../src/servers/nest/nest.decorator.ts | 25 +++++++
.../framework/src/servers/nest/nest.module.ts | 61 +++++++++++++++++
.../src/servers/nest/nest.service.ts | 65 +++++++++++++++++++
packages/framework/src/types/server.types.ts | 2 +-
packages/framework/tsconfig.json | 1 +
packages/framework/tsup.config.ts | 2 +-
11 files changed, 188 insertions(+), 3 deletions(-)
create mode 100644 packages/framework/src/servers/nest.ts
create mode 100644 packages/framework/src/servers/nest/nest.constants.ts
create mode 100644 packages/framework/src/servers/nest/nest.controller.ts
create mode 100644 packages/framework/src/servers/nest/nest.decorator.ts
create mode 100644 packages/framework/src/servers/nest/nest.module.ts
create mode 100644 packages/framework/src/servers/nest/nest.service.ts
diff --git a/packages/framework/package.json b/packages/framework/package.json
index 1550433765e..56be9989b53 100644
--- a/packages/framework/package.json
+++ b/packages/framework/package.json
@@ -60,6 +60,11 @@
"import": "./dist/servers/express.js",
"types": "./dist/servers/express.d.ts"
},
+ "./nest": {
+ "require": "./dist/servers/nest.js",
+ "import": "./dist/servers/nest.js",
+ "types": "./dist/servers/nest.d.ts"
+ },
"./next": {
"require": "./dist/servers/next.js",
"import": "./dist/servers/next.js",
@@ -92,6 +97,7 @@
}
},
"peerDependencies": {
+ "@nestjs/common": ">=10.0.0",
"@sveltejs/kit": ">=1.27.3",
"@vercel/node": ">=2.15.9",
"aws-lambda": ">=1.0.7",
@@ -102,6 +108,9 @@
"zod-to-json-schema": ">=3.0.0"
},
"peerDependenciesMeta": {
+ "@nestjs/common": {
+ "optional": true
+ },
"@sveltejs/kit": {
"optional": true
},
@@ -132,6 +141,7 @@
},
"devDependencies": {
"@apidevtools/json-schema-ref-parser": "11.6.4",
+ "@nestjs/common": "10.4.1",
"@sveltejs/kit": "^1.27.3",
"@types/aws-lambda": "^8.10.141",
"@types/express": "^4.17.13",
diff --git a/packages/framework/src/handler.ts b/packages/framework/src/handler.ts
index 50d2dc86cc3..ed821f7716d 100644
--- a/packages/framework/src/handler.ts
+++ b/packages/framework/src/handler.ts
@@ -132,7 +132,7 @@ export class NovuRequestHandler {
private async handleAction({ actions }: { actions: HandlerResponse