From d48f21d4a9c29340b20411c459c3d4cc340596da Mon Sep 17 00:00:00 2001 From: Sergei Yudin Date: Thu, 14 May 2026 10:56:35 +0300 Subject: [PATCH 01/34] fix(core): settle skipped provider initialization Fixes #16947 --- integration/injector/e2e/injector.spec.ts | 61 +++++++++++++++++++++++ packages/core/injector/injector.ts | 3 ++ 2 files changed, 64 insertions(+) diff --git a/integration/injector/e2e/injector.spec.ts b/integration/injector/e2e/injector.spec.ts index 5fd489676f..95f4ae798c 100644 --- a/integration/injector/e2e/injector.spec.ts +++ b/integration/injector/e2e/injector.spec.ts @@ -1,6 +1,8 @@ +import { Global, Injectable, Module, Scope } from '@nestjs/common'; import { RuntimeException } from '@nestjs/core/errors/exceptions/runtime.exception'; import { UnknownDependenciesException } from '@nestjs/core/errors/exceptions/unknown-dependencies.exception'; import { UnknownExportException } from '@nestjs/core/errors/exceptions/unknown-export.exception'; +import { NestFactory } from '@nestjs/core'; import { Test } from '@nestjs/testing'; import { expect } from 'chai'; import * as chai from 'chai'; @@ -21,6 +23,65 @@ import { chai.use(chaiAsPromised); describe('Injector', () => { + describe('when the same provider class is declared in multiple modules', () => { + it('should bootstrap when module-local provider instances have non-static dependency trees', async () => { + @Injectable() + class FirstGlobalDependency {} + + @Injectable() + class SecondGlobalDependency {} + + @Injectable({ scope: Scope.REQUEST }) + class RequestScopedDependency {} + + @Global() + @Module({ + providers: [FirstGlobalDependency, SecondGlobalDependency], + exports: [FirstGlobalDependency, SecondGlobalDependency], + }) + class GlobalDepsModule {} + + @Injectable() + class SharedService { + constructor( + public readonly firstDependency: FirstGlobalDependency, + public readonly secondDependency: SecondGlobalDependency, + public readonly requestScopedDependency: RequestScopedDependency, + ) {} + } + + @Module({ + providers: [SharedService, RequestScopedDependency], + exports: [SharedService], + }) + class ModuleA {} + + @Module({ + providers: [SharedService, RequestScopedDependency], + }) + class ModuleB {} + + @Module({ + imports: [GlobalDepsModule, ModuleA, ModuleB], + }) + class AppModule {} + + let timeout: NodeJS.Timeout; + const app = await Promise.race([ + NestFactory.create(AppModule, { logger: false }), + new Promise((_, reject) => { + timeout = setTimeout( + () => reject(new Error('Application initialization timed out')), + 1000, + ); + }), + ]); + clearTimeout(timeout!); + + await app.close(); + }); + }); + describe('when "providers" and "exports" properties are inconsistent', () => { it(`should fail with "UnknownExportException"`, async () => { try { diff --git a/packages/core/injector/injector.ts b/packages/core/injector/injector.ts index 62b383c879..defefc287d 100644 --- a/packages/core/injector/injector.ts +++ b/packages/core/injector/injector.ts @@ -208,6 +208,9 @@ export class Injector { localResolutionContext, resolutionContext.inquirer, ); + if (!instanceHost.isResolved) { + settlementSignal.complete(); + } } catch (err) { wrapper.removeInstanceByContextId( this.getContextId(resolutionContext.contextId, wrapper), From 983dd52c4927753be3421162fc43e4fde8d3fcde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 14 May 2026 10:58:07 +0200 Subject: [PATCH 02/34] chore(release): publish v11.1.21 release --- lerna.json | 2 +- packages/common/package.json | 2 +- packages/core/package.json | 4 ++-- packages/microservices/package.json | 6 +++--- packages/platform-express/package.json | 6 +++--- packages/platform-fastify/package.json | 2 +- packages/platform-socket.io/package.json | 2 +- packages/platform-ws/package.json | 2 +- packages/testing/package.json | 2 +- packages/websockets/package.json | 6 +++--- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lerna.json b/lerna.json index fba252b558..e517d668ce 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "packages": ["packages/*"], - "version": "11.1.20", + "version": "11.1.21", "$schema": "node_modules/lerna/schemas/lerna-schema.json" } diff --git a/packages/common/package.json b/packages/common/package.json index 6f592eb9c5..6aeb861751 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/common", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@common)", "author": "Kamil Mysliwiec", "homepage": "https://nestjs.com", diff --git a/packages/core/package.json b/packages/core/package.json index 5792f696af..88a99731ed 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/core", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@core)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -39,7 +39,7 @@ "uid": "2.0.2" }, "devDependencies": { - "@nestjs/common": "11.1.20" + "@nestjs/common": "11.1.21" }, "peerDependencies": { "@nestjs/common": "^11.0.0", diff --git a/packages/microservices/package.json b/packages/microservices/package.json index d81e0fb5da..37113cfd24 100644 --- a/packages/microservices/package.json +++ b/packages/microservices/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/microservices", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@microservices)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -22,8 +22,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20" + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21" }, "peerDependencies": { "@grpc/grpc-js": "*", diff --git a/packages/platform-express/package.json b/packages/platform-express/package.json index c494a65db7..0d17b90b6a 100644 --- a/packages/platform-express/package.json +++ b/packages/platform-express/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-express", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@platform-express)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -25,8 +25,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20" + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21" }, "peerDependencies": { "@nestjs/common": "^11.0.0", diff --git a/packages/platform-fastify/package.json b/packages/platform-fastify/package.json index ff58eb1501..a11267df62 100644 --- a/packages/platform-fastify/package.json +++ b/packages/platform-fastify/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-fastify", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/platform-socket.io/package.json b/packages/platform-socket.io/package.json index 4b73544a53..b7e4dc064f 100644 --- a/packages/platform-socket.io/package.json +++ b/packages/platform-socket.io/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-socket.io", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@platform-socket.io)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/platform-ws/package.json b/packages/platform-ws/package.json index 16e4d19f4b..e3932610d7 100644 --- a/packages/platform-ws/package.json +++ b/packages/platform-ws/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-ws", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@platform-ws)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/testing/package.json b/packages/testing/package.json index 4689f128bf..1c633d95fc 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/testing", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@testing)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/websockets/package.json b/packages/websockets/package.json index be7d4b8975..4c33fac2d0 100644 --- a/packages/websockets/package.json +++ b/packages/websockets/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/websockets", - "version": "11.1.20", + "version": "11.1.21", "description": "Nest - modern, fast, powerful node.js web framework (@websockets)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -18,8 +18,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20" + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21" }, "peerDependencies": { "@nestjs/common": "^11.0.0", From 15927f39a3f80d846369d49d749562e873b3caa7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 14:00:07 +0000 Subject: [PATCH 03/34] fix(deps): update nest monorepo to v11.1.21 --- sample/01-cats-app/package.json | 8 +++---- sample/02-gateways/package.json | 12 +++++----- sample/03-microservices/package.json | 10 ++++---- sample/04-grpc/package.json | 10 ++++---- sample/05-sql-typeorm/package.json | 8 +++---- sample/06-mongoose/package.json | 8 +++---- sample/07-sequelize/package.json | 8 +++---- sample/08-webpack/package.json | 6 ++--- sample/09-babel-example/package.json | 12 +++++----- sample/10-fastify/package.json | 8 +++---- sample/11-swagger/package.json | 8 +++---- sample/12-graphql-schema-first/package.json | 8 +++---- sample/13-mongo-typeorm/package.json | 8 +++---- sample/14-mongoose-base/package.json | 8 +++---- sample/15-mvc/package.json | 8 +++---- sample/16-gateways-ws/package.json | 12 +++++----- sample/17-mvc-fastify/package.json | 8 +++---- sample/18-context/package.json | 4 ++-- sample/19-auth-jwt/package.json | 8 +++---- sample/20-cache/package.json | 8 +++---- sample/21-serializer/package.json | 8 +++---- sample/22-graphql-prisma/package.json | 8 +++---- sample/23-graphql-code-first/package.json | 8 +++---- sample/24-serve-static/package.json | 8 +++---- sample/25-dynamic-modules/package.json | 8 +++---- sample/26-queues/package.json | 8 +++---- sample/27-scheduling/package.json | 8 +++---- sample/28-sse/package.json | 8 +++---- sample/29-file-upload/package.json | 8 +++---- sample/30-event-emitter/package.json | 8 +++---- .../gateway/package.json | 8 +++---- .../posts-application/package.json | 8 +++---- .../users-application/package.json | 8 +++---- .../gateway/package.json | 8 +++---- .../posts-application/package.json | 8 +++---- .../users-application/package.json | 8 +++---- sample/33-graphql-mercurius/package.json | 8 +++---- sample/36-hmr-esm/package.json | 8 +++---- tools/benchmarks/package-lock.json | 24 +++++++++---------- 39 files changed, 169 insertions(+), 169 deletions(-) diff --git a/sample/01-cats-app/package.json b/sample/01-cats-app/package.json index aaa75dfda4..af56a73129 100644 --- a/sample/01-cats-app/package.json +++ b/sample/01-cats-app/package.json @@ -19,9 +19,9 @@ "test:e2e": "jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/02-gateways/package.json b/sample/02-gateways/package.json index db56d9560c..7ab5ebbf59 100644 --- a/sample/02-gateways/package.json +++ b/sample/02-gateways/package.json @@ -19,11 +19,11 @@ "test:e2e": "jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", - "@nestjs/platform-socket.io": "11.1.20", - "@nestjs/websockets": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-socket.io": "11.1.21", + "@nestjs/websockets": "11.1.21", "@socket.io/redis-adapter": "8.3.0", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -37,7 +37,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/03-microservices/package.json b/sample/03-microservices/package.json index e7aa436e3f..491446e754 100644 --- a/sample/03-microservices/package.json +++ b/sample/03-microservices/package.json @@ -19,10 +19,10 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/microservices": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/microservices": "11.1.21", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/amqplib": "0.10.8", "@types/express": "5.0.6", "@types/node": "24.12.4", diff --git a/sample/04-grpc/package.json b/sample/04-grpc/package.json index 4da15bb6e2..f6f5328903 100644 --- a/sample/04-grpc/package.json +++ b/sample/04-grpc/package.json @@ -21,10 +21,10 @@ "dependencies": { "@grpc/grpc-js": "1.14.3", "@grpc/reflection": "1.0.4", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/microservices": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/microservices": "11.1.21", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/05-sql-typeorm/package.json b/sample/05-sql-typeorm/package.json index cbf6907e59..275456ff9d 100644 --- a/sample/05-sql-typeorm/package.json +++ b/sample/05-sql-typeorm/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "@nestjs/typeorm": "11.0.1", "mysql2": "3.22.3", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/06-mongoose/package.json b/sample/06-mongoose/package.json index e8d5cd9452..cf5e1bab15 100644 --- a/sample/06-mongoose/package.json +++ b/sample/06-mongoose/package.json @@ -19,10 +19,10 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/mongoose": "11.0.4", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "mongoose": "9.6.2", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/07-sequelize/package.json b/sample/07-sequelize/package.json index 486b556b29..8594bd7064 100644 --- a/sample/07-sequelize/package.json +++ b/sample/07-sequelize/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "@nestjs/sequelize": "11.0.1", "mysql2": "3.22.3", "reflect-metadata": "0.2.2", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/08-webpack/package.json b/sample/08-webpack/package.json index 3046db8eac..236129a33e 100644 --- a/sample/08-webpack/package.json +++ b/sample/08-webpack/package.json @@ -12,9 +12,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "reflect-metadata": "0.2.2", "rxjs": "7.8.2", "typescript": "5.9.3" diff --git a/sample/09-babel-example/package.json b/sample/09-babel-example/package.json index ad134f2cf3..3cbf54cfe6 100644 --- a/sample/09-babel-example/package.json +++ b/sample/09-babel-example/package.json @@ -13,11 +13,11 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", - "@nestjs/microservices": "11.1.20", - "@nestjs/websockets": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", + "@nestjs/microservices": "11.1.21", + "@nestjs/websockets": "11.1.21", "reflect-metadata": "0.2.2", "rxjs": "7.8.2" }, @@ -30,7 +30,7 @@ "@babel/preset-env": "7.29.5", "@babel/register": "7.29.3", "@babel/runtime": "7.29.2", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "jest": "30.4.2", "nodemon": "3.1.14", "prettier": "3.8.3", diff --git a/sample/10-fastify/package.json b/sample/10-fastify/package.json index 1f10981faa..f840917f32 100644 --- a/sample/10-fastify/package.json +++ b/sample/10-fastify/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-fastify": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-fastify": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/node": "24.12.4", "@types/supertest": "7.2.0", "eslint": "9.39.4", diff --git a/sample/11-swagger/package.json b/sample/11-swagger/package.json index a686ffdfcc..70c6942506 100644 --- a/sample/11-swagger/package.json +++ b/sample/11-swagger/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "@nestjs/swagger": "11.4.2", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/12-graphql-schema-first/package.json b/sample/12-graphql-schema-first/package.json index 2dc68383fe..015607f95b 100644 --- a/sample/12-graphql-schema-first/package.json +++ b/sample/12-graphql-schema-first/package.json @@ -22,10 +22,10 @@ "@apollo/server": "5.5.1", "@graphql-tools/utils": "11.1.0", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "graphql": "16.10.0", @@ -39,7 +39,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/13-mongo-typeorm/package.json b/sample/13-mongo-typeorm/package.json index 9afe096943..3d6202dba7 100644 --- a/sample/13-mongo-typeorm/package.json +++ b/sample/13-mongo-typeorm/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "@nestjs/typeorm": "11.0.1", "mongodb": "7.2.0", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/14-mongoose-base/package.json b/sample/14-mongoose-base/package.json index b51fa95a2e..87806f8a64 100644 --- a/sample/14-mongoose-base/package.json +++ b/sample/14-mongoose-base/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "mongoose": "9.6.2", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/15-mvc/package.json b/sample/15-mvc/package.json index a38771dcf3..c6817f7872 100644 --- a/sample/15-mvc/package.json +++ b/sample/15-mvc/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "hbs": "4.2.1", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/16-gateways-ws/package.json b/sample/16-gateways-ws/package.json index b0c3be4942..0b7ce4c619 100644 --- a/sample/16-gateways-ws/package.json +++ b/sample/16-gateways-ws/package.json @@ -19,11 +19,11 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", - "@nestjs/platform-ws": "11.1.20", - "@nestjs/websockets": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-ws": "11.1.21", + "@nestjs/websockets": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "rimraf": "6.1.3", @@ -37,7 +37,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/17-mvc-fastify/package.json b/sample/17-mvc-fastify/package.json index 2fa75825f7..1c814b85ec 100644 --- a/sample/17-mvc-fastify/package.json +++ b/sample/17-mvc-fastify/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-fastify": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-fastify": "11.1.21", "@fastify/static": "9.1.3", "handlebars": "4.7.9", "@fastify/view": "11.1.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/18-context/package.json b/sample/18-context/package.json index 3597565e78..4bd61ff1cf 100644 --- a/sample/18-context/package.json +++ b/sample/18-context/package.json @@ -19,8 +19,8 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" diff --git a/sample/19-auth-jwt/package.json b/sample/19-auth-jwt/package.json index ef61341adc..c722fa740e 100644 --- a/sample/19-auth-jwt/package.json +++ b/sample/19-auth-jwt/package.json @@ -20,11 +20,11 @@ "test:e2e": "jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/jwt": "11.0.2", "@nestjs/passport": "11.0.5", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/20-cache/package.json b/sample/20-cache/package.json index 4b547873ae..4cae8d5ea8 100644 --- a/sample/20-cache/package.json +++ b/sample/20-cache/package.json @@ -20,9 +20,9 @@ }, "dependencies": { "@nestjs/cache-manager": "3.1.2", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "cache-manager": "7.2.8", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/21-serializer/package.json b/sample/21-serializer/package.json index d7414ccf10..3decd30716 100644 --- a/sample/21-serializer/package.json +++ b/sample/21-serializer/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/22-graphql-prisma/package.json b/sample/22-graphql-prisma/package.json index d5071d0c0b..044647f35c 100644 --- a/sample/22-graphql-prisma/package.json +++ b/sample/22-graphql-prisma/package.json @@ -22,10 +22,10 @@ "dependencies": { "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "@prisma/adapter-better-sqlite3": "7.8.0", "@prisma/client": "7.8.0", "class-transformer": "0.5.1", @@ -41,7 +41,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/23-graphql-code-first/package.json b/sample/23-graphql-code-first/package.json index c84fe67c84..6b7fc35157 100644 --- a/sample/23-graphql-code-first/package.json +++ b/sample/23-graphql-code-first/package.json @@ -21,10 +21,10 @@ "dependencies": { "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "graphql": "16.10.0", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/24-serve-static/package.json b/sample/24-serve-static/package.json index 0db89adf9c..9314b33af1 100644 --- a/sample/24-serve-static/package.json +++ b/sample/24-serve-static/package.json @@ -19,10 +19,10 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/serve-static": "5.0.5", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/25-dynamic-modules/package.json b/sample/25-dynamic-modules/package.json index bade057de8..a567be13c9 100644 --- a/sample/25-dynamic-modules/package.json +++ b/sample/25-dynamic-modules/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "dotenv": "17.4.2", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/26-queues/package.json b/sample/26-queues/package.json index 6612521196..1aeff26f45 100644 --- a/sample/26-queues/package.json +++ b/sample/26-queues/package.json @@ -20,9 +20,9 @@ }, "dependencies": { "@nestjs/bull": "11.0.4", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "bull": "4.16.5", "dotenv": "17.4.2", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/bull": "4.10.4", "@types/express": "5.0.6", "@types/jest": "30.0.0", diff --git a/sample/27-scheduling/package.json b/sample/27-scheduling/package.json index 8050afc34d..792b46cf16 100644 --- a/sample/27-scheduling/package.json +++ b/sample/27-scheduling/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "@nestjs/schedule": "6.1.3", "dotenv": "17.4.2", "reflect-metadata": "0.2.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/bull": "4.10.4", "@types/express": "5.0.6", "@types/jest": "30.0.0", diff --git a/sample/28-sse/package.json b/sample/28-sse/package.json index 656b2081e7..d23eee651b 100644 --- a/sample/28-sse/package.json +++ b/sample/28-sse/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" @@ -31,7 +31,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/29-file-upload/package.json b/sample/29-file-upload/package.json index 4871405eac..3d44a60547 100644 --- a/sample/29-file-upload/package.json +++ b/sample/29-file-upload/package.json @@ -19,9 +19,9 @@ "test:e2e": "NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/multer": "2.1.0", diff --git a/sample/30-event-emitter/package.json b/sample/30-event-emitter/package.json index cb8fd0b4e7..ec213693c5 100644 --- a/sample/30-event-emitter/package.json +++ b/sample/30-event-emitter/package.json @@ -19,10 +19,10 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/event-emitter": "3.1.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/gateway/package.json b/sample/31-graphql-federation-code-first/gateway/package.json index bde722a8b1..d1b85b724d 100644 --- a/sample/31-graphql-federation-code-first/gateway/package.json +++ b/sample/31-graphql-federation-code-first/gateway/package.json @@ -22,10 +22,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/posts-application/package.json b/sample/31-graphql-federation-code-first/posts-application/package.json index 99f2589317..1cdcdb77d0 100644 --- a/sample/31-graphql-federation-code-first/posts-application/package.json +++ b/sample/31-graphql-federation-code-first/posts-application/package.json @@ -24,10 +24,10 @@ "@apollo/server": "5.5.1", "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/users-application/package.json b/sample/31-graphql-federation-code-first/users-application/package.json index 01d8a27958..92ef737ae0 100644 --- a/sample/31-graphql-federation-code-first/users-application/package.json +++ b/sample/31-graphql-federation-code-first/users-application/package.json @@ -23,10 +23,10 @@ "@apollo/server": "5.5.1", "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -39,7 +39,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/gateway/package.json b/sample/32-graphql-federation-schema-first/gateway/package.json index 9f5babccf8..5e092a0eba 100644 --- a/sample/32-graphql-federation-schema-first/gateway/package.json +++ b/sample/32-graphql-federation-schema-first/gateway/package.json @@ -24,10 +24,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "^5.0.0", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/posts-application/package.json b/sample/32-graphql-federation-schema-first/posts-application/package.json index d1265af516..5cb0e3db64 100644 --- a/sample/32-graphql-federation-schema-first/posts-application/package.json +++ b/sample/32-graphql-federation-schema-first/posts-application/package.json @@ -25,10 +25,10 @@ "@apollo/server": "^5.0.0", "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -41,7 +41,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/users-application/package.json b/sample/32-graphql-federation-schema-first/users-application/package.json index 69505887a2..fe75ce6816 100644 --- a/sample/32-graphql-federation-schema-first/users-application/package.json +++ b/sample/32-graphql-federation-schema-first/users-application/package.json @@ -24,10 +24,10 @@ "@apollo/server": "^5.0.0", "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.0", - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", - "@nestjs/platform-express": "11.1.20", + "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/33-graphql-mercurius/package.json b/sample/33-graphql-mercurius/package.json index e9cd54ad30..afe2a891cb 100644 --- a/sample/33-graphql-mercurius/package.json +++ b/sample/33-graphql-mercurius/package.json @@ -19,11 +19,11 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", "@nestjs/graphql": "13.4.0", "@nestjs/mercurius": "13.4.0", - "@nestjs/platform-fastify": "11.1.20", + "@nestjs/platform-fastify": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "graphql": "16.10.0", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/36-hmr-esm/package.json b/sample/36-hmr-esm/package.json index 76fcfb8802..f77c65a3ab 100644 --- a/sample/36-hmr-esm/package.json +++ b/sample/36-hmr-esm/package.json @@ -21,9 +21,9 @@ "test:e2e": "jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.20", - "@nestjs/core": "11.1.20", - "@nestjs/platform-express": "11.1.20", + "@nestjs/common": "11.1.21", + "@nestjs/core": "11.1.21", + "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.20", + "@nestjs/testing": "11.1.21", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/tools/benchmarks/package-lock.json b/tools/benchmarks/package-lock.json index fbb966bafe..065916d3ba 100644 --- a/tools/benchmarks/package-lock.json +++ b/tools/benchmarks/package-lock.json @@ -223,9 +223,9 @@ } }, "node_modules/@nestjs/common": { - "version": "11.1.20", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.20.tgz", - "integrity": "sha512-uivaQnTwnfnW1cam8rlh9Xpxvvq+9zKs5ywHWtHRHu1CSQ2FnsLvDewP9Ybhyuf6l075BXKgbixxyW9OKZGpmA==", + "version": "11.1.21", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.21.tgz", + "integrity": "sha512-YV1HYDGsm2rnR0vrLKidtrG6jYX5yqiIjeur1j8++dKGqhhsJ6cjMs0RfQRSTUH7IjgDemA59/znQ8nRrE0D9g==", "license": "MIT", "dependencies": { "file-type": "21.3.4", @@ -254,9 +254,9 @@ } }, "node_modules/@nestjs/core": { - "version": "11.1.20", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.20.tgz", - "integrity": "sha512-RlaeQctEtSNrc3SxwQDnAxv/R22ww2t5dbP8OMzaghXofUPRCe2dXhXZSlKMkCyCSEWX+tMhESlGRB5rcJhYTQ==", + "version": "11.1.21", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.21.tgz", + "integrity": "sha512-fqo0BHgny3MOuAL8GSfG3ZUKFVVBaBQD/0iyibnwTONT5vPexjQxJzu+945iloVvBDmrnAaRWxC1gqCDEs/AXQ==", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -295,9 +295,9 @@ } }, "node_modules/@nestjs/platform-express": { - "version": "11.1.20", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.20.tgz", - "integrity": "sha512-HFJ/bf189AGziCp7o9DPdPEgj7LXvCWswR3hBNiVCIo3SwOwTIss1BsQWCCJVAtVYTmwIHOI0i0k9dMGXh3Hew==", + "version": "11.1.21", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.21.tgz", + "integrity": "sha512-lA3ViycOnz4Df3EstIKpuAVFhqxQixTnjAVk0M+LRyNBlGM6VSCaNJaAIrb9Pcry39T4hTHpNVbRqGLSvhL8gA==", "license": "MIT", "dependencies": { "cors": "2.8.6", @@ -316,9 +316,9 @@ } }, "node_modules/@nestjs/platform-fastify": { - "version": "11.1.20", - "resolved": "https://registry.npmjs.org/@nestjs/platform-fastify/-/platform-fastify-11.1.20.tgz", - "integrity": "sha512-2dmSTnGisXEzzZ6NvdVwL43VRIfWe2v22tgyH/pD/6Qb6vj58Q8zp6nhU43uoxu2sgLOxq+9ZdS6izeUFJRcEQ==", + "version": "11.1.21", + "resolved": "https://registry.npmjs.org/@nestjs/platform-fastify/-/platform-fastify-11.1.21.tgz", + "integrity": "sha512-yjeAd3bE6lsAVjemR5qvKyzGZ4K0OmptXhwnsI7n2WyEBwMzzl15vAkcydmsoLOpHXmAeORIl0rQmaAff1n+pA==", "license": "MIT", "dependencies": { "@fastify/cors": "11.2.0", From fc53302a4189448e7e472f010e794cc4975cb5da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 18:10:12 +0000 Subject: [PATCH 04/34] chore(deps): update dependency @types/node to v25.8.0 --- package-lock.json | 92 ++++++++++++++++++++++++++++++++++++++++++----- package.json | 2 +- 2 files changed, 85 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9f2b6f98be..6efee3ff43 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,7 @@ "@types/gulp": "4.0.18", "@types/http-errors": "2.0.5", "@types/mocha": "10.0.10", - "@types/node": "25.7.0", + "@types/node": "25.8.0", "@types/sinon": "21.0.1", "@types/supertest": "7.2.0", "@types/ws": "8.18.1", @@ -3235,6 +3235,82 @@ } } }, + "node_modules/@nestjs/common": { + "version": "11.1.21", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.21.tgz", + "integrity": "sha512-YV1HYDGsm2rnR0vrLKidtrG6jYX5yqiIjeur1j8++dKGqhhsJ6cjMs0RfQRSTUH7IjgDemA59/znQ8nRrE0D9g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "file-type": "21.3.4", + "iterare": "1.2.1", + "load-esm": "1.0.3", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": ">=0.4.1", + "class-validator": ">=0.13.2", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/core": { + "version": "11.1.21", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.21.tgz", + "integrity": "sha512-fqo0BHgny3MOuAL8GSfG3ZUKFVVBaBQD/0iyibnwTONT5vPexjQxJzu+945iloVvBDmrnAaRWxC1gqCDEs/AXQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@nuxt/opencollective": "0.4.1", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "8.4.2", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0", + "@nestjs/websockets": "^11.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, "node_modules/@nestjs/graphql": { "version": "13.4.0", "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-13.4.0.tgz", @@ -5558,12 +5634,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.7.0.tgz", - "integrity": "sha512-z+pdZyxE+RTQE9AcboAZCb4otwcrvgHD+GlBpPgn0emDVt0ohrTMhAwlr2Wd9nZ+nihhYFxO2pThz3C5qSu2Eg==", + "version": "25.8.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.8.0.tgz", + "integrity": "sha512-TCFSk8IZh+iLX1xtksoBVtdmgL+1IX0fC9BeU4QqFSuNdN/K+HUlhqOzEmSYYpZUVsLYcPqc9KX+60iDuninSQ==", "license": "MIT", "dependencies": { - "undici-types": "~7.21.0" + "undici-types": ">=7.24.0 <7.24.7" } }, "node_modules/@types/normalize-package-data": { @@ -26144,9 +26220,9 @@ } }, "node_modules/undici-types": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.21.0.tgz", - "integrity": "sha512-w9IMgQrz4O0YN1LtB7K5P63vhlIOvC7opSmouCJ+ZywlPAlO9gIkJ+otk6LvGpAs2wg4econaCz3TvQ9xPoyuQ==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", "license": "MIT" }, "node_modules/union-value": { diff --git a/package.json b/package.json index bb9c30ece5..3e48ca9719 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "@types/gulp": "4.0.18", "@types/http-errors": "2.0.5", "@types/mocha": "10.0.10", - "@types/node": "25.7.0", + "@types/node": "25.8.0", "@types/sinon": "21.0.1", "@types/supertest": "7.2.0", "@types/ws": "8.18.1", From 325298d0e98d31d58bd081ec666fdd6cdd173d64 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 May 2026 09:01:38 +0000 Subject: [PATCH 05/34] fix(deps): update dependency @nestjs/swagger to v11.4.3 --- sample/11-swagger/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sample/11-swagger/package.json b/sample/11-swagger/package.json index 70c6942506..e017a4ca09 100644 --- a/sample/11-swagger/package.json +++ b/sample/11-swagger/package.json @@ -22,7 +22,7 @@ "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", "@nestjs/platform-express": "11.1.21", - "@nestjs/swagger": "11.4.2", + "@nestjs/swagger": "11.4.3", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", From f0ef73364246618f2a854b7f0242e75afa8b7987 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 May 2026 12:27:36 +0000 Subject: [PATCH 06/34] chore(deps): update confluentinc/cp-kafka docker tag to v8.2.1 --- integration/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/docker-compose.yml b/integration/docker-compose.yml index 4aa65f0c78..b2cde31ef6 100644 --- a/integration/docker-compose.yml +++ b/integration/docker-compose.yml @@ -60,7 +60,7 @@ services: kafka: container_name: test-kafka hostname: kafka - image: confluentinc/cp-kafka:8.2.0 + image: confluentinc/cp-kafka:8.2.1 depends_on: - zookeeper ports: From 9a161238c2ca4e082cddb5a74527000fb2038401 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 May 2026 12:27:42 +0000 Subject: [PATCH 07/34] chore(deps): update confluentinc/cp-zookeeper docker tag to v7.9.7 --- integration/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/docker-compose.yml b/integration/docker-compose.yml index 4aa65f0c78..1a678ce81a 100644 --- a/integration/docker-compose.yml +++ b/integration/docker-compose.yml @@ -51,7 +51,7 @@ services: zookeeper: container_name: test-zookeeper hostname: zookeeper - image: confluentinc/cp-zookeeper:7.9.6 + image: confluentinc/cp-zookeeper:7.9.7 ports: - "2181:2181" environment: From 79919b1aa85fd5004f948c86ac447faae0da360b Mon Sep 17 00:00:00 2001 From: haredoggy <10xAngel.dev@gmail.com> Date: Sat, 16 May 2026 12:07:18 -0400 Subject: [PATCH 08/34] fix(core): identify decorator type in invalid-class-module error --- .../invalid-class-module.exception.ts | 12 +++- packages/core/errors/messages.ts | 17 +++++- packages/core/scanner.ts | 22 ++++++-- .../core/test/errors/test/messages.spec.ts | 56 +++++++++++++++++++ 4 files changed, 97 insertions(+), 10 deletions(-) diff --git a/packages/core/errors/exceptions/invalid-class-module.exception.ts b/packages/core/errors/exceptions/invalid-class-module.exception.ts index 0761ea5cec..3bdf72499a 100644 --- a/packages/core/errors/exceptions/invalid-class-module.exception.ts +++ b/packages/core/errors/exceptions/invalid-class-module.exception.ts @@ -2,9 +2,17 @@ import { USING_INVALID_CLASS_AS_A_MODULE_MESSAGE } from '../messages'; import { RuntimeException } from './runtime.exception'; export class InvalidClassModuleException extends RuntimeException { - constructor(metatypeUsedAsAModule: any, scope: any[]) { + constructor( + metatypeUsedAsAModule: any, + scope: any[], + classKind: 'provider' | 'controller' | 'filter', + ) { super( - USING_INVALID_CLASS_AS_A_MODULE_MESSAGE(metatypeUsedAsAModule, scope), + USING_INVALID_CLASS_AS_A_MODULE_MESSAGE( + metatypeUsedAsAModule, + scope, + classKind, + ), ); } } diff --git a/packages/core/errors/messages.ts b/packages/core/errors/messages.ts index be1c9eb8bc..b4015f84ac 100644 --- a/packages/core/errors/messages.ts +++ b/packages/core/errors/messages.ts @@ -169,11 +169,24 @@ Scope [${stringifyScope(scope)}]`; export const USING_INVALID_CLASS_AS_A_MODULE_MESSAGE = ( metatypeUsedAsAModule: Type | ForwardReference, scope: any[], + classKind: 'provider' | 'controller' | 'filter', ) => { const metatypeNameQuote = `"${getInstanceName(metatypeUsedAsAModule)}"`; - return `Classes annotated with @Injectable(), @Catch(), and @Controller() decorators must not appear in the "imports" array of a module. -Please remove ${metatypeNameQuote} (including forwarded occurrences, if any) from all of the "imports" arrays. + let hint: string; + switch (classKind) { + case 'controller': + hint = `${metatypeNameQuote} is decorated with @Controller() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "controllers" array of the importing module instead.`; + break; + case 'provider': + hint = `${metatypeNameQuote} is decorated with @Injectable() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "providers" array of the importing module instead.`; + break; + case 'filter': + hint = `${metatypeNameQuote} is decorated with @Catch() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "providers" array (using the APP_FILTER token to apply it globally) or apply it via @UseFilters() instead.`; + break; + } + + return `${hint} Scope [${stringifyScope(scope)}] `; diff --git a/packages/core/scanner.ts b/packages/core/scanner.ts index e734509231..141c921e7b 100644 --- a/packages/core/scanner.ts +++ b/packages/core/scanner.ts @@ -188,12 +188,22 @@ export class DependenciesScanner { ? moduleDefinition.forwardRef() : moduleDefinition; - if ( - this.isInjectable(moduleToAdd) || - this.isController(moduleToAdd) || - this.isExceptionFilter(moduleToAdd) - ) { - throw new InvalidClassModuleException(moduleDefinition, scope); + if (this.isInjectable(moduleToAdd)) { + throw new InvalidClassModuleException( + moduleDefinition, + scope, + 'provider', + ); + } + if (this.isController(moduleToAdd)) { + throw new InvalidClassModuleException( + moduleDefinition, + scope, + 'controller', + ); + } + if (this.isExceptionFilter(moduleToAdd)) { + throw new InvalidClassModuleException(moduleDefinition, scope, 'filter'); } return this.container.addModule(moduleToAdd, scope); diff --git a/packages/core/test/errors/test/messages.spec.ts b/packages/core/test/errors/test/messages.spec.ts index 0e79983976..9a6f96821c 100644 --- a/packages/core/test/errors/test/messages.spec.ts +++ b/packages/core/test/errors/test/messages.spec.ts @@ -4,6 +4,7 @@ import { INVALID_MODULE_MESSAGE, UNDEFINED_MODULE_MESSAGE, UNKNOWN_EXPORT_MESSAGE, + USING_INVALID_CLASS_AS_A_MODULE_MESSAGE, } from '../../../errors/messages'; import { Module } from '../../../injector/module'; import { stringCleaner } from '../../utils/string.cleaner'; @@ -398,4 +399,59 @@ Scope [AppModule -> CatsModule]`); expect(actualMessage).to.be.eq(expectedMessage); }); }); + + describe('USING_INVALID_CLASS_AS_A_MODULE_MESSAGE', () => { + class FooClass {} + + it('should identify a class decorated with @Controller() and direct it to the "controllers" array', () => { + const expectedMessage = + stringCleaner(`"FooClass" is decorated with @Controller() and cannot appear in the "imports" array of a module. Please move "FooClass" to the "controllers" array of the importing module instead. + +Scope [AppModule]`); + + const actualMessage = stringCleaner( + USING_INVALID_CLASS_AS_A_MODULE_MESSAGE( + FooClass, + [AppModule], + 'controller', + ), + ); + + expect(actualMessage).to.be.eq(expectedMessage); + }); + + it('should identify a class decorated with @Injectable() and direct it to the "providers" array', () => { + const expectedMessage = + stringCleaner(`"FooClass" is decorated with @Injectable() and cannot appear in the "imports" array of a module. Please move "FooClass" to the "providers" array of the importing module instead. + +Scope [AppModule]`); + + const actualMessage = stringCleaner( + USING_INVALID_CLASS_AS_A_MODULE_MESSAGE( + FooClass, + [AppModule], + 'provider', + ), + ); + + expect(actualMessage).to.be.eq(expectedMessage); + }); + + it('should identify a class decorated with @Catch() and direct it to the "providers" array or @UseFilters()', () => { + const expectedMessage = + stringCleaner(`"FooClass" is decorated with @Catch() and cannot appear in the "imports" array of a module. Please move "FooClass" to the "providers" array (using the APP_FILTER token to apply it globally) or apply it via @UseFilters() instead. + +Scope [AppModule]`); + + const actualMessage = stringCleaner( + USING_INVALID_CLASS_AS_A_MODULE_MESSAGE( + FooClass, + [AppModule], + 'filter', + ), + ); + + expect(actualMessage).to.be.eq(expectedMessage); + }); + }); }); From 274de7e52db0a49dc67a1c5536410c38ab8e35e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 01:06:26 +0000 Subject: [PATCH 09/34] chore(deps-dev): bump lint-staged from 17.0.4 to 17.0.5 Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 17.0.4 to 17.0.5. - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v17.0.4...v17.0.5) --- updated-dependencies: - dependency-name: lint-staged dependency-version: 17.0.5 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6efee3ff43..aed3023b09 100644 --- a/package-lock.json +++ b/package-lock.json @@ -98,7 +98,7 @@ "lerna": "9.0.7", "lerna-changelog": "2.2.0", "light-my-request": "6.6.0", - "lint-staged": "17.0.4", + "lint-staged": "17.0.5", "markdown-table": "2.0.0", "mocha": "11.7.5", "mongoose": "9.6.2", @@ -18013,9 +18013,9 @@ "license": "MIT" }, "node_modules/lint-staged": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.0.4.tgz", - "integrity": "sha512-+rU9lSUyVOZ/hDUmRLVGzyS2v73cDdQjX+XQz1AaOdIE4RysLq0HoPW2HrrgeNCLklkhi904VBU1bmgWLHVnkA==", + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.0.5.tgz", + "integrity": "sha512-d12yC+/e8RhBjZtaxZn71FyrgU/P5e+uAPifhCLwdosQZP/zamSdKRWDC30ocVIbzDKiFG1McHc/LUgB92GIPw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 3e48ca9719..2a969a4901 100644 --- a/package.json +++ b/package.json @@ -148,7 +148,7 @@ "lerna": "9.0.7", "lerna-changelog": "2.2.0", "light-my-request": "6.6.0", - "lint-staged": "17.0.4", + "lint-staged": "17.0.5", "markdown-table": "2.0.0", "mocha": "11.7.5", "mongoose": "9.6.2", From 7c64b55e3913c2c20196cdf5113ff306a4ea41e4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 18:41:01 +0000 Subject: [PATCH 10/34] chore(deps): update dependency @types/node to v25.9.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index aed3023b09..faaa5fdae5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,7 @@ "@types/gulp": "4.0.18", "@types/http-errors": "2.0.5", "@types/mocha": "10.0.10", - "@types/node": "25.8.0", + "@types/node": "25.9.0", "@types/sinon": "21.0.1", "@types/supertest": "7.2.0", "@types/ws": "8.18.1", @@ -5634,9 +5634,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "25.8.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.8.0.tgz", - "integrity": "sha512-TCFSk8IZh+iLX1xtksoBVtdmgL+1IX0fC9BeU4QqFSuNdN/K+HUlhqOzEmSYYpZUVsLYcPqc9KX+60iDuninSQ==", + "version": "25.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.0.tgz", + "integrity": "sha512-AOQwYUNolgy3VosiRqXrACUXTN8nJUtPl7FJXMqZVyxiiCLhQuG3jXKvCS1ALr+Y2OmZhzzLVlYPEqJaiqkaJQ==", "license": "MIT", "dependencies": { "undici-types": ">=7.24.0 <7.24.7" diff --git a/package.json b/package.json index 2a969a4901..2f49e003e5 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "@types/gulp": "4.0.18", "@types/http-errors": "2.0.5", "@types/mocha": "10.0.10", - "@types/node": "25.8.0", + "@types/node": "25.9.0", "@types/sinon": "21.0.1", "@types/supertest": "7.2.0", "@types/ws": "8.18.1", From 449339b9686c0ef6f8de554adaa2b883b85d4ff8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 00:12:43 +0000 Subject: [PATCH 11/34] fix(deps): update dependency typeorm to v0.3.30 --- package-lock.json | 8 ++++---- package.json | 2 +- sample/05-sql-typeorm/package.json | 2 +- sample/13-mongo-typeorm/package.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index aed3023b09..aff4d9c354 100644 --- a/package-lock.json +++ b/package-lock.json @@ -118,7 +118,7 @@ "ts-morph": "28.0.0", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", - "typeorm": "0.3.29", + "typeorm": "0.3.30", "typescript": "5.9.3", "typescript-eslint": "8.58.2", "ws": "8.20.1" @@ -25769,9 +25769,9 @@ } }, "node_modules/typeorm": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.29.tgz", - "integrity": "sha512-wwPEX/df4l72gCmOsrs0otJZYLGA9lLQkUZCkukbsymEycV4zXv2KM7wU7v2r8L01TaCgY9ApSSqHQWBOUhEoQ==", + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.30.tgz", + "integrity": "sha512-8T35PzjefOdqc2ZR9mwLQj0pUGp6lQhMbK2EvVMwJVJWlaoHm0v/Q6dThNOZkFchD+0yMg8gwjKM28ePiLSXSQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 2a969a4901..90377b0af0 100644 --- a/package.json +++ b/package.json @@ -168,7 +168,7 @@ "ts-morph": "28.0.0", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", - "typeorm": "0.3.29", + "typeorm": "0.3.30", "typescript": "5.9.3", "typescript-eslint": "8.58.2", "ws": "8.20.1" diff --git a/sample/05-sql-typeorm/package.json b/sample/05-sql-typeorm/package.json index 275456ff9d..9142775709 100644 --- a/sample/05-sql-typeorm/package.json +++ b/sample/05-sql-typeorm/package.json @@ -27,7 +27,7 @@ "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2", - "typeorm": "0.3.29" + "typeorm": "0.3.30" }, "devDependencies": { "@eslint/eslintrc": "3.3.5", diff --git a/sample/13-mongo-typeorm/package.json b/sample/13-mongo-typeorm/package.json index 3d6202dba7..431e2220e0 100644 --- a/sample/13-mongo-typeorm/package.json +++ b/sample/13-mongo-typeorm/package.json @@ -27,7 +27,7 @@ "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2", - "typeorm": "0.3.29" + "typeorm": "0.3.30" }, "devDependencies": { "@eslint/eslintrc": "3.3.5", From 34a1fd94269713862f05a50661053f4be4ceaf35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 06:58:42 +0000 Subject: [PATCH 12/34] chore(deps): bump ws from 8.18.0 to 8.20.1 in /sample/16-gateways-ws Bumps [ws](https://github.com/websockets/ws) from 8.18.0 to 8.20.1. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/8.18.0...8.20.1) --- updated-dependencies: - dependency-name: ws dependency-version: 8.20.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- sample/16-gateways-ws/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sample/16-gateways-ws/package.json b/sample/16-gateways-ws/package.json index 0b7ce4c619..071e6d54b1 100644 --- a/sample/16-gateways-ws/package.json +++ b/sample/16-gateways-ws/package.json @@ -29,7 +29,7 @@ "rimraf": "6.1.3", "reflect-metadata": "0.2.2", "rxjs": "7.8.2", - "ws": "8.18.0" + "ws": "8.20.1" }, "devDependencies": { "@types/ws": "8.5.13", From 6bcfb577c6d558caf65c0d2f633477803bc0482d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 08:41:01 +0000 Subject: [PATCH 13/34] chore(deps): update dependency ts-jest to v29.4.10 --- sample/01-cats-app/package.json | 2 +- sample/02-gateways/package.json | 2 +- sample/03-microservices/package.json | 2 +- sample/04-grpc/package.json | 2 +- sample/05-sql-typeorm/package.json | 2 +- sample/06-mongoose/package.json | 2 +- sample/07-sequelize/package.json | 2 +- sample/10-fastify/package.json | 2 +- sample/11-swagger/package.json | 2 +- sample/12-graphql-schema-first/package.json | 2 +- sample/13-mongo-typeorm/package.json | 2 +- sample/14-mongoose-base/package.json | 2 +- sample/15-mvc/package.json | 2 +- sample/16-gateways-ws/package.json | 2 +- sample/17-mvc-fastify/package.json | 2 +- sample/18-context/package.json | 2 +- sample/19-auth-jwt/package.json | 2 +- sample/20-cache/package.json | 2 +- sample/21-serializer/package.json | 2 +- sample/22-graphql-prisma/package.json | 2 +- sample/23-graphql-code-first/package.json | 2 +- sample/24-serve-static/package.json | 2 +- sample/25-dynamic-modules/package.json | 2 +- sample/26-queues/package.json | 2 +- sample/27-scheduling/package.json | 2 +- sample/28-sse/package.json | 2 +- sample/29-file-upload/package.json | 2 +- sample/30-event-emitter/package.json | 2 +- sample/31-graphql-federation-code-first/gateway/package.json | 2 +- .../posts-application/package.json | 2 +- .../users-application/package.json | 2 +- sample/32-graphql-federation-schema-first/gateway/package.json | 2 +- .../posts-application/package.json | 2 +- .../users-application/package.json | 2 +- sample/33-graphql-mercurius/package.json | 2 +- sample/36-hmr-esm/package.json | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/sample/01-cats-app/package.json b/sample/01-cats-app/package.json index af56a73129..254fbef622 100644 --- a/sample/01-cats-app/package.json +++ b/sample/01-cats-app/package.json @@ -41,7 +41,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/02-gateways/package.json b/sample/02-gateways/package.json index 7ab5ebbf59..8eb0274195 100644 --- a/sample/02-gateways/package.json +++ b/sample/02-gateways/package.json @@ -50,7 +50,7 @@ "prettier": "3.8.3", "redis": "5.12.1", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/03-microservices/package.json b/sample/03-microservices/package.json index 491446e754..fd9eca4b2e 100644 --- a/sample/03-microservices/package.json +++ b/sample/03-microservices/package.json @@ -42,7 +42,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/04-grpc/package.json b/sample/04-grpc/package.json index f6f5328903..3945109c1e 100644 --- a/sample/04-grpc/package.json +++ b/sample/04-grpc/package.json @@ -46,7 +46,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/05-sql-typeorm/package.json b/sample/05-sql-typeorm/package.json index 9142775709..77cab0ad1d 100644 --- a/sample/05-sql-typeorm/package.json +++ b/sample/05-sql-typeorm/package.json @@ -45,7 +45,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/06-mongoose/package.json b/sample/06-mongoose/package.json index cf5e1bab15..49c185be0c 100644 --- a/sample/06-mongoose/package.json +++ b/sample/06-mongoose/package.json @@ -44,7 +44,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/07-sequelize/package.json b/sample/07-sequelize/package.json index 8594bd7064..8e510f8be5 100644 --- a/sample/07-sequelize/package.json +++ b/sample/07-sequelize/package.json @@ -47,7 +47,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/10-fastify/package.json b/sample/10-fastify/package.json index f840917f32..3c1e1ccef5 100644 --- a/sample/10-fastify/package.json +++ b/sample/10-fastify/package.json @@ -42,7 +42,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/11-swagger/package.json b/sample/11-swagger/package.json index e017a4ca09..4b3533669d 100644 --- a/sample/11-swagger/package.json +++ b/sample/11-swagger/package.json @@ -44,7 +44,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/12-graphql-schema-first/package.json b/sample/12-graphql-schema-first/package.json index 015607f95b..7876ed3d80 100644 --- a/sample/12-graphql-schema-first/package.json +++ b/sample/12-graphql-schema-first/package.json @@ -50,7 +50,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-morph": "28.0.0", "ts-node": "10.9.2", diff --git a/sample/13-mongo-typeorm/package.json b/sample/13-mongo-typeorm/package.json index 431e2220e0..0b4db0e2b1 100644 --- a/sample/13-mongo-typeorm/package.json +++ b/sample/13-mongo-typeorm/package.json @@ -45,7 +45,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/14-mongoose-base/package.json b/sample/14-mongoose-base/package.json index 87806f8a64..2baef1e760 100644 --- a/sample/14-mongoose-base/package.json +++ b/sample/14-mongoose-base/package.json @@ -43,7 +43,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/15-mvc/package.json b/sample/15-mvc/package.json index c6817f7872..3cf875a5fd 100644 --- a/sample/15-mvc/package.json +++ b/sample/15-mvc/package.json @@ -39,7 +39,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/16-gateways-ws/package.json b/sample/16-gateways-ws/package.json index 071e6d54b1..43fdf8a216 100644 --- a/sample/16-gateways-ws/package.json +++ b/sample/16-gateways-ws/package.json @@ -44,7 +44,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/17-mvc-fastify/package.json b/sample/17-mvc-fastify/package.json index 1c814b85ec..f5d784134e 100644 --- a/sample/17-mvc-fastify/package.json +++ b/sample/17-mvc-fastify/package.json @@ -44,7 +44,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/18-context/package.json b/sample/18-context/package.json index 4bd61ff1cf..8a25ef9e30 100644 --- a/sample/18-context/package.json +++ b/sample/18-context/package.json @@ -35,7 +35,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/19-auth-jwt/package.json b/sample/19-auth-jwt/package.json index c722fa740e..96f7cc7cb2 100644 --- a/sample/19-auth-jwt/package.json +++ b/sample/19-auth-jwt/package.json @@ -45,7 +45,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/20-cache/package.json b/sample/20-cache/package.json index 4cae8d5ea8..ee62d99db3 100644 --- a/sample/20-cache/package.json +++ b/sample/20-cache/package.json @@ -47,7 +47,7 @@ "prettier": "3.8.3", "rimraf": "6.1.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/21-serializer/package.json b/sample/21-serializer/package.json index 3decd30716..27914a4c5e 100644 --- a/sample/21-serializer/package.json +++ b/sample/21-serializer/package.json @@ -39,7 +39,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/22-graphql-prisma/package.json b/sample/22-graphql-prisma/package.json index 044647f35c..4e79a02b7f 100644 --- a/sample/22-graphql-prisma/package.json +++ b/sample/22-graphql-prisma/package.json @@ -56,7 +56,7 @@ "prettier": "3.8.3", "prisma": "^7.0.0", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-morph": "28.0.0", "ts-node": "10.9.2", diff --git a/sample/23-graphql-code-first/package.json b/sample/23-graphql-code-first/package.json index 6b7fc35157..5fd6f2d3be 100644 --- a/sample/23-graphql-code-first/package.json +++ b/sample/23-graphql-code-first/package.json @@ -50,7 +50,7 @@ "prettier": "3.8.3", "rimraf": "6.1.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/24-serve-static/package.json b/sample/24-serve-static/package.json index 9314b33af1..dc899bc8a3 100644 --- a/sample/24-serve-static/package.json +++ b/sample/24-serve-static/package.json @@ -41,7 +41,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/25-dynamic-modules/package.json b/sample/25-dynamic-modules/package.json index a567be13c9..b563b5453c 100644 --- a/sample/25-dynamic-modules/package.json +++ b/sample/25-dynamic-modules/package.json @@ -40,7 +40,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/26-queues/package.json b/sample/26-queues/package.json index 1aeff26f45..9a3cabaf8f 100644 --- a/sample/26-queues/package.json +++ b/sample/26-queues/package.json @@ -43,7 +43,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/27-scheduling/package.json b/sample/27-scheduling/package.json index 792b46cf16..4b4df45310 100644 --- a/sample/27-scheduling/package.json +++ b/sample/27-scheduling/package.json @@ -42,7 +42,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/28-sse/package.json b/sample/28-sse/package.json index d23eee651b..a02505297c 100644 --- a/sample/28-sse/package.json +++ b/sample/28-sse/package.json @@ -39,7 +39,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/29-file-upload/package.json b/sample/29-file-upload/package.json index 3d44a60547..454a1a3886 100644 --- a/sample/29-file-upload/package.json +++ b/sample/29-file-upload/package.json @@ -42,7 +42,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/30-event-emitter/package.json b/sample/30-event-emitter/package.json index ec213693c5..aaeffe98c5 100644 --- a/sample/30-event-emitter/package.json +++ b/sample/30-event-emitter/package.json @@ -43,7 +43,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/31-graphql-federation-code-first/gateway/package.json b/sample/31-graphql-federation-code-first/gateway/package.json index d1b85b724d..32abeaec74 100644 --- a/sample/31-graphql-federation-code-first/gateway/package.json +++ b/sample/31-graphql-federation-code-first/gateway/package.json @@ -49,7 +49,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/31-graphql-federation-code-first/posts-application/package.json b/sample/31-graphql-federation-code-first/posts-application/package.json index 1cdcdb77d0..362dfab484 100644 --- a/sample/31-graphql-federation-code-first/posts-application/package.json +++ b/sample/31-graphql-federation-code-first/posts-application/package.json @@ -51,7 +51,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/31-graphql-federation-code-first/users-application/package.json b/sample/31-graphql-federation-code-first/users-application/package.json index 92ef737ae0..f2cf196921 100644 --- a/sample/31-graphql-federation-code-first/users-application/package.json +++ b/sample/31-graphql-federation-code-first/users-application/package.json @@ -51,7 +51,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/32-graphql-federation-schema-first/gateway/package.json b/sample/32-graphql-federation-schema-first/gateway/package.json index 5e092a0eba..06b7557bb5 100644 --- a/sample/32-graphql-federation-schema-first/gateway/package.json +++ b/sample/32-graphql-federation-schema-first/gateway/package.json @@ -52,7 +52,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/32-graphql-federation-schema-first/posts-application/package.json b/sample/32-graphql-federation-schema-first/posts-application/package.json index 5cb0e3db64..1a4d5b4d82 100644 --- a/sample/32-graphql-federation-schema-first/posts-application/package.json +++ b/sample/32-graphql-federation-schema-first/posts-application/package.json @@ -53,7 +53,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/32-graphql-federation-schema-first/users-application/package.json b/sample/32-graphql-federation-schema-first/users-application/package.json index fe75ce6816..33e9c07929 100644 --- a/sample/32-graphql-federation-schema-first/users-application/package.json +++ b/sample/32-graphql-federation-schema-first/users-application/package.json @@ -51,7 +51,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/33-graphql-mercurius/package.json b/sample/33-graphql-mercurius/package.json index afe2a891cb..98eb890f49 100644 --- a/sample/33-graphql-mercurius/package.json +++ b/sample/33-graphql-mercurius/package.json @@ -47,7 +47,7 @@ "prettier": "3.8.3", "rimraf": "6.1.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/36-hmr-esm/package.json b/sample/36-hmr-esm/package.json index f77c65a3ab..f45ab52367 100644 --- a/sample/36-hmr-esm/package.json +++ b/sample/36-hmr-esm/package.json @@ -47,7 +47,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.9", + "ts-jest": "29.4.10", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", From e2c16c9009bb7982a76f8dc7f3434fec8f775257 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 13:08:59 +0000 Subject: [PATCH 14/34] fix(deps): update nest-graphql monorepo to v13.4.1 --- package-lock.json | 40 +++++-------------- package.json | 4 +- sample/12-graphql-schema-first/package.json | 4 +- sample/22-graphql-prisma/package.json | 4 +- sample/23-graphql-code-first/package.json | 4 +- .../gateway/package.json | 4 +- .../posts-application/package.json | 4 +- .../users-application/package.json | 4 +- .../gateway/package.json | 4 +- .../posts-application/package.json | 4 +- .../users-application/package.json | 4 +- sample/33-graphql-mercurius/package.json | 2 +- 12 files changed, 30 insertions(+), 52 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e1db3adb9..3921e73eba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,8 +45,8 @@ "@fastify/view": "11.1.1", "@grpc/grpc-js": "1.14.3", "@grpc/proto-loader": "0.8.1", - "@nestjs/apollo": "13.4.0", - "@nestjs/graphql": "13.4.0", + "@nestjs/apollo": "13.4.1", + "@nestjs/graphql": "13.4.1", "@nestjs/mongoose": "11.0.4", "@nestjs/typeorm": "11.0.1", "@types/amqplib": "0.10.8", @@ -3199,9 +3199,9 @@ } }, "node_modules/@nestjs/apollo": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@nestjs/apollo/-/apollo-13.4.0.tgz", - "integrity": "sha512-dXfgdBDUXl7OwJ/1t1yQtifhh9E21zTwB8Tayi/2xsBJYY5t0Bcfi/xyVYT6IxNDb5i8JpsiAJmnu7bTsvIIzw==", + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@nestjs/apollo/-/apollo-13.4.1.tgz", + "integrity": "sha512-SCFQ3kbf8Tj3neXWtwNzddVWNrNdQXvz9l7KZncWvzhdZ/TV5Uh3jxfWCl4NnNI1BSvDkQSbd90tAVCWV5x5Aw==", "dev": true, "license": "MIT", "dependencies": { @@ -3312,9 +3312,9 @@ } }, "node_modules/@nestjs/graphql": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-13.4.0.tgz", - "integrity": "sha512-NXZbC7ZGT4hoqA1M57tXz3Y+FgRgtEMCjyTU20bLr/Ck6itGL0NsrnudmLdxrc8XGLGM+JwmhQ606o1oRyW6jg==", + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-13.4.1.tgz", + "integrity": "sha512-oULTVBSMZXeKb/eMDyY9xf4PnfWLY8Z1n9ZxGo1B5oP85LMxkMb+8konxnNHPUglYpeLmLWxDNeI9CLj+fjClw==", "dev": true, "license": "MIT", "dependencies": { @@ -3330,7 +3330,7 @@ "normalize-path": "3.0.0", "subscriptions-transport-ws": "0.11.0", "tslib": "2.8.1", - "ws": "8.20.0" + "ws": "8.20.1" }, "peerDependencies": { "@apollo/subgraph": "^2.9.3", @@ -3357,28 +3357,6 @@ } } }, - "node_modules/@nestjs/graphql/node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/@nestjs/mapped-types": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.1.1.tgz", diff --git a/package.json b/package.json index 6e663c5312..97ceb555b7 100644 --- a/package.json +++ b/package.json @@ -95,8 +95,8 @@ "@fastify/view": "11.1.1", "@grpc/grpc-js": "1.14.3", "@grpc/proto-loader": "0.8.1", - "@nestjs/apollo": "13.4.0", - "@nestjs/graphql": "13.4.0", + "@nestjs/apollo": "13.4.1", + "@nestjs/graphql": "13.4.1", "@nestjs/mongoose": "11.0.4", "@nestjs/typeorm": "11.0.1", "@types/amqplib": "0.10.8", diff --git a/sample/12-graphql-schema-first/package.json b/sample/12-graphql-schema-first/package.json index 7876ed3d80..ea9c64ed08 100644 --- a/sample/12-graphql-schema-first/package.json +++ b/sample/12-graphql-schema-first/package.json @@ -21,10 +21,10 @@ "dependencies": { "@apollo/server": "5.5.1", "@graphql-tools/utils": "11.1.0", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", diff --git a/sample/22-graphql-prisma/package.json b/sample/22-graphql-prisma/package.json index 4e79a02b7f..d5a7e4c00b 100644 --- a/sample/22-graphql-prisma/package.json +++ b/sample/22-graphql-prisma/package.json @@ -21,10 +21,10 @@ }, "dependencies": { "@apollo/server": "5.5.1", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "@prisma/adapter-better-sqlite3": "7.8.0", "@prisma/client": "7.8.0", diff --git a/sample/23-graphql-code-first/package.json b/sample/23-graphql-code-first/package.json index 5fd6f2d3be..7277b791f0 100644 --- a/sample/23-graphql-code-first/package.json +++ b/sample/23-graphql-code-first/package.json @@ -20,10 +20,10 @@ }, "dependencies": { "@apollo/server": "5.5.1", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "class-transformer": "0.5.1", "class-validator": "0.15.1", diff --git a/sample/31-graphql-federation-code-first/gateway/package.json b/sample/31-graphql-federation-code-first/gateway/package.json index 32abeaec74..a73685d8fb 100644 --- a/sample/31-graphql-federation-code-first/gateway/package.json +++ b/sample/31-graphql-federation-code-first/gateway/package.json @@ -21,10 +21,10 @@ "dependencies": { "@apollo/gateway": "2.14.0", "@apollo/server": "5.5.1", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/31-graphql-federation-code-first/posts-application/package.json b/sample/31-graphql-federation-code-first/posts-application/package.json index 362dfab484..cbf3e1a4e3 100644 --- a/sample/31-graphql-federation-code-first/posts-application/package.json +++ b/sample/31-graphql-federation-code-first/posts-application/package.json @@ -23,10 +23,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "5.5.1", "@apollo/subgraph": "2.14.0", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/31-graphql-federation-code-first/users-application/package.json b/sample/31-graphql-federation-code-first/users-application/package.json index f2cf196921..5da8b71178 100644 --- a/sample/31-graphql-federation-code-first/users-application/package.json +++ b/sample/31-graphql-federation-code-first/users-application/package.json @@ -22,10 +22,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "5.5.1", "@apollo/subgraph": "2.14.0", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/32-graphql-federation-schema-first/gateway/package.json b/sample/32-graphql-federation-schema-first/gateway/package.json index 06b7557bb5..1139235624 100644 --- a/sample/32-graphql-federation-schema-first/gateway/package.json +++ b/sample/32-graphql-federation-schema-first/gateway/package.json @@ -23,10 +23,10 @@ "dependencies": { "@apollo/gateway": "2.14.0", "@apollo/server": "^5.0.0", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/32-graphql-federation-schema-first/posts-application/package.json b/sample/32-graphql-federation-schema-first/posts-application/package.json index 1a4d5b4d82..fc892bf25a 100644 --- a/sample/32-graphql-federation-schema-first/posts-application/package.json +++ b/sample/32-graphql-federation-schema-first/posts-application/package.json @@ -24,10 +24,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "^5.0.0", "@apollo/subgraph": "2.14.0", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/32-graphql-federation-schema-first/users-application/package.json b/sample/32-graphql-federation-schema-first/users-application/package.json index 33e9c07929..6da9a81868 100644 --- a/sample/32-graphql-federation-schema-first/users-application/package.json +++ b/sample/32-graphql-federation-schema-first/users-application/package.json @@ -23,10 +23,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "^5.0.0", "@apollo/subgraph": "2.14.0", - "@nestjs/apollo": "13.4.0", + "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.21", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/33-graphql-mercurius/package.json b/sample/33-graphql-mercurius/package.json index 98eb890f49..7aac16bdbe 100644 --- a/sample/33-graphql-mercurius/package.json +++ b/sample/33-graphql-mercurius/package.json @@ -21,7 +21,7 @@ "dependencies": { "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", - "@nestjs/graphql": "13.4.0", + "@nestjs/graphql": "13.4.1", "@nestjs/mercurius": "13.4.0", "@nestjs/platform-fastify": "11.1.21", "class-transformer": "0.5.1", From 0d23752b3f24d550c93796896bec317ccc0ce890 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 May 2026 05:56:39 +0000 Subject: [PATCH 15/34] chore(deps-dev): bump @types/node from 25.9.0 to 25.9.1 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.9.0 to 25.9.1. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.9.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e1db3adb9..03a443ed14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,7 @@ "@types/gulp": "4.0.18", "@types/http-errors": "2.0.5", "@types/mocha": "10.0.10", - "@types/node": "25.9.0", + "@types/node": "25.9.1", "@types/sinon": "21.0.1", "@types/supertest": "7.2.0", "@types/ws": "8.18.1", @@ -5634,9 +5634,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "25.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.0.tgz", - "integrity": "sha512-AOQwYUNolgy3VosiRqXrACUXTN8nJUtPl7FJXMqZVyxiiCLhQuG3jXKvCS1ALr+Y2OmZhzzLVlYPEqJaiqkaJQ==", + "version": "25.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz", + "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==", "license": "MIT", "dependencies": { "undici-types": ">=7.24.0 <7.24.7" diff --git a/package.json b/package.json index 6e663c5312..43a96e5c4a 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "@types/gulp": "4.0.18", "@types/http-errors": "2.0.5", "@types/mocha": "10.0.10", - "@types/node": "25.9.0", + "@types/node": "25.9.1", "@types/sinon": "21.0.1", "@types/supertest": "7.2.0", "@types/ws": "8.18.1", From 16aceab9b21bf3e4b79e3b1f32a91e139e0e5250 Mon Sep 17 00:00:00 2001 From: haredoggy <10xAngel.dev@gmail.com> Date: Wed, 20 May 2026 05:48:16 -0400 Subject: [PATCH 16/34] fix(core): include received value type in invalid-module error --- .../exceptions/invalid-module.exception.ts | 9 +++- packages/core/errors/messages.ts | 15 ++++++ packages/core/scanner.ts | 7 ++- .../core/test/errors/test/messages.spec.ts | 50 ++++++++++++++++++- 4 files changed, 76 insertions(+), 5 deletions(-) diff --git a/packages/core/errors/exceptions/invalid-module.exception.ts b/packages/core/errors/exceptions/invalid-module.exception.ts index fb58000a67..b82a887ceb 100644 --- a/packages/core/errors/exceptions/invalid-module.exception.ts +++ b/packages/core/errors/exceptions/invalid-module.exception.ts @@ -2,7 +2,12 @@ import { INVALID_MODULE_MESSAGE } from '../messages'; import { RuntimeException } from './runtime.exception'; export class InvalidModuleException extends RuntimeException { - constructor(parentModule: any, index: number, scope: any[]) { - super(INVALID_MODULE_MESSAGE(parentModule, index, scope)); + constructor( + parentModule: any, + index: number, + scope: any[], + receivedValue: unknown, + ) { + super(INVALID_MODULE_MESSAGE(parentModule, index, scope, receivedValue)); } } diff --git a/packages/core/errors/messages.ts b/packages/core/errors/messages.ts index b4015f84ac..3d76664a4f 100644 --- a/packages/core/errors/messages.ts +++ b/packages/core/errors/messages.ts @@ -157,11 +157,26 @@ export const INVALID_MODULE_MESSAGE = ( parentModule: any, index: number, scope: any[], + receivedValue: unknown, ) => { const parentModuleName = parentModule?.name || 'module'; + let formattedValue: string; + let receivedType: string; + if (receivedValue === null) { + formattedValue = 'null'; + receivedType = 'null'; + } else if (typeof receivedValue === 'string') { + formattedValue = `"${receivedValue}"`; + receivedType = 'string'; + } else { + formattedValue = String(receivedValue); + receivedType = typeof receivedValue; + } + return `Nest cannot create the ${parentModuleName} instance. Received an unexpected value at index [${index}] of the ${parentModuleName} "imports" array. +The received value \`${formattedValue}\` is of type "${receivedType}". Scope [${stringifyScope(scope)}]`; }; diff --git a/packages/core/scanner.ts b/packages/core/scanner.ts index 141c921e7b..d634292572 100644 --- a/packages/core/scanner.ts +++ b/packages/core/scanner.ts @@ -150,7 +150,12 @@ export class DependenciesScanner { throw new UndefinedModuleException(moduleDefinition, index, scope); } if (!innerModule) { - throw new InvalidModuleException(moduleDefinition, index, scope); + throw new InvalidModuleException( + moduleDefinition, + index, + scope, + innerModule, + ); } if (ctxRegistry.includes(innerModule)) { continue; diff --git a/packages/core/test/errors/test/messages.spec.ts b/packages/core/test/errors/test/messages.spec.ts index 9a6f96821c..e86722efbe 100644 --- a/packages/core/test/errors/test/messages.spec.ts +++ b/packages/core/test/errors/test/messages.spec.ts @@ -385,15 +385,61 @@ Scope [AppModule -> CatsModule]`); }); describe('INVALID_MODULE_MESSAGE', () => { - it('should display the module name with the invalid index and scope', () => { + it('should display the received `null` value and its type', () => { const expectedMessage = stringCleaner(`Nest cannot create the CatsModule instance. Received an unexpected value at index [0] of the CatsModule "imports" array. +The received value \`null\` is of type "null". Scope [AppModule -> CatsModule]`); const actualMessage = stringCleaner( - INVALID_MODULE_MESSAGE(CatsModule, 0, [AppModule, CatsModule]), + INVALID_MODULE_MESSAGE(CatsModule, 0, [AppModule, CatsModule], null), + ); + + expect(actualMessage).to.be.eq(expectedMessage); + }); + + it('should display the received `false` value and its type', () => { + const expectedMessage = + stringCleaner(`Nest cannot create the CatsModule instance. +Received an unexpected value at index [0] of the CatsModule "imports" array. +The received value \`false\` is of type "boolean". + +Scope [AppModule -> CatsModule]`); + + const actualMessage = stringCleaner( + INVALID_MODULE_MESSAGE(CatsModule, 0, [AppModule, CatsModule], false), + ); + + expect(actualMessage).to.be.eq(expectedMessage); + }); + + it('should display the received `0` value and its type', () => { + const expectedMessage = + stringCleaner(`Nest cannot create the CatsModule instance. +Received an unexpected value at index [0] of the CatsModule "imports" array. +The received value \`0\` is of type "number". + +Scope [AppModule -> CatsModule]`); + + const actualMessage = stringCleaner( + INVALID_MODULE_MESSAGE(CatsModule, 0, [AppModule, CatsModule], 0), + ); + + expect(actualMessage).to.be.eq(expectedMessage); + }); + + it('should display the received empty string value and its type', () => { + const expectedMessage = + stringCleaner(`Nest cannot create the CatsModule instance. +Received an unexpected value at index [0] of the CatsModule "imports" array. +The received value \`""\` is of type "string". + +Scope [AppModule -> CatsModule]`); + + const actualMessage = stringCleaner( + INVALID_MODULE_MESSAGE(CatsModule, 0, [AppModule, CatsModule], ''), ); expect(actualMessage).to.be.eq(expectedMessage); From f38d0d3bcb6a4b88ff8ec7bb18ee2b37b586f5df Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 May 2026 11:37:33 +0000 Subject: [PATCH 17/34] chore(deps): update dependency webpack to v5.107.0 --- sample/08-webpack/package.json | 2 +- sample/31-graphql-federation-code-first/gateway/package.json | 2 +- .../users-application/package.json | 2 +- sample/36-hmr-esm/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sample/08-webpack/package.json b/sample/08-webpack/package.json index 236129a33e..0569d956dd 100644 --- a/sample/08-webpack/package.json +++ b/sample/08-webpack/package.json @@ -31,7 +31,7 @@ "start-server-webpack-plugin": "2.2.5", "ts-loader": "9.5.7", "ts-node": "10.9.2", - "webpack": "5.106.2", + "webpack": "5.107.0", "webpack-cli": "7.0.2", "webpack-node-externals": "3.0.0", "typescript-eslint": "8.59.1" diff --git a/sample/31-graphql-federation-code-first/gateway/package.json b/sample/31-graphql-federation-code-first/gateway/package.json index a73685d8fb..585e60e7c6 100644 --- a/sample/31-graphql-federation-code-first/gateway/package.json +++ b/sample/31-graphql-federation-code-first/gateway/package.json @@ -55,7 +55,7 @@ "tsconfig-paths": "4.2.0", "typescript": "5.9.3", "typescript-eslint": "8.59.1", - "webpack": "5.106.2" + "webpack": "5.107.0" }, "jest": { "moduleFileExtensions": [ diff --git a/sample/31-graphql-federation-code-first/users-application/package.json b/sample/31-graphql-federation-code-first/users-application/package.json index 5da8b71178..0123d87791 100644 --- a/sample/31-graphql-federation-code-first/users-application/package.json +++ b/sample/31-graphql-federation-code-first/users-application/package.json @@ -56,7 +56,7 @@ "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", "typescript": "5.9.3", - "webpack": "5.106.2", + "webpack": "5.107.0", "typescript-eslint": "8.59.1" }, "jest": { diff --git a/sample/36-hmr-esm/package.json b/sample/36-hmr-esm/package.json index f45ab52367..d8a00e3c1f 100644 --- a/sample/36-hmr-esm/package.json +++ b/sample/36-hmr-esm/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "run-script-webpack-plugin": "0.2.3", - "webpack": "5.106.2", + "webpack": "5.107.0", "webpack-node-externals": "3.0.0", "@eslint/eslintrc": "3.3.5", "@eslint/js": "9.39.4", From 260b8ece26ad772e112c955e9d97ae973b866b3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 21 May 2026 10:42:28 +0200 Subject: [PATCH 18/34] fix(core): inflight request injection bug #16989 --- .../request-scoped-factory-provider.spec.ts | 197 ++++++++++++++++++ packages/core/injector/injector.ts | 44 +++- packages/core/test/injector/injector.spec.ts | 24 +++ 3 files changed, 260 insertions(+), 5 deletions(-) create mode 100644 integration/injector/e2e/request-scoped-factory-provider.spec.ts diff --git a/integration/injector/e2e/request-scoped-factory-provider.spec.ts b/integration/injector/e2e/request-scoped-factory-provider.spec.ts new file mode 100644 index 0000000000..0f89f4f32d --- /dev/null +++ b/integration/injector/e2e/request-scoped-factory-provider.spec.ts @@ -0,0 +1,197 @@ +import { + ArgumentsHost, + Catch, + Controller, + ExceptionFilter, + Get, + Inject, + Injectable, + Module, + Scope, +} from '@nestjs/common'; +import { REQUEST } from '@nestjs/core'; +import { + FastifyAdapter, + NestFastifyApplication, +} from '@nestjs/platform-fastify'; +import type { FastifyRequest } from 'fastify'; +import { Test } from '@nestjs/testing'; +import { expect } from 'chai'; + +describe('Request-scoped factory provider', () => { + const REQUEST_SCOPED_FACTORY = 'REQUEST_SCOPED_FACTORY'; + + @Catch() + class RecordingFilter implements ExceptionFilter { + catch(exception: unknown, host: ArgumentsHost) { + const response = host.switchToHttp().getResponse<{ + status: (code: number) => unknown; + send: (body: unknown) => unknown; + }>(); + + response.status(500); + response.send({ + statusCode: 500, + message: + exception instanceof Error + ? exception.message + : 'Internal server error', + }); + } + } + + class AuthenticatedTenant { + constructor( + public readonly tenantName: string, + public readonly clientName: string, + ) {} + } + + @Injectable() + class JwtStrategyService { + validate(request: FastifyRequest) { + const tenantId = (request.headers['x-tenant-id'] as string) ?? 'tenant-1'; + const clientId = (request.headers['x-client-id'] as string) ?? 'client-1'; + return { + claim: { + tenantId, + clientId, + }, + isValid: true, + }; + } + } + + @Injectable() + class ConfigService { + get(_key: string) { + return 'config-value'; + } + } + + const AuthenticatedTenantProvider = { + provide: AuthenticatedTenant, + inject: [JwtStrategyService, REQUEST, ConfigService], + scope: Scope.REQUEST, + useFactory: async ( + strategy: JwtStrategyService, + request: FastifyRequest, + _config: ConfigService, + ) => { + const verification = strategy.validate(request); + + return new AuthenticatedTenant( + verification.claim.tenantId, + verification.claim.clientId, + ); + }, + }; + + @Injectable({ scope: Scope.REQUEST }) + class ActorService { + constructor(@Inject(REQUEST) private readonly request: FastifyRequest) {} + + public getActor() { + return (this.request.headers['x-actor-id'] as string) ?? 'system'; + } + } + + @Module({ + providers: [JwtStrategyService, ConfigService, AuthenticatedTenantProvider], + exports: [AuthenticatedTenant], + }) + class AuthModule {} + + @Module({ + providers: [ActorService], + exports: [ActorService], + }) + class ActorModule {} + + @Controller() + class TestController { + constructor( + @Inject(REQUEST_SCOPED_FACTORY) + private readonly requestScopedFactory: { + actorId: string; + tenantId: string; + }, + ) {} + + @Get('/posts') + public getValue() { + return this.requestScopedFactory; + } + } + + @Module({ + imports: [AuthModule, ActorModule], + controllers: [TestController], + providers: [ + { + provide: REQUEST_SCOPED_FACTORY, + scope: Scope.REQUEST, + inject: [AuthenticatedTenant, ActorService], + useFactory: async ( + authenticatedTenant: AuthenticatedTenant, + actorService: ActorService, + ) => ({ + actorId: actorService.getActor() ?? '', + tenantId: authenticatedTenant.tenantName, + }), + }, + ], + }) + class TestModule {} + + let app: NestFastifyApplication; + + beforeEach(async () => { + const moduleRef = await Test.createTestingModule({ + imports: [TestModule], + }).compile(); + + app = moduleRef.createNestApplication( + new FastifyAdapter(), + { logger: false }, + ); + app.useGlobalFilters(new RecordingFilter()); + await app.init(); + }); + + afterEach(async () => { + await app.close(); + }); + + it('should resolve all injected dependencies across overlapping requests', async () => { + const requestCount = 10; + const responses = await Promise.all( + Array.from({ length: requestCount }, (_, index) => + app.inject({ + method: 'GET', + url: '/posts', + headers: { + 'x-actor-id': `actor-${index}`, + 'x-client-id': `client-${index}`, + 'x-tenant-id': `tenant-${index}`, + }, + }), + ), + ); + + const failures = responses.flatMap((response, index) => { + if (response.statusCode !== 200) { + return [ + { + body: response.body, + index, + statusCode: response.statusCode, + }, + ]; + } + return []; + }); + + expect(failures).to.deep.equal([]); + }); +}); diff --git a/packages/core/injector/injector.ts b/packages/core/injector/injector.ts index defefc287d..1bcb375ad1 100644 --- a/packages/core/injector/injector.ts +++ b/packages/core/injector/injector.ts @@ -317,7 +317,10 @@ export class Injector { ) { const metadata = wrapper.getCtorMetadata(); - if (metadata && resolutionContext.contextId !== STATIC_CONTEXT) { + if ( + resolutionContext.contextId !== STATIC_CONTEXT && + this.hasDenseCtorMetadata(wrapper, inject, metadata) + ) { const deps = await this.loadCtorMetadata( metadata, resolutionContext.contextId, @@ -461,21 +464,21 @@ export class Injector { ]; } - public reflectConstructorParams(type: Type): any[] { + public reflectConstructorParams(type: Type | Function): any[] { const paramtypes = [ ...(Reflect.getMetadata(PARAMTYPES_METADATA, type) || []), ]; - const selfParams = this.reflectSelfParams(type); + const selfParams = this.reflectSelfParams(type); selfParams.forEach(({ index, param }) => (paramtypes[index] = param)); return Array.from(paramtypes); } - public reflectOptionalParams(type: Type): any[] { + public reflectOptionalParams(type: Type | Function): any[] { return Reflect.getMetadata(OPTIONAL_DEPS_METADATA, type) || []; } - public reflectSelfParams(type: Type): any[] { + public reflectSelfParams(type: Type | Function): any[] { return Reflect.getMetadata(SELF_DECLARED_DEPS_METADATA, type) || []; } @@ -1149,6 +1152,37 @@ export class Injector { ); } + private hasDenseCtorMetadata( + wrapper: InstanceWrapper, + inject: InjectorDependency[] | undefined, + metadata: InstanceWrapper[] | undefined, + ): boolean { + if (!metadata) { + return false; + } + + // The fast path requires a fully populated metadata array. + // While another request is still registering dependency metadata, + // sparse entries here would feed request-scoped factories `undefined`. + const expectedDepsLength = !isNil(inject) + ? inject.length + : wrapper.metatype + ? this.reflectConstructorParams(wrapper.metatype).length + : 0; + + if (metadata.length !== expectedDepsLength) { + return false; + } + + for (let index = 0; index < expectedDepsLength; index++) { + if (metadata[index] === undefined) { + return false; + } + } + + return true; + } + private resolveScopedComponentHost( item: InstanceWrapper, contextId: ContextId, diff --git a/packages/core/test/injector/injector.spec.ts b/packages/core/test/injector/injector.spec.ts index a8120130dd..94efa0f233 100644 --- a/packages/core/test/injector/injector.spec.ts +++ b/packages/core/test/injector/injector.spec.ts @@ -211,6 +211,30 @@ describe('Injector', () => { }); }); + describe('resolveConstructorParams', () => { + it('should fall back to resolving each param when ctor metadata is sparse', async () => { + const wrapper = new InstanceWrapper(); + const metadata = [new InstanceWrapper()]; + metadata.length = 2; + + sinon.stub(wrapper, 'getCtorMetadata').callsFake(() => metadata); + + const loadCtorMetadataSpy = sinon.spy(injector, 'loadCtorMetadata'); + await injector + .resolveConstructorParams( + wrapper, + null!, + ['Provider1', 'Provider2'], + () => {}, + { contextId: { id: 2 } }, + ) + .catch(() => {}); + + expect(loadCtorMetadataSpy.called).to.be.false; + loadCtorMetadataSpy.restore(); + }); + }); + describe('loadMiddleware', () => { let loadInstanceSpy: sinon.SinonSpy; From 801c46ffa19d2a549adc446d1f91e7484ae61edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 21 May 2026 10:56:24 +0200 Subject: [PATCH 19/34] chore(release): publish v11.1.22 release --- lerna.json | 2 +- package-lock.json | 76 ------------------------ packages/common/package.json | 2 +- packages/core/package.json | 4 +- packages/microservices/package.json | 6 +- packages/platform-express/package.json | 6 +- packages/platform-fastify/package.json | 2 +- packages/platform-socket.io/package.json | 2 +- packages/platform-ws/package.json | 2 +- packages/testing/package.json | 2 +- packages/websockets/package.json | 6 +- 11 files changed, 17 insertions(+), 93 deletions(-) diff --git a/lerna.json b/lerna.json index e517d668ce..5130679254 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "packages": ["packages/*"], - "version": "11.1.21", + "version": "11.1.22", "$schema": "node_modules/lerna/schemas/lerna-schema.json" } diff --git a/package-lock.json b/package-lock.json index f991437131..36b56a6eab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3235,82 +3235,6 @@ } } }, - "node_modules/@nestjs/common": { - "version": "11.1.21", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.21.tgz", - "integrity": "sha512-YV1HYDGsm2rnR0vrLKidtrG6jYX5yqiIjeur1j8++dKGqhhsJ6cjMs0RfQRSTUH7IjgDemA59/znQ8nRrE0D9g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "file-type": "21.3.4", - "iterare": "1.2.1", - "load-esm": "1.0.3", - "tslib": "2.8.1", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "class-transformer": ">=0.4.1", - "class-validator": ">=0.13.2", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } - } - }, - "node_modules/@nestjs/core": { - "version": "11.1.21", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.21.tgz", - "integrity": "sha512-fqo0BHgny3MOuAL8GSfG3ZUKFVVBaBQD/0iyibnwTONT5vPexjQxJzu+945iloVvBDmrnAaRWxC1gqCDEs/AXQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nuxt/opencollective": "0.4.1", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "8.4.2", - "tslib": "2.8.1", - "uid": "2.0.2" - }, - "engines": { - "node": ">= 20" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^11.0.0", - "@nestjs/microservices": "^11.0.0", - "@nestjs/platform-express": "^11.0.0", - "@nestjs/websockets": "^11.0.0", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } - } - }, "node_modules/@nestjs/graphql": { "version": "13.4.1", "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-13.4.1.tgz", diff --git a/packages/common/package.json b/packages/common/package.json index 6aeb861751..f054a2772c 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/common", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@common)", "author": "Kamil Mysliwiec", "homepage": "https://nestjs.com", diff --git a/packages/core/package.json b/packages/core/package.json index 88a99731ed..d57f47d08c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/core", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@core)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -39,7 +39,7 @@ "uid": "2.0.2" }, "devDependencies": { - "@nestjs/common": "11.1.21" + "@nestjs/common": "11.1.22" }, "peerDependencies": { "@nestjs/common": "^11.0.0", diff --git a/packages/microservices/package.json b/packages/microservices/package.json index 37113cfd24..ce149fae80 100644 --- a/packages/microservices/package.json +++ b/packages/microservices/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/microservices", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@microservices)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -22,8 +22,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21" + "@nestjs/common": "11.1.22", + "@nestjs/core": "11.1.22" }, "peerDependencies": { "@grpc/grpc-js": "*", diff --git a/packages/platform-express/package.json b/packages/platform-express/package.json index 0d17b90b6a..18743b39c3 100644 --- a/packages/platform-express/package.json +++ b/packages/platform-express/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-express", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@platform-express)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -25,8 +25,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21" + "@nestjs/common": "11.1.22", + "@nestjs/core": "11.1.22" }, "peerDependencies": { "@nestjs/common": "^11.0.0", diff --git a/packages/platform-fastify/package.json b/packages/platform-fastify/package.json index a11267df62..2e6988537b 100644 --- a/packages/platform-fastify/package.json +++ b/packages/platform-fastify/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-fastify", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/platform-socket.io/package.json b/packages/platform-socket.io/package.json index b7e4dc064f..a5cb1177b6 100644 --- a/packages/platform-socket.io/package.json +++ b/packages/platform-socket.io/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-socket.io", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@platform-socket.io)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/platform-ws/package.json b/packages/platform-ws/package.json index e3932610d7..8e640bf51c 100644 --- a/packages/platform-ws/package.json +++ b/packages/platform-ws/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-ws", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@platform-ws)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/testing/package.json b/packages/testing/package.json index 1c633d95fc..4c6d93f77b 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/testing", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@testing)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/websockets/package.json b/packages/websockets/package.json index 4c33fac2d0..8eefec420a 100644 --- a/packages/websockets/package.json +++ b/packages/websockets/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/websockets", - "version": "11.1.21", + "version": "11.1.22", "description": "Nest - modern, fast, powerful node.js web framework (@websockets)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -18,8 +18,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21" + "@nestjs/common": "11.1.22", + "@nestjs/core": "11.1.22" }, "peerDependencies": { "@nestjs/common": "^11.0.0", From 9c1f23a329af90f053ace1350ad0e16f60c09b30 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 08:58:16 +0000 Subject: [PATCH 20/34] fix(deps): update dependency @grpc/grpc-js to v1.14.4 --- package-lock.json | 84 +++++++++++++++++++++++++++++++++++-- package.json | 2 +- sample/04-grpc/package.json | 2 +- 3 files changed, 82 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36b56a6eab..addab81a5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "@fastify/multipart": "10.0.0", "@fastify/static": "9.1.3", "@fastify/view": "11.1.1", - "@grpc/grpc-js": "1.14.3", + "@grpc/grpc-js": "1.14.4", "@grpc/proto-loader": "0.8.1", "@nestjs/apollo": "13.4.1", "@nestjs/graphql": "13.4.1", @@ -2085,9 +2085,9 @@ } }, "node_modules/@grpc/grpc-js": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.14.3.tgz", - "integrity": "sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==", + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.14.4.tgz", + "integrity": "sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -3235,6 +3235,82 @@ } } }, + "node_modules/@nestjs/common": { + "version": "11.1.22", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.22.tgz", + "integrity": "sha512-mPNshGpl41vTtXoaOYzSZLiZAL9C08T+o/7DdtgATNPTFm6h1+UTg+mJo5ne3sDhqNx65y7gVGWVph/fbB9Hkw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "file-type": "21.3.4", + "iterare": "1.2.1", + "load-esm": "1.0.3", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": ">=0.4.1", + "class-validator": ">=0.13.2", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/core": { + "version": "11.1.22", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.22.tgz", + "integrity": "sha512-Wy0KSQTeWiq+GZZQ3rnhSamqRztRBLWPWNeOlyIup7oVX5gnf+9ZyM8TUjUjy6chITomuNHVpHC6SH5WSb5hgg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@nuxt/opencollective": "0.4.1", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "8.4.2", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0", + "@nestjs/websockets": "^11.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, "node_modules/@nestjs/graphql": { "version": "13.4.1", "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-13.4.1.tgz", diff --git a/package.json b/package.json index 2713eda54c..d6411f2d95 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "@fastify/multipart": "10.0.0", "@fastify/static": "9.1.3", "@fastify/view": "11.1.1", - "@grpc/grpc-js": "1.14.3", + "@grpc/grpc-js": "1.14.4", "@grpc/proto-loader": "0.8.1", "@nestjs/apollo": "13.4.1", "@nestjs/graphql": "13.4.1", diff --git a/sample/04-grpc/package.json b/sample/04-grpc/package.json index 3945109c1e..0de583cd1f 100644 --- a/sample/04-grpc/package.json +++ b/sample/04-grpc/package.json @@ -19,7 +19,7 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@grpc/grpc-js": "1.14.3", + "@grpc/grpc-js": "1.14.4", "@grpc/reflection": "1.0.4", "@nestjs/common": "11.1.21", "@nestjs/core": "11.1.21", From d956db4c104c22172c3466344b50c017267aca23 Mon Sep 17 00:00:00 2001 From: hbinhng Date: Thu, 21 May 2026 16:46:26 +0700 Subject: [PATCH 21/34] feat(core): warn on late websocket adapter registration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Calling app.useWebSocketAdapter(adapter) after app.init() has run (e.g. from any module's OnModuleInit hook) silently no-ops: the websockets module has already captured the adapter from ApplicationConfig and bootstrapped the gateways. The provided adapter is stored on the config but never applied — gateways remain bound to whatever adapter was active during init(), which in practice is the default IoAdapter. Track this with an isWsModuleRegistered flag flipped after socketModule.register() succeeds, and emit a Logger.warn from useWebSocketAdapter() when called too late. The adapter is still set on ApplicationConfig so any code path that inspects it post-hoc keeps the existing behaviour — the warning only surfaces the timing mismatch so consumers can move the call to main.ts before app.init() / app.listen(). Closes #16992 --- packages/core/nest-application.ts | 7 +++ packages/core/test/nest-application.spec.ts | 47 +++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/packages/core/nest-application.ts b/packages/core/nest-application.ts index f01823a798..e3f4d77e10 100644 --- a/packages/core/nest-application.ts +++ b/packages/core/nest-application.ts @@ -69,6 +69,7 @@ export class NestApplication private readonly microservices: any[] = []; private httpServer: any; private isListening = false; + private isWsModuleRegistered = false; constructor( container: NestContainer, @@ -171,6 +172,7 @@ export class NestApplication this.appOptions, this.httpServer, ); + this.isWsModuleRegistered = true; } public async init(): Promise { @@ -389,6 +391,11 @@ export class NestApplication } public useWebSocketAdapter(adapter: WebSocketAdapter): this { + if (this.isWsModuleRegistered) { + this.logger.warn( + 'useWebSocketAdapter() was called after WebSocket gateways were already initialized. The provided adapter will be stored but will NOT be applied to existing gateways — they remain bound to the previously installed adapter. To install a custom adapter, call app.useWebSocketAdapter(...) BEFORE app.init() (or app.listen()).', + ); + } this.config.setIoAdapter(adapter); return this; } diff --git a/packages/core/test/nest-application.spec.ts b/packages/core/test/nest-application.spec.ts index f74b3052cf..39eea83af9 100644 --- a/packages/core/test/nest-application.spec.ts +++ b/packages/core/test/nest-application.spec.ts @@ -144,4 +144,51 @@ describe('NestApplication', () => { expect(httpAdapterSpy.init.calledOnce).to.be.true; }); }); + describe('useWebSocketAdapter', () => { + function createInstance(): NestApplication { + const noopHttpAdapter = new NoopHttpAdapter({}); + const applicationConfig = new ApplicationConfig(); + const container = new NestContainer(applicationConfig); + container.setHttpAdapter(noopHttpAdapter); + return new NestApplication( + container, + noopHttpAdapter, + applicationConfig, + new GraphInspector(container), + {}, + ); + } + + it('should not warn when called before WS module registration', () => { + const instance = createInstance(); + const warnSpy = sinon.spy((instance as any).logger, 'warn'); + + instance.useWebSocketAdapter({} as any); + + expect(warnSpy.called).to.be.false; + }); + + it('should warn when called after WS module registration', () => { + const instance = createInstance(); + instance.registerWsModule(); + const warnSpy = sinon.spy((instance as any).logger, 'warn'); + + instance.useWebSocketAdapter({} as any); + + expect(warnSpy.calledOnce).to.be.true; + expect(warnSpy.firstCall.args[0]).to.match( + /useWebSocketAdapter\(\) was called after WebSocket gateways were already initialized/, + ); + }); + + it('should still set the adapter on ApplicationConfig even when called too late', () => { + const instance = createInstance(); + instance.registerWsModule(); + const adapter = { create: () => undefined } as any; + + instance.useWebSocketAdapter(adapter); + + expect((instance as any).config.getIoAdapter()).to.equal(adapter); + }); + }); }); From 17e6e84a20d1f7dab1bb60e07dee4ccb9a17f723 Mon Sep 17 00:00:00 2001 From: Kamil Mysliwiec Date: Thu, 21 May 2026 12:16:43 +0200 Subject: [PATCH 22/34] Update Readme.md --- Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Readme.md b/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/Readme.md +++ b/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + From f70f4ba506cdc50e2dca4ea2f5ad00c3bd6fc942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 21 May 2026 12:54:40 +0200 Subject: [PATCH 23/34] test(core): add several tests for parallel request-scoped providers --- ...parallel-request-scoped-resolution.spec.ts | 246 ++++++++++++++++++ .../request-scoped-factory-provider.spec.ts | 54 +++- .../injector/e2e/scoped-instances.spec.ts | 58 +++++ .../microservices/e2e/math-grpc.spec.ts | 2 +- .../scopes/e2e/durable-providers.spec.ts | 63 ++++- .../scopes/e2e/request-modules-scope.spec.ts | 32 ++- integration/scopes/e2e/request-scope.spec.ts | 71 ++++- 7 files changed, 514 insertions(+), 12 deletions(-) create mode 100644 integration/injector/e2e/parallel-request-scoped-resolution.spec.ts diff --git a/integration/injector/e2e/parallel-request-scoped-resolution.spec.ts b/integration/injector/e2e/parallel-request-scoped-resolution.spec.ts new file mode 100644 index 0000000000..8c50e9adcb --- /dev/null +++ b/integration/injector/e2e/parallel-request-scoped-resolution.spec.ts @@ -0,0 +1,246 @@ +import { + Controller, + Get, + Inject, + Injectable, + Module, + Scope, +} from '@nestjs/common'; +import { REQUEST, createContextId } from '@nestjs/core'; +import { Test, TestingModule } from '@nestjs/testing'; +import { expect } from 'chai'; + +describe('Parallel request-scoped resolution', () => { + const ASYNC_REQUEST_SCOPED = 'ASYNC_REQUEST_SCOPED'; + const SAME_CONTEXT_REQUEST_SCOPED = 'SAME_CONTEXT_REQUEST_SCOPED'; + const OVERLAP_REQUEST_COUNT = 1000; + + @Injectable() + class ResolveInflightGate { + private arrivalCount = 0; + private released = false; + private waitingResolver?: () => void; + + async waitForOverlap() { + if (this.released) { + return; + } + + this.arrivalCount++; + if (this.arrivalCount === 1) { + await new Promise(resolve => { + this.waitingResolver = resolve; + }); + return; + } + + this.released = true; + this.waitingResolver?.(); + this.waitingResolver = undefined; + } + + async yieldOneTurn() { + await new Promise(resolve => setImmediate(resolve)); + } + } + + @Injectable({ scope: Scope.REQUEST }) + class RequestReader { + constructor( + @Inject(REQUEST) + public readonly request: { + requestId: string; + }, + ) {} + } + + const AsyncRequestScopedProvider = { + provide: ASYNC_REQUEST_SCOPED, + scope: Scope.REQUEST, + inject: [RequestReader, ResolveInflightGate], + useFactory: async ( + requestReader: RequestReader, + inflightGate: ResolveInflightGate, + ) => { + await inflightGate.waitForOverlap(); + + return { + requestId: requestReader.request.requestId, + }; + }, + }; + + const SameContextRequestScopedProvider = { + provide: SAME_CONTEXT_REQUEST_SCOPED, + scope: Scope.REQUEST, + inject: [RequestReader, ResolveInflightGate], + useFactory: async ( + requestReader: RequestReader, + inflightGate: ResolveInflightGate, + ) => { + await inflightGate.yieldOneTurn(); + + return { + requestId: requestReader.request.requestId, + }; + }, + }; + + @Injectable() + class BubbledProvider { + constructor( + @Inject(ASYNC_REQUEST_SCOPED) + public readonly payload: { + requestId: string; + }, + public readonly requestReader: RequestReader, + ) {} + } + + @Injectable() + class SameContextBubbledProvider { + constructor( + @Inject(SAME_CONTEXT_REQUEST_SCOPED) + public readonly payload: { + requestId: string; + }, + public readonly requestReader: RequestReader, + ) {} + } + + @Controller({ path: 'parallel', scope: Scope.REQUEST }) + class ParallelController { + constructor( + @Inject(ASYNC_REQUEST_SCOPED) + public readonly payload: { + requestId: string; + }, + public readonly requestReader: RequestReader, + ) {} + + @Get() + getPayload() { + return this.payload; + } + } + + @Module({ + controllers: [ParallelController], + providers: [ + ResolveInflightGate, + RequestReader, + AsyncRequestScopedProvider, + SameContextRequestScopedProvider, + BubbledProvider, + SameContextBubbledProvider, + ], + }) + class ParallelModule {} + + let testingModule: TestingModule; + + const prepareContexts = (moduleRef: TestingModule, count: number) => + Array.from({ length: count }, (_, index) => { + const contextId = createContextId(); + const request = { requestId: `request-${index}` }; + moduleRef.registerRequestByContextId(request, contextId); + return { contextId, request }; + }); + + beforeEach(async () => { + testingModule = await Test.createTestingModule({ + imports: [ParallelModule], + }).compile(); + }); + + it('should isolate request-scoped factory providers across overlapping context resolutions', async function () { + this.timeout(20000); + const contexts = prepareContexts(testingModule, OVERLAP_REQUEST_COUNT); + + const payloads = await Promise.all( + contexts.map(({ contextId }) => + testingModule.resolve<{ requestId: string }>( + ASYNC_REQUEST_SCOPED, + contextId, + ), + ), + ); + + expect(payloads).to.deep.equal( + contexts.map(({ request }) => ({ requestId: request.requestId })), + ); + expect(new Set(payloads).size).to.equal(contexts.length); + }); + + it('should bubble singleton providers to request scope during overlapping context resolutions', async function () { + this.timeout(20000); + const contexts = prepareContexts(testingModule, OVERLAP_REQUEST_COUNT); + + const providers = await Promise.all( + contexts.map(({ contextId }) => + testingModule.resolve(BubbledProvider, contextId), + ), + ); + + expect(new Set(providers).size).to.equal(contexts.length); + expect(providers.map(provider => provider.payload)).to.deep.equal( + contexts.map(({ request }) => ({ requestId: request.requestId })), + ); + expect( + providers.map(provider => provider.requestReader.request.requestId), + ).to.deep.equal(contexts.map(({ request }) => request.requestId)); + }); + + it('should reuse a request-scoped factory provider for overlapping resolutions in the same context', async function () { + this.timeout(20000); + const [{ contextId, request }] = prepareContexts(testingModule, 1); + + const providers = await Promise.all( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => + testingModule.resolve<{ requestId: string }>( + SAME_CONTEXT_REQUEST_SCOPED, + contextId, + ), + ), + ); + + expect(new Set(providers).size).to.equal(1); + expect(providers[0]).to.deep.equal({ requestId: request.requestId }); + }); + + it('should reuse a bubbled provider for overlapping resolutions in the same context', async function () { + this.timeout(20000); + const [{ contextId, request }] = prepareContexts(testingModule, 1); + + const providers = await Promise.all( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => + testingModule.resolve(SameContextBubbledProvider, contextId), + ), + ); + + expect(new Set(providers).size).to.equal(1); + expect(providers[0].payload).to.deep.equal({ + requestId: request.requestId, + }); + expect(providers[0].requestReader.request).to.equal(request); + }); + + it('should isolate request-scoped controllers during overlapping context resolutions', async function () { + this.timeout(20000); + const contexts = prepareContexts(testingModule, OVERLAP_REQUEST_COUNT); + + const controllers = await Promise.all( + contexts.map(({ contextId }) => + testingModule.resolve(ParallelController, contextId), + ), + ); + + expect(new Set(controllers).size).to.equal(contexts.length); + expect(controllers.map(controller => controller.payload)).to.deep.equal( + contexts.map(({ request }) => ({ requestId: request.requestId })), + ); + expect( + controllers.map(controller => controller.requestReader.request.requestId), + ).to.deep.equal(contexts.map(({ request }) => request.requestId)); + }); +}); diff --git a/integration/injector/e2e/request-scoped-factory-provider.spec.ts b/integration/injector/e2e/request-scoped-factory-provider.spec.ts index 0f89f4f32d..73b8880b38 100644 --- a/integration/injector/e2e/request-scoped-factory-provider.spec.ts +++ b/integration/injector/e2e/request-scoped-factory-provider.spec.ts @@ -20,6 +20,7 @@ import { expect } from 'chai'; describe('Request-scoped factory provider', () => { const REQUEST_SCOPED_FACTORY = 'REQUEST_SCOPED_FACTORY'; + const REQUEST_COUNT = 1000; @Catch() class RecordingFilter implements ExceptionFilter { @@ -69,6 +70,29 @@ describe('Request-scoped factory provider', () => { } } + @Injectable() + class InflightGate { + private arrivalCount = 0; + private released = false; + private waitingResolver?: () => void; + + async waitForOverlap() { + if (this.released) { + return; + } + this.arrivalCount++; + if (this.arrivalCount === 1) { + await new Promise(resolve => { + this.waitingResolver = resolve; + }); + return; + } + this.released = true; + this.waitingResolver?.(); + this.waitingResolver = undefined; + } + } + const AuthenticatedTenantProvider = { provide: AuthenticatedTenant, inject: [JwtStrategyService, REQUEST, ConfigService], @@ -128,17 +152,23 @@ describe('Request-scoped factory provider', () => { imports: [AuthModule, ActorModule], controllers: [TestController], providers: [ + InflightGate, { provide: REQUEST_SCOPED_FACTORY, scope: Scope.REQUEST, - inject: [AuthenticatedTenant, ActorService], + inject: [AuthenticatedTenant, ActorService, InflightGate], useFactory: async ( authenticatedTenant: AuthenticatedTenant, actorService: ActorService, - ) => ({ - actorId: actorService.getActor() ?? '', - tenantId: authenticatedTenant.tenantName, - }), + inflightGate: InflightGate, + ) => { + await inflightGate.waitForOverlap(); + + return { + actorId: actorService.getActor() ?? '', + tenantId: authenticatedTenant.tenantName, + }; + }, }, ], }) @@ -163,10 +193,10 @@ describe('Request-scoped factory provider', () => { await app.close(); }); - it('should resolve all injected dependencies across overlapping requests', async () => { - const requestCount = 10; + it('should resolve all injected dependencies across overlapping requests', async function () { + this.timeout(20000); const responses = await Promise.all( - Array.from({ length: requestCount }, (_, index) => + Array.from({ length: REQUEST_COUNT }, (_, index) => app.inject({ method: 'GET', url: '/posts', @@ -193,5 +223,13 @@ describe('Request-scoped factory provider', () => { }); expect(failures).to.deep.equal([]); + + const payloads = responses.map(response => JSON.parse(response.body)); + expect(payloads).to.deep.equal( + Array.from({ length: REQUEST_COUNT }, (_, index) => ({ + actorId: `actor-${index}`, + tenantId: `tenant-${index}`, + })), + ); }); }); diff --git a/integration/injector/e2e/scoped-instances.spec.ts b/integration/injector/e2e/scoped-instances.spec.ts index 04cab4e5ff..b67c9acf59 100644 --- a/integration/injector/e2e/scoped-instances.spec.ts +++ b/integration/injector/e2e/scoped-instances.spec.ts @@ -14,6 +14,7 @@ import { TransientService } from '../src/scoped/transient.service'; import { Transient3Service } from '../src/scoped/transient3.service'; describe('Scoped Instances', () => { + const OVERLAP_REQUEST_COUNT = 1000; let testingModule: TestingModule; beforeEach(async () => { @@ -69,6 +70,48 @@ describe('Scoped Instances', () => { expect(request3.request).to.be.equal(requestProvider); }); + it('should isolate request-scoped providers across parallel context resolutions', async function () { + this.timeout(20000); + const contexts = Array.from( + { length: OVERLAP_REQUEST_COUNT }, + (_, index) => { + const contextId = createContextId(); + const requestProvider = { host: `parallel-host-${index}` }; + + testingModule.registerRequestByContextId(requestProvider, contextId); + return { contextId, requestProvider }; + }, + ); + + const providers = await Promise.all( + contexts.map(({ contextId }) => + testingModule.resolve(ScopedService, contextId), + ), + ); + + expect(new Set(providers).size).to.equal(contexts.length); + expect(providers.map(provider => provider.request)).to.deep.equal( + contexts.map(({ requestProvider }) => requestProvider), + ); + }); + + it('should reuse request-scoped providers for parallel resolutions in the same context', async function () { + this.timeout(20000); + const contextId = createContextId(); + const requestProvider = { host: 'shared-host' }; + + testingModule.registerRequestByContextId(requestProvider, contextId); + + const providers = await Promise.all( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => + testingModule.resolve(ScopedService, contextId), + ), + ); + + expect(new Set(providers).size).to.equal(1); + expect(providers[0].request).to.equal(requestProvider); + }); + it('should dynamically resolve request-scoped controller', async () => { const request1 = await testingModule.resolve(ScopedController); const request2 = await testingModule.resolve(ScopedController); @@ -79,6 +122,21 @@ describe('Scoped Instances', () => { expect(request3).to.not.be.equal(request2); }); + it('should isolate request-scoped controllers across parallel context resolutions', async function () { + this.timeout(20000); + const contexts = Array.from({ length: OVERLAP_REQUEST_COUNT }, () => + createContextId(), + ); + + const controllers = await Promise.all( + contexts.map(contextId => + testingModule.resolve(ScopedController, contextId), + ), + ); + + expect(new Set(controllers).size).to.equal(contexts.length); + }); + it('should throw an exception when "get()" method is used for scoped providers', () => { try { testingModule.get(ScopedController); diff --git a/integration/microservices/e2e/math-grpc.spec.ts b/integration/microservices/e2e/math-grpc.spec.ts index 8a80ced27d..d951c56462 100644 --- a/integration/microservices/e2e/math-grpc.spec.ts +++ b/integration/microservices/e2e/math-grpc.spec.ts @@ -140,7 +140,7 @@ describe('GRPC transport', () => { // event. Prior to this test, a bug existed where the server would // send the incorrect number of messages due to improper backpressure // handling that wrote messages more than once. - this.timeout(10000); + this.timeout(30000); const largeMessages = client.streamLargeMessages(); // [0, 1, 2, ..., 999] diff --git a/integration/scopes/e2e/durable-providers.spec.ts b/integration/scopes/e2e/durable-providers.spec.ts index 39573b4e13..513d517ee1 100644 --- a/integration/scopes/e2e/durable-providers.spec.ts +++ b/integration/scopes/e2e/durable-providers.spec.ts @@ -7,8 +7,10 @@ import { DurableContextIdStrategy } from '../src/durable/durable-context-id.stra import { DurableModule } from '../src/durable/durable.module'; describe('Durable providers', () => { + const OVERLAP_REQUEST_COUNT = 1000; let server: any; let app: INestApplication; + let baseUrl: string; before(async () => { const moduleRef = await Test.createTestingModule({ @@ -17,7 +19,8 @@ describe('Durable providers', () => { app = moduleRef.createNestApplication(); server = app.getHttpServer(); - await app.init(); + await app.listen(0); + baseUrl = await app.getUrl(); ContextIdFactory.apply(new DurableContextIdStrategy()); }); @@ -40,6 +43,18 @@ describe('Durable providers', () => { end(res); }); + const performHttpCallAsync = ( + tenantId: number, + endpoint = '/durable', + opts: { + forceError: boolean; + } = { forceError: false }, + ) => + request(baseUrl) + .get(endpoint) + .set({ ['x-tenant-id']: String(tenantId) }) + .set({ ['x-force-error']: opts.forceError ? 'true' : 'false' }); + it(`should share durable providers per tenant`, async () => { let result: request.Response; result = await new Promise(resolve => @@ -108,6 +123,52 @@ describe('Durable providers', () => { }); }); + it(`should preserve request context across overlapping requests from different tenants`, async function () { + this.timeout(20000); + const tenantIds = Array.from( + { length: OVERLAP_REQUEST_COUNT }, + (_, index) => index + 21, + ); + + const responses = await Promise.all( + tenantIds.map(tenantId => + performHttpCallAsync(tenantId, '/durable/request-context'), + ), + ); + + expect(responses.map(response => response.statusCode)).to.deep.equal( + tenantIds.map(() => 200), + ); + expect(responses.map(response => response.body)).to.deep.equal( + tenantIds.map(tenantId => ({ + durableService: String(tenantId), + nonDurableService: String(tenantId), + })), + ); + }); + + it(`should reuse the durable subtree across overlapping requests for the same tenant`, async function () { + this.timeout(20000); + const tenantId = 31; + + const responses = await Promise.all( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => + performHttpCallAsync(tenantId), + ), + ); + + const counters = responses + .map(response => Number(response.text.match(/Counter: (\d+)/)?.[1])) + .sort((left, right) => left - right); + + expect(responses.map(response => response.statusCode)).to.deep.equal( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 200), + ); + expect(counters).to.deep.equal( + Array.from({ length: OVERLAP_REQUEST_COUNT }, (_, index) => index + 1), + ); + }); + it(`should not cache durable providers that throw errors`, async () => { let result: request.Response; diff --git a/integration/scopes/e2e/request-modules-scope.spec.ts b/integration/scopes/e2e/request-modules-scope.spec.ts index 0a7d54ada9..2450020652 100644 --- a/integration/scopes/e2e/request-modules-scope.spec.ts +++ b/integration/scopes/e2e/request-modules-scope.spec.ts @@ -6,8 +6,10 @@ import { RequestChainModule } from '../src/request-chain/request-chain.module'; import { RequestChainService } from '../src/request-chain/request-chain.service'; describe('Request scope (modules propagation)', () => { + const OVERLAP_REQUEST_COUNT = 1000; let server; let app: INestApplication; + let baseUrl: string; before(async () => { const module = await Test.createTestingModule({ @@ -16,7 +18,8 @@ describe('Request scope (modules propagation)', () => { app = module.createNestApplication(); server = app.getHttpServer(); - await app.init(); + await app.listen(0); + baseUrl = await app.getUrl(); }); describe('when service from parent module is request scoped', () => { @@ -38,6 +41,33 @@ describe('Request scope (modules propagation)', () => { }); }); + describe('when service from parent module is request scoped under overlapping requests', function () { + this.timeout(20000); + let counterBefore: number; + let responses: request.Response[]; + + before(async () => { + counterBefore = RequestChainService.COUNTER; + responses = await Promise.all( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => + request(baseUrl).get('/hello'), + ), + ); + }); + + it('should complete every overlapping request successfully', () => { + expect(responses.map(response => response.status)).to.deep.equal( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 200), + ); + }); + + it('should create the request-scoped dependency chain for every overlapping request', () => { + expect(RequestChainService.COUNTER - counterBefore).to.equal( + OVERLAP_REQUEST_COUNT, + ); + }); + }); + after(async () => { await app.close(); }); diff --git a/integration/scopes/e2e/request-scope.spec.ts b/integration/scopes/e2e/request-scope.spec.ts index 7b146972b4..672f6aaccc 100644 --- a/integration/scopes/e2e/request-scope.spec.ts +++ b/integration/scopes/e2e/request-scope.spec.ts @@ -17,8 +17,10 @@ class Meta { } describe('Request scope', () => { + const OVERLAP_REQUEST_COUNT = 1000; let server; let app: INestApplication; + let baseUrl: string; before(async () => { const module = await Test.createTestingModule({ @@ -32,7 +34,8 @@ describe('Request scope', () => { app = module.createNestApplication(); server = app.getHttpServer(); - await app.init(); + await app.listen(0); + baseUrl = await app.getUrl(); }); describe('when one service is request scoped', () => { @@ -77,6 +80,72 @@ describe('Request scope', () => { }); }); + describe('when overlapping requests are handled', function () { + this.timeout(20000); + let controllerCounterBefore: number; + let usersCounterBefore: number; + let pipeCounterBefore: number; + let interceptorCounterBefore: number; + let guardCounterBefore: number; + let pipeDataLengthBefore: number; + let interceptorDataLengthBefore: number; + let guardDataLengthBefore: number; + let responses: request.Response[]; + + before(async () => { + controllerCounterBefore = HelloController.COUNTER; + usersCounterBefore = UsersService.COUNTER; + pipeCounterBefore = UserByIdPipe.COUNTER; + interceptorCounterBefore = Interceptor.COUNTER; + guardCounterBefore = Guard.COUNTER; + pipeDataLengthBefore = UserByIdPipe.REQUEST_SCOPED_DATA.length; + interceptorDataLengthBefore = Interceptor.REQUEST_SCOPED_DATA.length; + guardDataLengthBefore = Guard.REQUEST_SCOPED_DATA.length; + + responses = await Promise.all( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => + request(baseUrl).get('/hello'), + ), + ); + }); + + it('should complete every overlapping request successfully', () => { + expect(responses.map(response => response.status)).to.deep.equal( + Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 200), + ); + }); + + it('should create a request-scoped controller and service for every overlapping request', () => { + expect(HelloController.COUNTER - controllerCounterBefore).to.equal( + OVERLAP_REQUEST_COUNT, + ); + expect(UsersService.COUNTER - usersCounterBefore).to.equal( + OVERLAP_REQUEST_COUNT, + ); + }); + + it('should create request-scoped enhancers for every overlapping request', () => { + expect(UserByIdPipe.COUNTER - pipeCounterBefore).to.equal( + OVERLAP_REQUEST_COUNT, + ); + expect(Interceptor.COUNTER - interceptorCounterBefore).to.equal( + OVERLAP_REQUEST_COUNT, + ); + expect(Guard.COUNTER - guardCounterBefore).to.equal( + OVERLAP_REQUEST_COUNT, + ); + expect( + UserByIdPipe.REQUEST_SCOPED_DATA.slice(pipeDataLengthBefore), + ).to.deep.equal(Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1)); + expect( + Interceptor.REQUEST_SCOPED_DATA.slice(interceptorDataLengthBefore), + ).to.deep.equal(Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1)); + expect( + Guard.REQUEST_SCOPED_DATA.slice(guardDataLengthBefore), + ).to.deep.equal(Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1)); + }); + }); + after(async () => { await app.close(); }); From 9a5d07b062c5b3897b9585e5531438acb85fc985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 21 May 2026 13:54:36 +0200 Subject: [PATCH 24/34] test(core): add deeply nested transient providers in scoped chains --- .../scopes/e2e/transient-scope.spec.ts | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/integration/scopes/e2e/transient-scope.spec.ts b/integration/scopes/e2e/transient-scope.spec.ts index cfe8b9cd24..faa50daa29 100644 --- a/integration/scopes/e2e/transient-scope.spec.ts +++ b/integration/scopes/e2e/transient-scope.spec.ts @@ -1,4 +1,5 @@ import { INestApplication, Injectable, Scope } from '@nestjs/common'; +import { createContextId } from '@nestjs/core'; import { Test } from '@nestjs/testing'; import { expect } from 'chai'; import * as request from 'supertest'; @@ -449,4 +450,154 @@ describe('Transient scope', () => { await app.close(); }); }); + + describe('when request-scoped providers have a deeply nested transient chain', () => { + let app: INestApplication; + + @Injectable({ scope: Scope.TRANSIENT }) + class RequestDepthSixTransient { + public static instanceCount = 0; + public readonly instanceId: number; + + constructor() { + RequestDepthSixTransient.instanceCount++; + this.instanceId = RequestDepthSixTransient.instanceCount; + } + } + + @Injectable({ scope: Scope.TRANSIENT }) + class RequestDepthFiveTransient { + public static instanceCount = 0; + public readonly instanceId: number; + + constructor(public readonly next: RequestDepthSixTransient) { + RequestDepthFiveTransient.instanceCount++; + this.instanceId = RequestDepthFiveTransient.instanceCount; + } + } + + @Injectable({ scope: Scope.TRANSIENT }) + class RequestDepthFourTransient { + constructor(public readonly next: RequestDepthFiveTransient) {} + } + + @Injectable({ scope: Scope.TRANSIENT }) + class RequestDepthThreeTransient { + constructor(public readonly next: RequestDepthFourTransient) {} + } + + @Injectable({ scope: Scope.TRANSIENT }) + class RequestDepthTwoTransient { + constructor(public readonly next: RequestDepthThreeTransient) {} + } + + @Injectable({ scope: Scope.TRANSIENT }) + class RequestDepthOneTransient { + constructor(public readonly next: RequestDepthTwoTransient) {} + } + + @Injectable({ scope: Scope.REQUEST }) + class RequestScopedParentA { + constructor(public readonly chain: RequestDepthOneTransient) {} + } + + @Injectable({ scope: Scope.REQUEST }) + class RequestScopedParentB { + constructor(public readonly chain: RequestDepthOneTransient) {} + } + + beforeEach(async () => { + RequestDepthFiveTransient.instanceCount = 0; + RequestDepthSixTransient.instanceCount = 0; + + const module = await Test.createTestingModule({ + providers: [ + RequestScopedParentA, + RequestScopedParentB, + RequestDepthOneTransient, + RequestDepthTwoTransient, + RequestDepthThreeTransient, + RequestDepthFourTransient, + RequestDepthFiveTransient, + RequestDepthSixTransient, + ], + }).compile(); + + app = module.createNestApplication(); + await app.init(); + }); + + it('should create separate deep transient chains for different request-scoped parents in the same context', async function () { + this.timeout(20000); + + const contextId = createContextId(); + const [parentA, parentB] = await Promise.all([ + app.resolve(RequestScopedParentA, contextId), + app.resolve(RequestScopedParentB, contextId), + ]); + + expect(parentA).to.not.equal(parentB); + expect(parentA.chain).to.not.equal(parentB.chain); + expect(parentA.chain.next.next.next.next.instanceId).to.not.equal( + parentB.chain.next.next.next.next.instanceId, + ); + expect(parentA.chain.next.next.next.next.next.instanceId).to.not.equal( + parentB.chain.next.next.next.next.next.instanceId, + ); + }); + + it('should isolate deep transient chains across overlapping request contexts', async function () { + this.timeout(20000); + + const contextIds = Array.from({ length: 200 }, () => createContextId()); + const parents = await Promise.all( + contextIds.map(contextId => + app.resolve(RequestScopedParentA, contextId), + ), + ); + + expect(new Set(parents).size).to.equal(contextIds.length); + expect( + new Set( + parents.map(parent => parent.chain.next.next.next.next.instanceId), + ).size, + ).to.equal(contextIds.length); + expect( + new Set( + parents.map( + parent => parent.chain.next.next.next.next.next.instanceId, + ), + ).size, + ).to.equal(contextIds.length); + }); + + it('should reuse the same request-scoped parent while preserving a single deep transient chain per context', async function () { + this.timeout(20000); + + const contextId = createContextId(); + const parents = await Promise.all( + Array.from({ length: 200 }, () => + app.resolve(RequestScopedParentA, contextId), + ), + ); + + expect(new Set(parents).size).to.equal(1); + expect( + new Set( + parents.map(parent => parent.chain.next.next.next.next.instanceId), + ).size, + ).to.equal(1); + expect( + new Set( + parents.map( + parent => parent.chain.next.next.next.next.next.instanceId, + ), + ).size, + ).to.equal(1); + }); + + afterEach(async () => { + await app.close(); + }); + }); }); From 5de10dfb5d46057d9fde73b8f62e58783db0addb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 21 May 2026 20:12:48 +0200 Subject: [PATCH 25/34] fix: should skip transient providers for snapshots --- packages/core/injector/injector.ts | 3 +- packages/core/test/injector/injector.spec.ts | 34 +++++++++++++++- .../test/nest-application-context.spec.ts | 40 +++++++++++++++++++ 3 files changed, 74 insertions(+), 3 deletions(-) diff --git a/packages/core/injector/injector.ts b/packages/core/injector/injector.ts index 1bcb375ad1..99aa259670 100644 --- a/packages/core/injector/injector.ts +++ b/packages/core/injector/injector.ts @@ -1046,7 +1046,6 @@ export class Injector { wrapper: InstanceWrapper, resolutionContext: ResolutionContext, ): boolean { - const isSnapshotGraphCompilation = !!this.options?.snapshot; const isStaticContext = resolutionContext.contextId === STATIC_CONTEXT; const hasNoInquirer = !resolutionContext.inquirer; const isTopLevelStaticTransientOrRequestProvider = @@ -1065,7 +1064,7 @@ export class Injector { (isTopLevelStaticTransientOrRequestProvider || isStaticInquirerOutsideResolutionContext); - return !isSnapshotGraphCompilation && shouldSkipForStaticBootstrap; + return shouldSkipForStaticBootstrap; } /** diff --git a/packages/core/test/injector/injector.spec.ts b/packages/core/test/injector/injector.spec.ts index 94efa0f233..165383884c 100644 --- a/packages/core/test/injector/injector.spec.ts +++ b/packages/core/test/injector/injector.spec.ts @@ -1,4 +1,4 @@ -import { Optional } from '@nestjs/common'; +import { Optional, Scope } from '@nestjs/common'; import { PARAMTYPES_METADATA } from '@nestjs/common/constants'; import * as chai from 'chai'; import { expect } from 'chai'; @@ -310,6 +310,38 @@ describe('Injector', () => { }); }); + describe('loadProvider', () => { + @Injectable({ scope: Scope.TRANSIENT }) + class TransientProvider {} + + it('should not eagerly load a top-level transient provider during snapshot bootstrap', async () => { + const snapshotInjector = new Injector({ + preview: false, + snapshot: true, + }); + const loadInstance = sinon.spy(snapshotInjector, 'loadInstance'); + const loadEnhancersPerContext = sinon.spy( + snapshotInjector, + 'loadEnhancersPerContext', + ); + + const wrapper = new InstanceWrapper({ + metatype: TransientProvider, + instance: null, + isResolved: false, + scope: Scope.TRANSIENT, + }); + const moduleRef = { + providers: new Map([[TransientProvider, wrapper]]), + } as any; + + await snapshotInjector.loadProvider(wrapper as any, moduleRef); + + expect(loadInstance.called).to.be.false; + expect(loadEnhancersPerContext.called).to.be.false; + }); + }); + describe('lookupComponent', () => { let lookupComponentInImports: sinon.SinonStub; const metatype = { name: 'test', metatype: { name: 'test' } }; diff --git a/packages/core/test/nest-application-context.spec.ts b/packages/core/test/nest-application-context.spec.ts index e49d90d48e..2ddcb44506 100644 --- a/packages/core/test/nest-application-context.spec.ts +++ b/packages/core/test/nest-application-context.spec.ts @@ -545,4 +545,44 @@ describe('NestApplicationContext', () => { expect(instances[2]).to.be.instanceOf(Service3); }); }); + + describe('snapshot bootstrap', () => { + it('should not eagerly instantiate an unused transient provider', async () => { + @Injectable({ scope: Scope.TRANSIENT }) + class UnusedTransient { + static constructorCalls = 0; + + constructor() { + UnusedTransient.constructorCalls++; + } + } + + const nestContainer = new NestContainer(); + const injector = new Injector({ + preview: false, + snapshot: true, + }); + const instanceLoader = new InstanceLoader( + nestContainer, + injector, + new GraphInspector(nestContainer), + ); + const { moduleRef } = (await nestContainer.addModule(class T {}, []))!; + + nestContainer.addProvider(UnusedTransient, moduleRef.token); + + const modules = nestContainer.getModules(); + await instanceLoader.createInstancesOfDependencies(modules); + + expect(UnusedTransient.constructorCalls).to.equal(0); + + const appCtx = new NestApplicationContext(nestContainer, { + snapshot: true, + }); + const instance = await appCtx.resolve(UnusedTransient); + + expect(instance).to.be.instanceOf(UnusedTransient); + expect(UnusedTransient.constructorCalls).to.equal(1); + }); + }); }); From b8be8c12270b2e6dcd275d435e573f08b4c79d79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 21 May 2026 20:14:06 +0200 Subject: [PATCH 26/34] chore(release): publish v11.1.23 release --- lerna.json | 2 +- packages/common/package.json | 2 +- packages/core/package.json | 4 ++-- packages/microservices/package.json | 6 +++--- packages/platform-express/package.json | 6 +++--- packages/platform-fastify/package.json | 2 +- packages/platform-socket.io/package.json | 2 +- packages/platform-ws/package.json | 2 +- packages/testing/package.json | 2 +- packages/websockets/package.json | 6 +++--- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lerna.json b/lerna.json index 5130679254..e01a500f75 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "packages": ["packages/*"], - "version": "11.1.22", + "version": "11.1.23", "$schema": "node_modules/lerna/schemas/lerna-schema.json" } diff --git a/packages/common/package.json b/packages/common/package.json index f054a2772c..1e8ff0d74b 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/common", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@common)", "author": "Kamil Mysliwiec", "homepage": "https://nestjs.com", diff --git a/packages/core/package.json b/packages/core/package.json index d57f47d08c..d0214e18dc 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/core", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@core)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -39,7 +39,7 @@ "uid": "2.0.2" }, "devDependencies": { - "@nestjs/common": "11.1.22" + "@nestjs/common": "11.1.23" }, "peerDependencies": { "@nestjs/common": "^11.0.0", diff --git a/packages/microservices/package.json b/packages/microservices/package.json index ce149fae80..bd00d8b808 100644 --- a/packages/microservices/package.json +++ b/packages/microservices/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/microservices", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@microservices)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -22,8 +22,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.22", - "@nestjs/core": "11.1.22" + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.23" }, "peerDependencies": { "@grpc/grpc-js": "*", diff --git a/packages/platform-express/package.json b/packages/platform-express/package.json index 18743b39c3..fc48fe49ee 100644 --- a/packages/platform-express/package.json +++ b/packages/platform-express/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-express", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@platform-express)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -25,8 +25,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.22", - "@nestjs/core": "11.1.22" + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.23" }, "peerDependencies": { "@nestjs/common": "^11.0.0", diff --git a/packages/platform-fastify/package.json b/packages/platform-fastify/package.json index 2e6988537b..055724b5c8 100644 --- a/packages/platform-fastify/package.json +++ b/packages/platform-fastify/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-fastify", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/platform-socket.io/package.json b/packages/platform-socket.io/package.json index a5cb1177b6..caa8714d85 100644 --- a/packages/platform-socket.io/package.json +++ b/packages/platform-socket.io/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-socket.io", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@platform-socket.io)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/platform-ws/package.json b/packages/platform-ws/package.json index 8e640bf51c..4950d125ff 100644 --- a/packages/platform-ws/package.json +++ b/packages/platform-ws/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/platform-ws", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@platform-ws)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/testing/package.json b/packages/testing/package.json index 4c6d93f77b..24f8d7b858 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/testing", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@testing)", "author": "Kamil Mysliwiec", "license": "MIT", diff --git a/packages/websockets/package.json b/packages/websockets/package.json index 8eefec420a..ca8f971f09 100644 --- a/packages/websockets/package.json +++ b/packages/websockets/package.json @@ -1,6 +1,6 @@ { "name": "@nestjs/websockets", - "version": "11.1.22", + "version": "11.1.23", "description": "Nest - modern, fast, powerful node.js web framework (@websockets)", "author": "Kamil Mysliwiec", "license": "MIT", @@ -18,8 +18,8 @@ "tslib": "2.8.1" }, "devDependencies": { - "@nestjs/common": "11.1.22", - "@nestjs/core": "11.1.22" + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.23" }, "peerDependencies": { "@nestjs/common": "^11.0.0", From 2dccece853413a40fe287221b84ca593ec9682a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 21 May 2026 20:15:00 +0200 Subject: [PATCH 27/34] chore: update readmes --- packages/common/Readme.md | 1 + packages/core/Readme.md | 1 + packages/microservices/Readme.md | 1 + packages/platform-express/Readme.md | 1 + packages/platform-fastify/Readme.md | 1 + packages/platform-socket.io/Readme.md | 1 + packages/platform-ws/Readme.md | 1 + packages/testing/Readme.md | 1 + packages/websockets/Readme.md | 1 + 9 files changed, 9 insertions(+) diff --git a/packages/common/Readme.md b/packages/common/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/common/Readme.md +++ b/packages/common/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + diff --git a/packages/core/Readme.md b/packages/core/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/core/Readme.md +++ b/packages/core/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + diff --git a/packages/microservices/Readme.md b/packages/microservices/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/microservices/Readme.md +++ b/packages/microservices/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + diff --git a/packages/platform-express/Readme.md b/packages/platform-express/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/platform-express/Readme.md +++ b/packages/platform-express/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + diff --git a/packages/platform-fastify/Readme.md b/packages/platform-fastify/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/platform-fastify/Readme.md +++ b/packages/platform-fastify/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + diff --git a/packages/platform-socket.io/Readme.md b/packages/platform-socket.io/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/platform-socket.io/Readme.md +++ b/packages/platform-socket.io/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + diff --git a/packages/platform-ws/Readme.md b/packages/platform-ws/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/platform-ws/Readme.md +++ b/packages/platform-ws/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + diff --git a/packages/testing/Readme.md b/packages/testing/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/testing/Readme.md +++ b/packages/testing/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + diff --git a/packages/websockets/Readme.md b/packages/websockets/Readme.md index 99efbbfd78..97617f7b8c 100644 --- a/packages/websockets/Readme.md +++ b/packages/websockets/Readme.md @@ -129,6 +129,7 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors + From a47d0a0a64923b8644bfb8fd870226888003d81c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 18:18:27 +0000 Subject: [PATCH 28/34] fix(deps): update nest monorepo --- sample/01-cats-app/package.json | 8 +++---- sample/02-gateways/package.json | 12 +++++----- sample/03-microservices/package.json | 10 ++++---- sample/04-grpc/package.json | 10 ++++---- sample/05-sql-typeorm/package.json | 8 +++---- sample/06-mongoose/package.json | 8 +++---- sample/07-sequelize/package.json | 8 +++---- sample/08-webpack/package.json | 6 ++--- sample/09-babel-example/package.json | 12 +++++----- sample/10-fastify/package.json | 8 +++---- sample/11-swagger/package.json | 8 +++---- sample/12-graphql-schema-first/package.json | 8 +++---- sample/13-mongo-typeorm/package.json | 8 +++---- sample/14-mongoose-base/package.json | 8 +++---- sample/15-mvc/package.json | 8 +++---- sample/16-gateways-ws/package.json | 12 +++++----- sample/17-mvc-fastify/package.json | 8 +++---- sample/18-context/package.json | 4 ++-- sample/19-auth-jwt/package.json | 8 +++---- sample/20-cache/package.json | 8 +++---- sample/21-serializer/package.json | 8 +++---- sample/22-graphql-prisma/package.json | 8 +++---- sample/23-graphql-code-first/package.json | 8 +++---- sample/24-serve-static/package.json | 8 +++---- sample/25-dynamic-modules/package.json | 8 +++---- sample/26-queues/package.json | 8 +++---- sample/27-scheduling/package.json | 8 +++---- sample/28-sse/package.json | 8 +++---- sample/29-file-upload/package.json | 8 +++---- sample/30-event-emitter/package.json | 8 +++---- .../gateway/package.json | 8 +++---- .../posts-application/package.json | 8 +++---- .../users-application/package.json | 8 +++---- .../gateway/package.json | 8 +++---- .../posts-application/package.json | 8 +++---- .../users-application/package.json | 8 +++---- sample/33-graphql-mercurius/package.json | 8 +++---- sample/36-hmr-esm/package.json | 8 +++---- tools/benchmarks/package-lock.json | 24 +++++++++---------- 39 files changed, 169 insertions(+), 169 deletions(-) diff --git a/sample/01-cats-app/package.json b/sample/01-cats-app/package.json index 254fbef622..b4a5d30bf7 100644 --- a/sample/01-cats-app/package.json +++ b/sample/01-cats-app/package.json @@ -19,9 +19,9 @@ "test:e2e": "jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/02-gateways/package.json b/sample/02-gateways/package.json index 8eb0274195..b4a2dbf3ef 100644 --- a/sample/02-gateways/package.json +++ b/sample/02-gateways/package.json @@ -19,11 +19,11 @@ "test:e2e": "jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", - "@nestjs/platform-socket.io": "11.1.21", - "@nestjs/websockets": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", + "@nestjs/platform-socket.io": "11.1.22", + "@nestjs/websockets": "11.1.23", "@socket.io/redis-adapter": "8.3.0", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -37,7 +37,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/03-microservices/package.json b/sample/03-microservices/package.json index fd9eca4b2e..9fb9d24752 100644 --- a/sample/03-microservices/package.json +++ b/sample/03-microservices/package.json @@ -19,10 +19,10 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/microservices": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/microservices": "11.1.22", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/amqplib": "0.10.8", "@types/express": "5.0.6", "@types/node": "24.12.4", diff --git a/sample/04-grpc/package.json b/sample/04-grpc/package.json index 3945109c1e..83a3d1c050 100644 --- a/sample/04-grpc/package.json +++ b/sample/04-grpc/package.json @@ -21,10 +21,10 @@ "dependencies": { "@grpc/grpc-js": "1.14.3", "@grpc/reflection": "1.0.4", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/microservices": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/microservices": "11.1.22", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/05-sql-typeorm/package.json b/sample/05-sql-typeorm/package.json index 77cab0ad1d..818910cbed 100644 --- a/sample/05-sql-typeorm/package.json +++ b/sample/05-sql-typeorm/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "@nestjs/typeorm": "11.0.1", "mysql2": "3.22.3", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/06-mongoose/package.json b/sample/06-mongoose/package.json index 49c185be0c..b7589e94fa 100644 --- a/sample/06-mongoose/package.json +++ b/sample/06-mongoose/package.json @@ -19,10 +19,10 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/mongoose": "11.0.4", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "mongoose": "9.6.2", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/07-sequelize/package.json b/sample/07-sequelize/package.json index 8e510f8be5..eece8bcbad 100644 --- a/sample/07-sequelize/package.json +++ b/sample/07-sequelize/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "@nestjs/sequelize": "11.0.1", "mysql2": "3.22.3", "reflect-metadata": "0.2.2", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/08-webpack/package.json b/sample/08-webpack/package.json index 0569d956dd..1b4c9a02a4 100644 --- a/sample/08-webpack/package.json +++ b/sample/08-webpack/package.json @@ -12,9 +12,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "reflect-metadata": "0.2.2", "rxjs": "7.8.2", "typescript": "5.9.3" diff --git a/sample/09-babel-example/package.json b/sample/09-babel-example/package.json index 3cbf54cfe6..6f02f50560 100644 --- a/sample/09-babel-example/package.json +++ b/sample/09-babel-example/package.json @@ -13,11 +13,11 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", - "@nestjs/microservices": "11.1.21", - "@nestjs/websockets": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", + "@nestjs/microservices": "11.1.22", + "@nestjs/websockets": "11.1.23", "reflect-metadata": "0.2.2", "rxjs": "7.8.2" }, @@ -30,7 +30,7 @@ "@babel/preset-env": "7.29.5", "@babel/register": "7.29.3", "@babel/runtime": "7.29.2", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "jest": "30.4.2", "nodemon": "3.1.14", "prettier": "3.8.3", diff --git a/sample/10-fastify/package.json b/sample/10-fastify/package.json index 3c1e1ccef5..c99b941439 100644 --- a/sample/10-fastify/package.json +++ b/sample/10-fastify/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-fastify": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-fastify": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/node": "24.12.4", "@types/supertest": "7.2.0", "eslint": "9.39.4", diff --git a/sample/11-swagger/package.json b/sample/11-swagger/package.json index 4b3533669d..cccf7bd1d0 100644 --- a/sample/11-swagger/package.json +++ b/sample/11-swagger/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "@nestjs/swagger": "11.4.3", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/12-graphql-schema-first/package.json b/sample/12-graphql-schema-first/package.json index ea9c64ed08..31932b7d88 100644 --- a/sample/12-graphql-schema-first/package.json +++ b/sample/12-graphql-schema-first/package.json @@ -22,10 +22,10 @@ "@apollo/server": "5.5.1", "@graphql-tools/utils": "11.1.0", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "graphql": "16.10.0", @@ -39,7 +39,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/13-mongo-typeorm/package.json b/sample/13-mongo-typeorm/package.json index 0b4db0e2b1..bcd731d2c2 100644 --- a/sample/13-mongo-typeorm/package.json +++ b/sample/13-mongo-typeorm/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "@nestjs/typeorm": "11.0.1", "mongodb": "7.2.0", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/14-mongoose-base/package.json b/sample/14-mongoose-base/package.json index 2baef1e760..19f223d3a5 100644 --- a/sample/14-mongoose-base/package.json +++ b/sample/14-mongoose-base/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "mongoose": "9.6.2", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/15-mvc/package.json b/sample/15-mvc/package.json index 3cf875a5fd..05f3097acc 100644 --- a/sample/15-mvc/package.json +++ b/sample/15-mvc/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "hbs": "4.2.1", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/16-gateways-ws/package.json b/sample/16-gateways-ws/package.json index 43fdf8a216..88ec38f609 100644 --- a/sample/16-gateways-ws/package.json +++ b/sample/16-gateways-ws/package.json @@ -19,11 +19,11 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", - "@nestjs/platform-ws": "11.1.21", - "@nestjs/websockets": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", + "@nestjs/platform-ws": "11.1.22", + "@nestjs/websockets": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "rimraf": "6.1.3", @@ -37,7 +37,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/17-mvc-fastify/package.json b/sample/17-mvc-fastify/package.json index f5d784134e..3b6d62c139 100644 --- a/sample/17-mvc-fastify/package.json +++ b/sample/17-mvc-fastify/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-fastify": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-fastify": "11.1.23", "@fastify/static": "9.1.3", "handlebars": "4.7.9", "@fastify/view": "11.1.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/18-context/package.json b/sample/18-context/package.json index 8a25ef9e30..827cfd647e 100644 --- a/sample/18-context/package.json +++ b/sample/18-context/package.json @@ -19,8 +19,8 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" diff --git a/sample/19-auth-jwt/package.json b/sample/19-auth-jwt/package.json index 96f7cc7cb2..9c6dc6f418 100644 --- a/sample/19-auth-jwt/package.json +++ b/sample/19-auth-jwt/package.json @@ -20,11 +20,11 @@ "test:e2e": "jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/jwt": "11.0.2", "@nestjs/passport": "11.0.5", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/20-cache/package.json b/sample/20-cache/package.json index ee62d99db3..c2a82986b0 100644 --- a/sample/20-cache/package.json +++ b/sample/20-cache/package.json @@ -20,9 +20,9 @@ }, "dependencies": { "@nestjs/cache-manager": "3.1.2", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "cache-manager": "7.2.8", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/21-serializer/package.json b/sample/21-serializer/package.json index 27914a4c5e..f4aeee0268 100644 --- a/sample/21-serializer/package.json +++ b/sample/21-serializer/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/22-graphql-prisma/package.json b/sample/22-graphql-prisma/package.json index d5a7e4c00b..a8e72be3d8 100644 --- a/sample/22-graphql-prisma/package.json +++ b/sample/22-graphql-prisma/package.json @@ -22,10 +22,10 @@ "dependencies": { "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "@prisma/adapter-better-sqlite3": "7.8.0", "@prisma/client": "7.8.0", "class-transformer": "0.5.1", @@ -41,7 +41,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/23-graphql-code-first/package.json b/sample/23-graphql-code-first/package.json index 7277b791f0..4aa556f42e 100644 --- a/sample/23-graphql-code-first/package.json +++ b/sample/23-graphql-code-first/package.json @@ -21,10 +21,10 @@ "dependencies": { "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "graphql": "16.10.0", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/24-serve-static/package.json b/sample/24-serve-static/package.json index dc899bc8a3..ff3fbbd184 100644 --- a/sample/24-serve-static/package.json +++ b/sample/24-serve-static/package.json @@ -19,10 +19,10 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/serve-static": "5.0.5", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/25-dynamic-modules/package.json b/sample/25-dynamic-modules/package.json index b563b5453c..304f1d4f89 100644 --- a/sample/25-dynamic-modules/package.json +++ b/sample/25-dynamic-modules/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "dotenv": "17.4.2", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/26-queues/package.json b/sample/26-queues/package.json index 9a3cabaf8f..fba0c5ac88 100644 --- a/sample/26-queues/package.json +++ b/sample/26-queues/package.json @@ -20,9 +20,9 @@ }, "dependencies": { "@nestjs/bull": "11.0.4", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "bull": "4.16.5", "dotenv": "17.4.2", "reflect-metadata": "0.2.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/bull": "4.10.4", "@types/express": "5.0.6", "@types/jest": "30.0.0", diff --git a/sample/27-scheduling/package.json b/sample/27-scheduling/package.json index 4b4df45310..b11fd815d9 100644 --- a/sample/27-scheduling/package.json +++ b/sample/27-scheduling/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "@nestjs/schedule": "6.1.3", "dotenv": "17.4.2", "reflect-metadata": "0.2.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/bull": "4.10.4", "@types/express": "5.0.6", "@types/jest": "30.0.0", diff --git a/sample/28-sse/package.json b/sample/28-sse/package.json index a02505297c..1507e9fa5e 100644 --- a/sample/28-sse/package.json +++ b/sample/28-sse/package.json @@ -19,9 +19,9 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" @@ -31,7 +31,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/29-file-upload/package.json b/sample/29-file-upload/package.json index 454a1a3886..0b9d78093e 100644 --- a/sample/29-file-upload/package.json +++ b/sample/29-file-upload/package.json @@ -19,9 +19,9 @@ "test:e2e": "NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/multer": "2.1.0", diff --git a/sample/30-event-emitter/package.json b/sample/30-event-emitter/package.json index aaeffe98c5..3f31e974a6 100644 --- a/sample/30-event-emitter/package.json +++ b/sample/30-event-emitter/package.json @@ -19,10 +19,10 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/event-emitter": "3.1.0", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/gateway/package.json b/sample/31-graphql-federation-code-first/gateway/package.json index 585e60e7c6..4756f5dc6b 100644 --- a/sample/31-graphql-federation-code-first/gateway/package.json +++ b/sample/31-graphql-federation-code-first/gateway/package.json @@ -22,10 +22,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/posts-application/package.json b/sample/31-graphql-federation-code-first/posts-application/package.json index cbf3e1a4e3..62ffff9aa2 100644 --- a/sample/31-graphql-federation-code-first/posts-application/package.json +++ b/sample/31-graphql-federation-code-first/posts-application/package.json @@ -24,10 +24,10 @@ "@apollo/server": "5.5.1", "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/users-application/package.json b/sample/31-graphql-federation-code-first/users-application/package.json index 0123d87791..3ea2ffa1c6 100644 --- a/sample/31-graphql-federation-code-first/users-application/package.json +++ b/sample/31-graphql-federation-code-first/users-application/package.json @@ -23,10 +23,10 @@ "@apollo/server": "5.5.1", "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -39,7 +39,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/gateway/package.json b/sample/32-graphql-federation-schema-first/gateway/package.json index 1139235624..42a6ad5692 100644 --- a/sample/32-graphql-federation-schema-first/gateway/package.json +++ b/sample/32-graphql-federation-schema-first/gateway/package.json @@ -24,10 +24,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "^5.0.0", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/posts-application/package.json b/sample/32-graphql-federation-schema-first/posts-application/package.json index fc892bf25a..0692f93e1a 100644 --- a/sample/32-graphql-federation-schema-first/posts-application/package.json +++ b/sample/32-graphql-federation-schema-first/posts-application/package.json @@ -25,10 +25,10 @@ "@apollo/server": "^5.0.0", "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -41,7 +41,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/users-application/package.json b/sample/32-graphql-federation-schema-first/users-application/package.json index 6da9a81868..985b42edf0 100644 --- a/sample/32-graphql-federation-schema-first/users-application/package.json +++ b/sample/32-graphql-federation-schema-first/users-application/package.json @@ -24,10 +24,10 @@ "@apollo/server": "^5.0.0", "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.1", - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", - "@nestjs/platform-express": "11.1.21", + "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", "reflect-metadata": "0.2.2", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/33-graphql-mercurius/package.json b/sample/33-graphql-mercurius/package.json index 7aac16bdbe..e750e9c730 100644 --- a/sample/33-graphql-mercurius/package.json +++ b/sample/33-graphql-mercurius/package.json @@ -19,11 +19,11 @@ "test:e2e": "echo 'No e2e tests implemented yet.'" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", "@nestjs/graphql": "13.4.1", "@nestjs/mercurius": "13.4.0", - "@nestjs/platform-fastify": "11.1.21", + "@nestjs/platform-fastify": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "graphql": "16.10.0", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/36-hmr-esm/package.json b/sample/36-hmr-esm/package.json index d8a00e3c1f..f180b9de51 100644 --- a/sample/36-hmr-esm/package.json +++ b/sample/36-hmr-esm/package.json @@ -21,9 +21,9 @@ "test:e2e": "jest --config ./e2e/jest-e2e.json" }, "dependencies": { - "@nestjs/common": "11.1.21", - "@nestjs/core": "11.1.21", - "@nestjs/platform-express": "11.1.21", + "@nestjs/common": "11.1.23", + "@nestjs/core": "11.1.22", + "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.21", + "@nestjs/testing": "11.1.22", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/tools/benchmarks/package-lock.json b/tools/benchmarks/package-lock.json index 065916d3ba..2bd92e51dc 100644 --- a/tools/benchmarks/package-lock.json +++ b/tools/benchmarks/package-lock.json @@ -223,9 +223,9 @@ } }, "node_modules/@nestjs/common": { - "version": "11.1.21", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.21.tgz", - "integrity": "sha512-YV1HYDGsm2rnR0vrLKidtrG6jYX5yqiIjeur1j8++dKGqhhsJ6cjMs0RfQRSTUH7IjgDemA59/znQ8nRrE0D9g==", + "version": "11.1.23", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.23.tgz", + "integrity": "sha512-qKgEqwQXHIVu8TwiISmgbTrGHAFBsseP86KNolBZwAiHQryinJ5FPiDpp0ZJBBryY+WEMnsqaCa4TSxVuQEWug==", "license": "MIT", "dependencies": { "file-type": "21.3.4", @@ -254,9 +254,9 @@ } }, "node_modules/@nestjs/core": { - "version": "11.1.21", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.21.tgz", - "integrity": "sha512-fqo0BHgny3MOuAL8GSfG3ZUKFVVBaBQD/0iyibnwTONT5vPexjQxJzu+945iloVvBDmrnAaRWxC1gqCDEs/AXQ==", + "version": "11.1.22", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.22.tgz", + "integrity": "sha512-Wy0KSQTeWiq+GZZQ3rnhSamqRztRBLWPWNeOlyIup7oVX5gnf+9ZyM8TUjUjy6chITomuNHVpHC6SH5WSb5hgg==", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -295,9 +295,9 @@ } }, "node_modules/@nestjs/platform-express": { - "version": "11.1.21", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.21.tgz", - "integrity": "sha512-lA3ViycOnz4Df3EstIKpuAVFhqxQixTnjAVk0M+LRyNBlGM6VSCaNJaAIrb9Pcry39T4hTHpNVbRqGLSvhL8gA==", + "version": "11.1.23", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-11.1.23.tgz", + "integrity": "sha512-7TQ9v2Z9lej8btTYK1VUVB3nZr0lXFNFiyI/iOc0jAOg31dHdpAWtnMMm9iUvyAfq/ssw7dsBhjCHOmEJJKr0A==", "license": "MIT", "dependencies": { "cors": "2.8.6", @@ -316,9 +316,9 @@ } }, "node_modules/@nestjs/platform-fastify": { - "version": "11.1.21", - "resolved": "https://registry.npmjs.org/@nestjs/platform-fastify/-/platform-fastify-11.1.21.tgz", - "integrity": "sha512-yjeAd3bE6lsAVjemR5qvKyzGZ4K0OmptXhwnsI7n2WyEBwMzzl15vAkcydmsoLOpHXmAeORIl0rQmaAff1n+pA==", + "version": "11.1.23", + "resolved": "https://registry.npmjs.org/@nestjs/platform-fastify/-/platform-fastify-11.1.23.tgz", + "integrity": "sha512-cLSDwMu2wf0DB8HeUl2M7m7cIZRljaziwFFeXt9elHb863yQh31T8X4tR5I/a3QFXS0b7hJvdJ728G14K1oS2w==", "license": "MIT", "dependencies": { "@fastify/cors": "11.2.0", From fed404ed9cb81d2b17a4b7d53d69aa3ccf4c488c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 18:34:38 +0000 Subject: [PATCH 29/34] fix(deps): update dependency @nestjs/swagger to v11.4.4 --- sample/11-swagger/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sample/11-swagger/package.json b/sample/11-swagger/package.json index cccf7bd1d0..61d59b8ea0 100644 --- a/sample/11-swagger/package.json +++ b/sample/11-swagger/package.json @@ -22,7 +22,7 @@ "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.22", "@nestjs/platform-express": "11.1.23", - "@nestjs/swagger": "11.4.3", + "@nestjs/swagger": "11.4.4", "class-transformer": "0.5.1", "class-validator": "0.15.1", "reflect-metadata": "0.2.2", From 08f7025088e26a403ce406e2da8284f69cbc9bbd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 May 2026 18:35:00 +0000 Subject: [PATCH 30/34] fix(deps): update nest monorepo to v11.1.23 --- sample/01-cats-app/package.json | 4 ++-- sample/02-gateways/package.json | 6 +++--- sample/03-microservices/package.json | 6 +++--- sample/04-grpc/package.json | 6 +++--- sample/05-sql-typeorm/package.json | 4 ++-- sample/06-mongoose/package.json | 4 ++-- sample/07-sequelize/package.json | 4 ++-- sample/08-webpack/package.json | 2 +- sample/09-babel-example/package.json | 6 +++--- sample/10-fastify/package.json | 4 ++-- sample/11-swagger/package.json | 4 ++-- sample/12-graphql-schema-first/package.json | 4 ++-- sample/13-mongo-typeorm/package.json | 4 ++-- sample/14-mongoose-base/package.json | 4 ++-- sample/15-mvc/package.json | 4 ++-- sample/16-gateways-ws/package.json | 6 +++--- sample/17-mvc-fastify/package.json | 4 ++-- sample/18-context/package.json | 2 +- sample/19-auth-jwt/package.json | 4 ++-- sample/20-cache/package.json | 4 ++-- sample/21-serializer/package.json | 4 ++-- sample/22-graphql-prisma/package.json | 4 ++-- sample/23-graphql-code-first/package.json | 4 ++-- sample/24-serve-static/package.json | 4 ++-- sample/25-dynamic-modules/package.json | 4 ++-- sample/26-queues/package.json | 4 ++-- sample/27-scheduling/package.json | 4 ++-- sample/28-sse/package.json | 4 ++-- sample/29-file-upload/package.json | 4 ++-- sample/30-event-emitter/package.json | 4 ++-- .../31-graphql-federation-code-first/gateway/package.json | 4 ++-- .../posts-application/package.json | 4 ++-- .../users-application/package.json | 4 ++-- .../32-graphql-federation-schema-first/gateway/package.json | 4 ++-- .../posts-application/package.json | 4 ++-- .../users-application/package.json | 4 ++-- sample/33-graphql-mercurius/package.json | 4 ++-- sample/36-hmr-esm/package.json | 4 ++-- tools/benchmarks/package-lock.json | 6 +++--- 39 files changed, 82 insertions(+), 82 deletions(-) diff --git a/sample/01-cats-app/package.json b/sample/01-cats-app/package.json index b4a5d30bf7..a3ea7e90fd 100644 --- a/sample/01-cats-app/package.json +++ b/sample/01-cats-app/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/02-gateways/package.json b/sample/02-gateways/package.json index b4a2dbf3ef..53344814e5 100644 --- a/sample/02-gateways/package.json +++ b/sample/02-gateways/package.json @@ -20,9 +20,9 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", - "@nestjs/platform-socket.io": "11.1.22", + "@nestjs/platform-socket.io": "11.1.23", "@nestjs/websockets": "11.1.23", "@socket.io/redis-adapter": "8.3.0", "class-transformer": "0.5.1", @@ -37,7 +37,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/03-microservices/package.json b/sample/03-microservices/package.json index 9fb9d24752..5255ab7194 100644 --- a/sample/03-microservices/package.json +++ b/sample/03-microservices/package.json @@ -20,8 +20,8 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", - "@nestjs/microservices": "11.1.22", + "@nestjs/core": "11.1.23", + "@nestjs/microservices": "11.1.23", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/amqplib": "0.10.8", "@types/express": "5.0.6", "@types/node": "24.12.4", diff --git a/sample/04-grpc/package.json b/sample/04-grpc/package.json index 83a3d1c050..367098094c 100644 --- a/sample/04-grpc/package.json +++ b/sample/04-grpc/package.json @@ -22,8 +22,8 @@ "@grpc/grpc-js": "1.14.3", "@grpc/reflection": "1.0.4", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", - "@nestjs/microservices": "11.1.22", + "@nestjs/core": "11.1.23", + "@nestjs/microservices": "11.1.23", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/05-sql-typeorm/package.json b/sample/05-sql-typeorm/package.json index 818910cbed..4b897d224f 100644 --- a/sample/05-sql-typeorm/package.json +++ b/sample/05-sql-typeorm/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "@nestjs/typeorm": "11.0.1", "mysql2": "3.22.3", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/06-mongoose/package.json b/sample/06-mongoose/package.json index b7589e94fa..66120f88e0 100644 --- a/sample/06-mongoose/package.json +++ b/sample/06-mongoose/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/mongoose": "11.0.4", "@nestjs/platform-express": "11.1.23", "mongoose": "9.6.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/07-sequelize/package.json b/sample/07-sequelize/package.json index eece8bcbad..6523f1f637 100644 --- a/sample/07-sequelize/package.json +++ b/sample/07-sequelize/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "@nestjs/sequelize": "11.0.1", "mysql2": "3.22.3", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/08-webpack/package.json b/sample/08-webpack/package.json index 1b4c9a02a4..ae231f70ec 100644 --- a/sample/08-webpack/package.json +++ b/sample/08-webpack/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "reflect-metadata": "0.2.2", "rxjs": "7.8.2", diff --git a/sample/09-babel-example/package.json b/sample/09-babel-example/package.json index 6f02f50560..20bf56da47 100644 --- a/sample/09-babel-example/package.json +++ b/sample/09-babel-example/package.json @@ -14,9 +14,9 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", - "@nestjs/microservices": "11.1.22", + "@nestjs/microservices": "11.1.23", "@nestjs/websockets": "11.1.23", "reflect-metadata": "0.2.2", "rxjs": "7.8.2" @@ -30,7 +30,7 @@ "@babel/preset-env": "7.29.5", "@babel/register": "7.29.3", "@babel/runtime": "7.29.2", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "jest": "30.4.2", "nodemon": "3.1.14", "prettier": "3.8.3", diff --git a/sample/10-fastify/package.json b/sample/10-fastify/package.json index c99b941439..2b00068d75 100644 --- a/sample/10-fastify/package.json +++ b/sample/10-fastify/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-fastify": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/node": "24.12.4", "@types/supertest": "7.2.0", "eslint": "9.39.4", diff --git a/sample/11-swagger/package.json b/sample/11-swagger/package.json index cccf7bd1d0..d648749fe6 100644 --- a/sample/11-swagger/package.json +++ b/sample/11-swagger/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "@nestjs/swagger": "11.4.3", "class-transformer": "0.5.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/12-graphql-schema-first/package.json b/sample/12-graphql-schema-first/package.json index 31932b7d88..56344ec012 100644 --- a/sample/12-graphql-schema-first/package.json +++ b/sample/12-graphql-schema-first/package.json @@ -23,7 +23,7 @@ "@graphql-tools/utils": "11.1.0", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", @@ -39,7 +39,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/13-mongo-typeorm/package.json b/sample/13-mongo-typeorm/package.json index bcd731d2c2..84b5790d35 100644 --- a/sample/13-mongo-typeorm/package.json +++ b/sample/13-mongo-typeorm/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "@nestjs/typeorm": "11.0.1", "mongodb": "7.2.0", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/14-mongoose-base/package.json b/sample/14-mongoose-base/package.json index 19f223d3a5..87267e0445 100644 --- a/sample/14-mongoose-base/package.json +++ b/sample/14-mongoose-base/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "mongoose": "9.6.2", "reflect-metadata": "0.2.2", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/15-mvc/package.json b/sample/15-mvc/package.json index 05f3097acc..2e6696076d 100644 --- a/sample/15-mvc/package.json +++ b/sample/15-mvc/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "hbs": "4.2.1", "reflect-metadata": "0.2.2", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/16-gateways-ws/package.json b/sample/16-gateways-ws/package.json index 88ec38f609..280947b48c 100644 --- a/sample/16-gateways-ws/package.json +++ b/sample/16-gateways-ws/package.json @@ -20,9 +20,9 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", - "@nestjs/platform-ws": "11.1.22", + "@nestjs/platform-ws": "11.1.23", "@nestjs/websockets": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -37,7 +37,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/17-mvc-fastify/package.json b/sample/17-mvc-fastify/package.json index 3b6d62c139..32dce7c112 100644 --- a/sample/17-mvc-fastify/package.json +++ b/sample/17-mvc-fastify/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-fastify": "11.1.23", "@fastify/static": "9.1.3", "handlebars": "4.7.9", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/18-context/package.json b/sample/18-context/package.json index 827cfd647e..226167eddf 100644 --- a/sample/18-context/package.json +++ b/sample/18-context/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", "rxjs": "7.8.2" diff --git a/sample/19-auth-jwt/package.json b/sample/19-auth-jwt/package.json index 9c6dc6f418..58f00a062f 100644 --- a/sample/19-auth-jwt/package.json +++ b/sample/19-auth-jwt/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/jwt": "11.0.2", "@nestjs/passport": "11.0.5", "@nestjs/platform-express": "11.1.23", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/20-cache/package.json b/sample/20-cache/package.json index c2a82986b0..81771f1ab3 100644 --- a/sample/20-cache/package.json +++ b/sample/20-cache/package.json @@ -21,7 +21,7 @@ "dependencies": { "@nestjs/cache-manager": "3.1.2", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "cache-manager": "7.2.8", "class-transformer": "0.5.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/21-serializer/package.json b/sample/21-serializer/package.json index f4aeee0268..2a7d6882ab 100644 --- a/sample/21-serializer/package.json +++ b/sample/21-serializer/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "reflect-metadata": "0.2.2", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/22-graphql-prisma/package.json b/sample/22-graphql-prisma/package.json index a8e72be3d8..490cd75ae1 100644 --- a/sample/22-graphql-prisma/package.json +++ b/sample/22-graphql-prisma/package.json @@ -23,7 +23,7 @@ "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "@prisma/adapter-better-sqlite3": "7.8.0", @@ -41,7 +41,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/23-graphql-code-first/package.json b/sample/23-graphql-code-first/package.json index 4aa556f42e..a2bc962725 100644 --- a/sample/23-graphql-code-first/package.json +++ b/sample/23-graphql-code-first/package.json @@ -22,7 +22,7 @@ "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/24-serve-static/package.json b/sample/24-serve-static/package.json index ff3fbbd184..66308f8eef 100644 --- a/sample/24-serve-static/package.json +++ b/sample/24-serve-static/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/serve-static": "5.0.5", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/25-dynamic-modules/package.json b/sample/25-dynamic-modules/package.json index 304f1d4f89..395fdce891 100644 --- a/sample/25-dynamic-modules/package.json +++ b/sample/25-dynamic-modules/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "dotenv": "17.4.2", "reflect-metadata": "0.2.2", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/26-queues/package.json b/sample/26-queues/package.json index fba0c5ac88..3fdcc735c6 100644 --- a/sample/26-queues/package.json +++ b/sample/26-queues/package.json @@ -21,7 +21,7 @@ "dependencies": { "@nestjs/bull": "11.0.4", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "bull": "4.16.5", "dotenv": "17.4.2", @@ -34,7 +34,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/bull": "4.10.4", "@types/express": "5.0.6", "@types/jest": "30.0.0", diff --git a/sample/27-scheduling/package.json b/sample/27-scheduling/package.json index b11fd815d9..26ce498b90 100644 --- a/sample/27-scheduling/package.json +++ b/sample/27-scheduling/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "@nestjs/schedule": "6.1.3", "dotenv": "17.4.2", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/bull": "4.10.4", "@types/express": "5.0.6", "@types/jest": "30.0.0", diff --git a/sample/28-sse/package.json b/sample/28-sse/package.json index 1507e9fa5e..15c879af23 100644 --- a/sample/28-sse/package.json +++ b/sample/28-sse/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "reflect-metadata": "0.2.2", "rimraf": "6.1.3", @@ -31,7 +31,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/29-file-upload/package.json b/sample/29-file-upload/package.json index 0b9d78093e..380a860ece 100644 --- a/sample/29-file-upload/package.json +++ b/sample/29-file-upload/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -33,7 +33,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/multer": "2.1.0", diff --git a/sample/30-event-emitter/package.json b/sample/30-event-emitter/package.json index 3f31e974a6..55034bbf1e 100644 --- a/sample/30-event-emitter/package.json +++ b/sample/30-event-emitter/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/event-emitter": "3.1.0", "@nestjs/platform-express": "11.1.23", "reflect-metadata": "0.2.2", @@ -32,7 +32,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/gateway/package.json b/sample/31-graphql-federation-code-first/gateway/package.json index 4756f5dc6b..cf510a5964 100644 --- a/sample/31-graphql-federation-code-first/gateway/package.json +++ b/sample/31-graphql-federation-code-first/gateway/package.json @@ -23,7 +23,7 @@ "@apollo/server": "5.5.1", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/posts-application/package.json b/sample/31-graphql-federation-code-first/posts-application/package.json index 62ffff9aa2..b67a7666f4 100644 --- a/sample/31-graphql-federation-code-first/posts-application/package.json +++ b/sample/31-graphql-federation-code-first/posts-application/package.json @@ -25,7 +25,7 @@ "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/31-graphql-federation-code-first/users-application/package.json b/sample/31-graphql-federation-code-first/users-application/package.json index 3ea2ffa1c6..6668eb02ba 100644 --- a/sample/31-graphql-federation-code-first/users-application/package.json +++ b/sample/31-graphql-federation-code-first/users-application/package.json @@ -24,7 +24,7 @@ "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", @@ -39,7 +39,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/gateway/package.json b/sample/32-graphql-federation-schema-first/gateway/package.json index 42a6ad5692..e7ea003daf 100644 --- a/sample/32-graphql-federation-schema-first/gateway/package.json +++ b/sample/32-graphql-federation-schema-first/gateway/package.json @@ -25,7 +25,7 @@ "@apollo/server": "^5.0.0", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/posts-application/package.json b/sample/32-graphql-federation-schema-first/posts-application/package.json index 0692f93e1a..e61e05eae8 100644 --- a/sample/32-graphql-federation-schema-first/posts-application/package.json +++ b/sample/32-graphql-federation-schema-first/posts-application/package.json @@ -26,7 +26,7 @@ "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", @@ -41,7 +41,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/32-graphql-federation-schema-first/users-application/package.json b/sample/32-graphql-federation-schema-first/users-application/package.json index 985b42edf0..41ac0c3bd5 100644 --- a/sample/32-graphql-federation-schema-first/users-application/package.json +++ b/sample/32-graphql-federation-schema-first/users-application/package.json @@ -25,7 +25,7 @@ "@apollo/subgraph": "2.14.0", "@nestjs/apollo": "13.4.1", "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", @@ -40,7 +40,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/sample/33-graphql-mercurius/package.json b/sample/33-graphql-mercurius/package.json index e750e9c730..615e8b61cd 100644 --- a/sample/33-graphql-mercurius/package.json +++ b/sample/33-graphql-mercurius/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/graphql": "13.4.1", "@nestjs/mercurius": "13.4.0", "@nestjs/platform-fastify": "11.1.23", @@ -36,7 +36,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/node": "24.12.4", "@types/supertest": "7.2.0", diff --git a/sample/36-hmr-esm/package.json b/sample/36-hmr-esm/package.json index f180b9de51..1ab1aacf63 100644 --- a/sample/36-hmr-esm/package.json +++ b/sample/36-hmr-esm/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@nestjs/common": "11.1.23", - "@nestjs/core": "11.1.22", + "@nestjs/core": "11.1.23", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", @@ -38,7 +38,7 @@ "@eslint/js": "9.39.4", "@nestjs/cli": "11.0.21", "@nestjs/schematics": "11.1.0", - "@nestjs/testing": "11.1.22", + "@nestjs/testing": "11.1.23", "@types/express": "5.0.6", "@types/jest": "30.0.0", "@types/node": "24.12.4", diff --git a/tools/benchmarks/package-lock.json b/tools/benchmarks/package-lock.json index 2bd92e51dc..40021f3a98 100644 --- a/tools/benchmarks/package-lock.json +++ b/tools/benchmarks/package-lock.json @@ -254,9 +254,9 @@ } }, "node_modules/@nestjs/core": { - "version": "11.1.22", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.22.tgz", - "integrity": "sha512-Wy0KSQTeWiq+GZZQ3rnhSamqRztRBLWPWNeOlyIup7oVX5gnf+9ZyM8TUjUjy6chITomuNHVpHC6SH5WSb5hgg==", + "version": "11.1.23", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.23.tgz", + "integrity": "sha512-Yd+mVFUilw4A6PzV7tyfiW+zrG2wmRXnFZVmNQA+fl1N0k6km4bhhNboxjLu//dzl+XiZI5AsOHHOTegzvOgNQ==", "hasInstallScript": true, "license": "MIT", "dependencies": { From 9df91fdf88dc2f914a5a0cb22d464d112a9f373b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Thu, 21 May 2026 20:43:40 +0200 Subject: [PATCH 31/34] test: regenerate snapshots --- .../e2e/fixtures/post-init-graph.json | 168 +++++------------- .../e2e/fixtures/pre-init-graph.json | 168 +++++------------- 2 files changed, 88 insertions(+), 248 deletions(-) diff --git a/integration/inspector/e2e/fixtures/post-init-graph.json b/integration/inspector/e2e/fixtures/post-init-graph.json index cf3f5ec86a..a61259a356 100644 --- a/integration/inspector/e2e/fixtures/post-init-graph.json +++ b/integration/inspector/e2e/fixtures/post-init-graph.json @@ -13,8 +13,7 @@ "transient": false, "exported": false, "token": "LoggingInterceptor", - "subtype": "interceptor", - "initTime": 0 + "subtype": "interceptor" } }, "55510001": { @@ -30,8 +29,7 @@ "scope": 2, "transient": false, "exported": false, - "token": "UsersService", - "initTime": 0 + "token": "UsersService" } }, "91819333": { @@ -306,8 +304,7 @@ "scope": 2, "transient": false, "exported": true, - "token": "HelperService", - "initTime": 0 + "token": "HelperService" } }, "941957564": { @@ -356,8 +353,7 @@ "scope": 2, "transient": false, "exported": false, - "token": "META", - "initTime": 0 + "token": "META" } }, "1010833816": { @@ -542,7 +538,6 @@ "transient": false, "exported": false, "token": "HelloController", - "initTime": 0, "enhancers": [ { "id": "-2010060263", @@ -692,8 +687,7 @@ "transient": false, "exported": false, "token": "UserByIdPipe", - "subtype": "pipe", - "initTime": 0 + "subtype": "pipe" } }, "1919157847": { @@ -709,8 +703,7 @@ "scope": 2, "transient": false, "exported": true, - "token": "REQUEST", - "initTime": 0 + "token": "REQUEST" } }, "2018972420": { @@ -786,8 +779,7 @@ "scope": 1, "transient": true, "exported": true, - "token": "INQUIRER", - "initTime": 0 + "token": "INQUIRER" } }, "-26938366": { @@ -1103,8 +1095,7 @@ "scope": 0, "transient": false, "exported": false, - "token": "HelloModule", - "initTime": 0 + "token": "HelloModule" } }, "-1166465801": { @@ -1152,8 +1143,7 @@ "scope": 2, "transient": false, "exported": false, - "token": "HelloService", - "initTime": 0 + "token": "HelloService" } }, "-2010060263": { @@ -1246,8 +1236,7 @@ "scope": 2, "transient": false, "exported": false, - "token": "DurableService", - "initTime": 0 + "token": "DurableService" } }, "-848516688": { @@ -1262,8 +1251,7 @@ "static": false, "transient": false, "exported": false, - "token": "DurableController", - "initTime": 0 + "token": "DurableController" } }, "-1096226358": { @@ -1557,8 +1545,7 @@ "static": false, "transient": false, "exported": false, - "token": "RequestChainService", - "initTime": 0 + "token": "RequestChainService" } }, "-1927427604": { @@ -1574,7 +1561,6 @@ "transient": false, "exported": false, "token": "RequestChainController", - "initTime": 0, "enhancers": [ { "id": "18347652", @@ -2031,22 +2017,6 @@ }, "id": "1059069749" }, - "1142343545": { - "source": "-1758187461", - "target": "1004276345", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "HelloModule", - "sourceClassName": "HelloService", - "targetClassName": "Meta", - "sourceClassToken": "HelloService", - "targetClassToken": "META", - "targetModuleName": "HelloModule", - "keyOrIndex": 0, - "injectionType": "constructor" - }, - "id": "1142343545" - }, "1178436405": { "source": "1893794611", "target": "55510001", @@ -2098,22 +2068,6 @@ }, "id": "1325313063" }, - "1497653915": { - "source": "55510001", - "target": "1004276345", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "HelloModule", - "sourceClassName": "UsersService", - "targetClassName": "Meta", - "sourceClassToken": "UsersService", - "targetClassToken": "META", - "targetModuleName": "HelloModule", - "keyOrIndex": 0, - "injectionType": "constructor" - }, - "id": "1497653915" - }, "1615322974": { "source": "-1469176692", "target": "555176277", @@ -2213,6 +2167,22 @@ }, "id": "-21463590" }, + "-2146943494": { + "source": "-234035039", + "target": "928565345", + "metadata": { + "type": "class-to-class", + "sourceModuleName": "RequestChainModule", + "sourceClassName": "RequestChainService", + "targetClassName": "HelperService", + "sourceClassToken": "RequestChainService", + "targetClassToken": "HelperService", + "targetModuleName": "HelperModule", + "keyOrIndex": 0, + "injectionType": "constructor" + }, + "id": "-2146943494" + }, "-2105726668": { "source": "-1803759743", "target": "1010833816", @@ -2229,40 +2199,6 @@ }, "id": "-2105726668" }, - "-1657371464": { - "source": "-1673986099", - "target": "1919157847", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "DurableModule", - "sourceClassName": "DurableService", - "targetClassName": "REQUEST", - "sourceClassToken": "DurableService", - "targetClassToken": "REQUEST", - "targetModuleName": "InternalCoreModule", - "keyOrIndex": 0, - "injectionType": "constructor", - "internal": true - }, - "id": "-1657371464" - }, - "-1303681274": { - "source": "928565345", - "target": "1919157847", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "HelperModule", - "sourceClassName": "HelperService", - "targetClassName": "REQUEST", - "sourceClassToken": "HelperService", - "targetClassToken": "REQUEST", - "targetModuleName": "InternalCoreModule", - "keyOrIndex": 0, - "injectionType": "constructor", - "internal": true - }, - "id": "-1303681274" - }, "-831049991": { "source": "594986539", "target": "-1721730431", @@ -2279,6 +2215,22 @@ }, "id": "-831049991" }, + "-1816180282": { + "source": "-848516688", + "target": "-1673986099", + "metadata": { + "type": "class-to-class", + "sourceModuleName": "DurableModule", + "sourceClassName": "DurableController", + "targetClassName": "DurableService", + "sourceClassToken": "DurableController", + "targetClassToken": "DurableService", + "targetModuleName": "DurableModule", + "keyOrIndex": 0, + "injectionType": "constructor" + }, + "id": "-1816180282" + }, "-886102564": { "source": "208171089", "target": "671882984", @@ -2296,22 +2248,6 @@ }, "id": "-886102564" }, - "-2146943494": { - "source": "-234035039", - "target": "928565345", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "RequestChainModule", - "sourceClassName": "RequestChainService", - "targetClassName": "HelperService", - "sourceClassToken": "RequestChainService", - "targetClassToken": "HelperService", - "targetModuleName": "HelperModule", - "keyOrIndex": 0, - "injectionType": "constructor" - }, - "id": "-2146943494" - }, "-2003045613": { "source": "-377928898", "target": "-616397055", @@ -2344,22 +2280,6 @@ }, "id": "-881420795" }, - "-1816180282": { - "source": "-848516688", - "target": "-1673986099", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "DurableModule", - "sourceClassName": "DurableController", - "targetClassName": "DurableService", - "sourceClassToken": "DurableController", - "targetClassToken": "DurableService", - "targetModuleName": "DurableModule", - "keyOrIndex": 0, - "injectionType": "constructor" - }, - "id": "-1816180282" - }, "-180350082": { "source": "-1550892030", "target": "-593595711", diff --git a/integration/inspector/e2e/fixtures/pre-init-graph.json b/integration/inspector/e2e/fixtures/pre-init-graph.json index 5a7675bbc8..353ce0bdae 100644 --- a/integration/inspector/e2e/fixtures/pre-init-graph.json +++ b/integration/inspector/e2e/fixtures/pre-init-graph.json @@ -13,8 +13,7 @@ "transient": false, "exported": false, "token": "LoggingInterceptor", - "subtype": "interceptor", - "initTime": 0 + "subtype": "interceptor" } }, "55510001": { @@ -30,8 +29,7 @@ "scope": 2, "transient": false, "exported": false, - "token": "UsersService", - "initTime": 0 + "token": "UsersService" } }, "91819333": { @@ -306,8 +304,7 @@ "scope": 2, "transient": false, "exported": true, - "token": "HelperService", - "initTime": 0 + "token": "HelperService" } }, "941957564": { @@ -356,8 +353,7 @@ "scope": 2, "transient": false, "exported": false, - "token": "META", - "initTime": 0 + "token": "META" } }, "1010833816": { @@ -542,7 +538,6 @@ "transient": false, "exported": false, "token": "HelloController", - "initTime": 0, "enhancers": [ { "id": "-2010060263", @@ -676,8 +671,7 @@ "transient": false, "exported": false, "token": "UserByIdPipe", - "subtype": "pipe", - "initTime": 0 + "subtype": "pipe" } }, "1919157847": { @@ -693,8 +687,7 @@ "scope": 2, "transient": false, "exported": true, - "token": "REQUEST", - "initTime": 0 + "token": "REQUEST" } }, "2018972420": { @@ -770,8 +763,7 @@ "scope": 1, "transient": true, "exported": true, - "token": "INQUIRER", - "initTime": 0 + "token": "INQUIRER" } }, "-26938366": { @@ -1087,8 +1079,7 @@ "scope": 0, "transient": false, "exported": false, - "token": "HelloModule", - "initTime": 0 + "token": "HelloModule" } }, "-1166465801": { @@ -1136,8 +1127,7 @@ "scope": 2, "transient": false, "exported": false, - "token": "HelloService", - "initTime": 0 + "token": "HelloService" } }, "-2010060263": { @@ -1230,8 +1220,7 @@ "scope": 2, "transient": false, "exported": false, - "token": "DurableService", - "initTime": 0 + "token": "DurableService" } }, "-848516688": { @@ -1246,8 +1235,7 @@ "static": false, "transient": false, "exported": false, - "token": "DurableController", - "initTime": 0 + "token": "DurableController" } }, "-1096226358": { @@ -1541,8 +1529,7 @@ "static": false, "transient": false, "exported": false, - "token": "RequestChainService", - "initTime": 0 + "token": "RequestChainService" } }, "-1927427604": { @@ -1558,7 +1545,6 @@ "transient": false, "exported": false, "token": "RequestChainController", - "initTime": 0, "enhancers": [ { "id": "18347652", @@ -2015,22 +2001,6 @@ }, "id": "1059069749" }, - "1142343545": { - "source": "-1758187461", - "target": "1004276345", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "HelloModule", - "sourceClassName": "HelloService", - "targetClassName": "Meta", - "sourceClassToken": "HelloService", - "targetClassToken": "META", - "targetModuleName": "HelloModule", - "keyOrIndex": 0, - "injectionType": "constructor" - }, - "id": "1142343545" - }, "1178436405": { "source": "1893794611", "target": "55510001", @@ -2082,22 +2052,6 @@ }, "id": "1325313063" }, - "1497653915": { - "source": "55510001", - "target": "1004276345", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "HelloModule", - "sourceClassName": "UsersService", - "targetClassName": "Meta", - "sourceClassToken": "UsersService", - "targetClassToken": "META", - "targetModuleName": "HelloModule", - "keyOrIndex": 0, - "injectionType": "constructor" - }, - "id": "1497653915" - }, "1615322974": { "source": "-1469176692", "target": "555176277", @@ -2197,6 +2151,22 @@ }, "id": "-21463590" }, + "-2146943494": { + "source": "-234035039", + "target": "928565345", + "metadata": { + "type": "class-to-class", + "sourceModuleName": "RequestChainModule", + "sourceClassName": "RequestChainService", + "targetClassName": "HelperService", + "sourceClassToken": "RequestChainService", + "targetClassToken": "HelperService", + "targetModuleName": "HelperModule", + "keyOrIndex": 0, + "injectionType": "constructor" + }, + "id": "-2146943494" + }, "-2105726668": { "source": "-1803759743", "target": "1010833816", @@ -2213,40 +2183,6 @@ }, "id": "-2105726668" }, - "-1657371464": { - "source": "-1673986099", - "target": "1919157847", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "DurableModule", - "sourceClassName": "DurableService", - "targetClassName": "REQUEST", - "sourceClassToken": "DurableService", - "targetClassToken": "REQUEST", - "targetModuleName": "InternalCoreModule", - "keyOrIndex": 0, - "injectionType": "constructor", - "internal": true - }, - "id": "-1657371464" - }, - "-1303681274": { - "source": "928565345", - "target": "1919157847", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "HelperModule", - "sourceClassName": "HelperService", - "targetClassName": "REQUEST", - "sourceClassToken": "HelperService", - "targetClassToken": "REQUEST", - "targetModuleName": "InternalCoreModule", - "keyOrIndex": 0, - "injectionType": "constructor", - "internal": true - }, - "id": "-1303681274" - }, "-831049991": { "source": "594986539", "target": "-1721730431", @@ -2263,6 +2199,22 @@ }, "id": "-831049991" }, + "-1816180282": { + "source": "-848516688", + "target": "-1673986099", + "metadata": { + "type": "class-to-class", + "sourceModuleName": "DurableModule", + "sourceClassName": "DurableController", + "targetClassName": "DurableService", + "sourceClassToken": "DurableController", + "targetClassToken": "DurableService", + "targetModuleName": "DurableModule", + "keyOrIndex": 0, + "injectionType": "constructor" + }, + "id": "-1816180282" + }, "-886102564": { "source": "208171089", "target": "671882984", @@ -2280,22 +2232,6 @@ }, "id": "-886102564" }, - "-2146943494": { - "source": "-234035039", - "target": "928565345", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "RequestChainModule", - "sourceClassName": "RequestChainService", - "targetClassName": "HelperService", - "sourceClassToken": "RequestChainService", - "targetClassToken": "HelperService", - "targetModuleName": "HelperModule", - "keyOrIndex": 0, - "injectionType": "constructor" - }, - "id": "-2146943494" - }, "-2003045613": { "source": "-377928898", "target": "-616397055", @@ -2328,22 +2264,6 @@ }, "id": "-881420795" }, - "-1816180282": { - "source": "-848516688", - "target": "-1673986099", - "metadata": { - "type": "class-to-class", - "sourceModuleName": "DurableModule", - "sourceClassName": "DurableController", - "targetClassName": "DurableService", - "sourceClassToken": "DurableController", - "targetClassToken": "DurableService", - "targetModuleName": "DurableModule", - "keyOrIndex": 0, - "injectionType": "constructor" - }, - "id": "-1816180282" - }, "-180350082": { "source": "-1550892030", "target": "-593595711", From 2089680a9b4e454519755fb740e39b81904acca7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 06:46:25 +0000 Subject: [PATCH 32/34] chore(deps): update dependency mocha to v11.7.6 --- package-lock.json | 33 +++++++++++++++++---------------- package.json | 2 +- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index addab81a5d..98f4e68921 100644 --- a/package-lock.json +++ b/package-lock.json @@ -100,7 +100,7 @@ "light-my-request": "6.6.0", "lint-staged": "17.0.5", "markdown-table": "2.0.0", - "mocha": "11.7.5", + "mocha": "11.7.6", "mongoose": "9.6.2", "mqtt": "5.15.1", "multer": "2.1.1", @@ -19072,9 +19072,9 @@ } }, "node_modules/mocha": { - "version": "11.7.5", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.7.5.tgz", - "integrity": "sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==", + "version": "11.7.6", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.7.6.tgz", + "integrity": "sha512-nS9xOGbw2I3cjCpxwZAEJ9xK9lmJ08vEkQvLtz4du9ZrF9UrjRpeJGiIgl2Z+Qs++pmB4ecDe48Fwsh+j+j7xA==", "dev": true, "license": "MIT", "dependencies": { @@ -19116,9 +19116,9 @@ "license": "Python-2.0" }, "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "license": "MIT", "dependencies": { @@ -19126,9 +19126,9 @@ } }, "node_modules/mocha/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { @@ -19167,9 +19167,10 @@ } }, "node_modules/mocha/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -19188,9 +19189,9 @@ } }, "node_modules/mocha/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index d6411f2d95..bebf6a07c7 100644 --- a/package.json +++ b/package.json @@ -150,7 +150,7 @@ "light-my-request": "6.6.0", "lint-staged": "17.0.5", "markdown-table": "2.0.0", - "mocha": "11.7.5", + "mocha": "11.7.6", "mongoose": "9.6.2", "mqtt": "5.15.1", "multer": "2.1.1", From c5147bce7272a9edb9c8ebd787ad442887526e41 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 06:46:34 +0000 Subject: [PATCH 33/34] chore(deps): update dependency ts-jest to v29.4.11 --- sample/01-cats-app/package.json | 2 +- sample/02-gateways/package.json | 2 +- sample/03-microservices/package.json | 2 +- sample/04-grpc/package.json | 2 +- sample/05-sql-typeorm/package.json | 2 +- sample/06-mongoose/package.json | 2 +- sample/07-sequelize/package.json | 2 +- sample/10-fastify/package.json | 2 +- sample/11-swagger/package.json | 2 +- sample/12-graphql-schema-first/package.json | 2 +- sample/13-mongo-typeorm/package.json | 2 +- sample/14-mongoose-base/package.json | 2 +- sample/15-mvc/package.json | 2 +- sample/16-gateways-ws/package.json | 2 +- sample/17-mvc-fastify/package.json | 2 +- sample/18-context/package.json | 2 +- sample/19-auth-jwt/package.json | 2 +- sample/20-cache/package.json | 2 +- sample/21-serializer/package.json | 2 +- sample/22-graphql-prisma/package.json | 2 +- sample/23-graphql-code-first/package.json | 2 +- sample/24-serve-static/package.json | 2 +- sample/25-dynamic-modules/package.json | 2 +- sample/26-queues/package.json | 2 +- sample/27-scheduling/package.json | 2 +- sample/28-sse/package.json | 2 +- sample/29-file-upload/package.json | 2 +- sample/30-event-emitter/package.json | 2 +- sample/31-graphql-federation-code-first/gateway/package.json | 2 +- .../posts-application/package.json | 2 +- .../users-application/package.json | 2 +- sample/32-graphql-federation-schema-first/gateway/package.json | 2 +- .../posts-application/package.json | 2 +- .../users-application/package.json | 2 +- sample/33-graphql-mercurius/package.json | 2 +- sample/36-hmr-esm/package.json | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/sample/01-cats-app/package.json b/sample/01-cats-app/package.json index a3ea7e90fd..5a2e392a33 100644 --- a/sample/01-cats-app/package.json +++ b/sample/01-cats-app/package.json @@ -41,7 +41,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/02-gateways/package.json b/sample/02-gateways/package.json index 53344814e5..941983cacd 100644 --- a/sample/02-gateways/package.json +++ b/sample/02-gateways/package.json @@ -50,7 +50,7 @@ "prettier": "3.8.3", "redis": "5.12.1", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/03-microservices/package.json b/sample/03-microservices/package.json index 5255ab7194..134ba9fb15 100644 --- a/sample/03-microservices/package.json +++ b/sample/03-microservices/package.json @@ -42,7 +42,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/04-grpc/package.json b/sample/04-grpc/package.json index 53cbed84e1..aa5facb38f 100644 --- a/sample/04-grpc/package.json +++ b/sample/04-grpc/package.json @@ -46,7 +46,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/05-sql-typeorm/package.json b/sample/05-sql-typeorm/package.json index 4b897d224f..a83fbbf32d 100644 --- a/sample/05-sql-typeorm/package.json +++ b/sample/05-sql-typeorm/package.json @@ -45,7 +45,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/06-mongoose/package.json b/sample/06-mongoose/package.json index 66120f88e0..9cfae5ce18 100644 --- a/sample/06-mongoose/package.json +++ b/sample/06-mongoose/package.json @@ -44,7 +44,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/07-sequelize/package.json b/sample/07-sequelize/package.json index 6523f1f637..1edbcb3c44 100644 --- a/sample/07-sequelize/package.json +++ b/sample/07-sequelize/package.json @@ -47,7 +47,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/10-fastify/package.json b/sample/10-fastify/package.json index 2b00068d75..f0c9d16697 100644 --- a/sample/10-fastify/package.json +++ b/sample/10-fastify/package.json @@ -42,7 +42,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/11-swagger/package.json b/sample/11-swagger/package.json index 55729c9021..d82145b540 100644 --- a/sample/11-swagger/package.json +++ b/sample/11-swagger/package.json @@ -44,7 +44,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/12-graphql-schema-first/package.json b/sample/12-graphql-schema-first/package.json index 56344ec012..379e081fc2 100644 --- a/sample/12-graphql-schema-first/package.json +++ b/sample/12-graphql-schema-first/package.json @@ -50,7 +50,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-morph": "28.0.0", "ts-node": "10.9.2", diff --git a/sample/13-mongo-typeorm/package.json b/sample/13-mongo-typeorm/package.json index 84b5790d35..3486b18dd8 100644 --- a/sample/13-mongo-typeorm/package.json +++ b/sample/13-mongo-typeorm/package.json @@ -45,7 +45,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/14-mongoose-base/package.json b/sample/14-mongoose-base/package.json index 87267e0445..0d90f9e9f4 100644 --- a/sample/14-mongoose-base/package.json +++ b/sample/14-mongoose-base/package.json @@ -43,7 +43,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/15-mvc/package.json b/sample/15-mvc/package.json index 2e6696076d..9b3d6f7118 100644 --- a/sample/15-mvc/package.json +++ b/sample/15-mvc/package.json @@ -39,7 +39,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/16-gateways-ws/package.json b/sample/16-gateways-ws/package.json index 280947b48c..9f1de6be56 100644 --- a/sample/16-gateways-ws/package.json +++ b/sample/16-gateways-ws/package.json @@ -44,7 +44,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/17-mvc-fastify/package.json b/sample/17-mvc-fastify/package.json index 32dce7c112..8c5728667c 100644 --- a/sample/17-mvc-fastify/package.json +++ b/sample/17-mvc-fastify/package.json @@ -44,7 +44,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/18-context/package.json b/sample/18-context/package.json index 226167eddf..040274d950 100644 --- a/sample/18-context/package.json +++ b/sample/18-context/package.json @@ -35,7 +35,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/19-auth-jwt/package.json b/sample/19-auth-jwt/package.json index 58f00a062f..8f1ebd39a8 100644 --- a/sample/19-auth-jwt/package.json +++ b/sample/19-auth-jwt/package.json @@ -45,7 +45,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/20-cache/package.json b/sample/20-cache/package.json index 81771f1ab3..96811424b6 100644 --- a/sample/20-cache/package.json +++ b/sample/20-cache/package.json @@ -47,7 +47,7 @@ "prettier": "3.8.3", "rimraf": "6.1.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/21-serializer/package.json b/sample/21-serializer/package.json index 2a7d6882ab..0f7bae732c 100644 --- a/sample/21-serializer/package.json +++ b/sample/21-serializer/package.json @@ -39,7 +39,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/22-graphql-prisma/package.json b/sample/22-graphql-prisma/package.json index 490cd75ae1..151ffb440a 100644 --- a/sample/22-graphql-prisma/package.json +++ b/sample/22-graphql-prisma/package.json @@ -56,7 +56,7 @@ "prettier": "3.8.3", "prisma": "^7.0.0", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-morph": "28.0.0", "ts-node": "10.9.2", diff --git a/sample/23-graphql-code-first/package.json b/sample/23-graphql-code-first/package.json index a2bc962725..44deebc12e 100644 --- a/sample/23-graphql-code-first/package.json +++ b/sample/23-graphql-code-first/package.json @@ -50,7 +50,7 @@ "prettier": "3.8.3", "rimraf": "6.1.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/24-serve-static/package.json b/sample/24-serve-static/package.json index 66308f8eef..50715f407f 100644 --- a/sample/24-serve-static/package.json +++ b/sample/24-serve-static/package.json @@ -41,7 +41,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/25-dynamic-modules/package.json b/sample/25-dynamic-modules/package.json index 395fdce891..3a78297a67 100644 --- a/sample/25-dynamic-modules/package.json +++ b/sample/25-dynamic-modules/package.json @@ -40,7 +40,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/26-queues/package.json b/sample/26-queues/package.json index 3fdcc735c6..604ddb74d7 100644 --- a/sample/26-queues/package.json +++ b/sample/26-queues/package.json @@ -43,7 +43,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/27-scheduling/package.json b/sample/27-scheduling/package.json index 26ce498b90..98cc66c491 100644 --- a/sample/27-scheduling/package.json +++ b/sample/27-scheduling/package.json @@ -42,7 +42,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/28-sse/package.json b/sample/28-sse/package.json index 15c879af23..342d5db4b1 100644 --- a/sample/28-sse/package.json +++ b/sample/28-sse/package.json @@ -39,7 +39,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/29-file-upload/package.json b/sample/29-file-upload/package.json index 380a860ece..3987db39f1 100644 --- a/sample/29-file-upload/package.json +++ b/sample/29-file-upload/package.json @@ -42,7 +42,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/30-event-emitter/package.json b/sample/30-event-emitter/package.json index 55034bbf1e..8d90b65aad 100644 --- a/sample/30-event-emitter/package.json +++ b/sample/30-event-emitter/package.json @@ -43,7 +43,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/31-graphql-federation-code-first/gateway/package.json b/sample/31-graphql-federation-code-first/gateway/package.json index cf510a5964..8b3bedf64b 100644 --- a/sample/31-graphql-federation-code-first/gateway/package.json +++ b/sample/31-graphql-federation-code-first/gateway/package.json @@ -49,7 +49,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/31-graphql-federation-code-first/posts-application/package.json b/sample/31-graphql-federation-code-first/posts-application/package.json index b67a7666f4..f6f3cce1ee 100644 --- a/sample/31-graphql-federation-code-first/posts-application/package.json +++ b/sample/31-graphql-federation-code-first/posts-application/package.json @@ -51,7 +51,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/31-graphql-federation-code-first/users-application/package.json b/sample/31-graphql-federation-code-first/users-application/package.json index 6668eb02ba..dd3a118158 100644 --- a/sample/31-graphql-federation-code-first/users-application/package.json +++ b/sample/31-graphql-federation-code-first/users-application/package.json @@ -51,7 +51,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/32-graphql-federation-schema-first/gateway/package.json b/sample/32-graphql-federation-schema-first/gateway/package.json index e7ea003daf..c16bd7d59f 100644 --- a/sample/32-graphql-federation-schema-first/gateway/package.json +++ b/sample/32-graphql-federation-schema-first/gateway/package.json @@ -52,7 +52,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/32-graphql-federation-schema-first/posts-application/package.json b/sample/32-graphql-federation-schema-first/posts-application/package.json index e61e05eae8..e77232a45f 100644 --- a/sample/32-graphql-federation-schema-first/posts-application/package.json +++ b/sample/32-graphql-federation-schema-first/posts-application/package.json @@ -53,7 +53,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/32-graphql-federation-schema-first/users-application/package.json b/sample/32-graphql-federation-schema-first/users-application/package.json index 41ac0c3bd5..fa16269866 100644 --- a/sample/32-graphql-federation-schema-first/users-application/package.json +++ b/sample/32-graphql-federation-schema-first/users-application/package.json @@ -51,7 +51,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/33-graphql-mercurius/package.json b/sample/33-graphql-mercurius/package.json index 615e8b61cd..a00bc97e2a 100644 --- a/sample/33-graphql-mercurius/package.json +++ b/sample/33-graphql-mercurius/package.json @@ -47,7 +47,7 @@ "prettier": "3.8.3", "rimraf": "6.1.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", diff --git a/sample/36-hmr-esm/package.json b/sample/36-hmr-esm/package.json index 1ab1aacf63..714786f4f7 100644 --- a/sample/36-hmr-esm/package.json +++ b/sample/36-hmr-esm/package.json @@ -47,7 +47,7 @@ "jest": "30.4.2", "prettier": "3.8.3", "supertest": "7.2.2", - "ts-jest": "29.4.10", + "ts-jest": "29.4.11", "ts-loader": "9.5.7", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", From a64c7be706e331e0775a1fe67cd45521538e17fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 06:46:48 +0000 Subject: [PATCH 34/34] fix(deps): update nest-graphql monorepo to v13.4.2 --- package-lock.json | 16 ++++++++-------- package.json | 4 ++-- sample/12-graphql-schema-first/package.json | 4 ++-- sample/22-graphql-prisma/package.json | 4 ++-- sample/23-graphql-code-first/package.json | 4 ++-- .../gateway/package.json | 4 ++-- .../posts-application/package.json | 4 ++-- .../users-application/package.json | 4 ++-- .../gateway/package.json | 4 ++-- .../posts-application/package.json | 4 ++-- .../users-application/package.json | 4 ++-- sample/33-graphql-mercurius/package.json | 4 ++-- 12 files changed, 30 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index addab81a5d..295667bd29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,8 +45,8 @@ "@fastify/view": "11.1.1", "@grpc/grpc-js": "1.14.4", "@grpc/proto-loader": "0.8.1", - "@nestjs/apollo": "13.4.1", - "@nestjs/graphql": "13.4.1", + "@nestjs/apollo": "13.4.2", + "@nestjs/graphql": "13.4.2", "@nestjs/mongoose": "11.0.4", "@nestjs/typeorm": "11.0.1", "@types/amqplib": "0.10.8", @@ -3199,9 +3199,9 @@ } }, "node_modules/@nestjs/apollo": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@nestjs/apollo/-/apollo-13.4.1.tgz", - "integrity": "sha512-SCFQ3kbf8Tj3neXWtwNzddVWNrNdQXvz9l7KZncWvzhdZ/TV5Uh3jxfWCl4NnNI1BSvDkQSbd90tAVCWV5x5Aw==", + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@nestjs/apollo/-/apollo-13.4.2.tgz", + "integrity": "sha512-kkIC7ini4a3ApJpOByfd0uqDH9rM4ndrn3prDd7JZD1xl81Thd/ekz3g0UvMJmtvsuCYtS36In/zayNo8GuMTA==", "dev": true, "license": "MIT", "dependencies": { @@ -3312,9 +3312,9 @@ } }, "node_modules/@nestjs/graphql": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-13.4.1.tgz", - "integrity": "sha512-oULTVBSMZXeKb/eMDyY9xf4PnfWLY8Z1n9ZxGo1B5oP85LMxkMb+8konxnNHPUglYpeLmLWxDNeI9CLj+fjClw==", + "version": "13.4.2", + "resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-13.4.2.tgz", + "integrity": "sha512-MIaMIaV9o3Tj2LsoGGwhISTZVXEIfDK8rDXplE3tSYULj6cXSY1dofOSLMF/aY+BZLwlrN4BUUowgu8qNdDZFg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index d6411f2d95..86713c2f53 100644 --- a/package.json +++ b/package.json @@ -95,8 +95,8 @@ "@fastify/view": "11.1.1", "@grpc/grpc-js": "1.14.4", "@grpc/proto-loader": "0.8.1", - "@nestjs/apollo": "13.4.1", - "@nestjs/graphql": "13.4.1", + "@nestjs/apollo": "13.4.2", + "@nestjs/graphql": "13.4.2", "@nestjs/mongoose": "11.0.4", "@nestjs/typeorm": "11.0.1", "@types/amqplib": "0.10.8", diff --git a/sample/12-graphql-schema-first/package.json b/sample/12-graphql-schema-first/package.json index 56344ec012..cdea702540 100644 --- a/sample/12-graphql-schema-first/package.json +++ b/sample/12-graphql-schema-first/package.json @@ -21,10 +21,10 @@ "dependencies": { "@apollo/server": "5.5.1", "@graphql-tools/utils": "11.1.0", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", diff --git a/sample/22-graphql-prisma/package.json b/sample/22-graphql-prisma/package.json index 490cd75ae1..cb741f7db6 100644 --- a/sample/22-graphql-prisma/package.json +++ b/sample/22-graphql-prisma/package.json @@ -21,10 +21,10 @@ }, "dependencies": { "@apollo/server": "5.5.1", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "@prisma/adapter-better-sqlite3": "7.8.0", "@prisma/client": "7.8.0", diff --git a/sample/23-graphql-code-first/package.json b/sample/23-graphql-code-first/package.json index a2bc962725..70a7da01cb 100644 --- a/sample/23-graphql-code-first/package.json +++ b/sample/23-graphql-code-first/package.json @@ -20,10 +20,10 @@ }, "dependencies": { "@apollo/server": "5.5.1", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1", diff --git a/sample/31-graphql-federation-code-first/gateway/package.json b/sample/31-graphql-federation-code-first/gateway/package.json index cf510a5964..13768a1f09 100644 --- a/sample/31-graphql-federation-code-first/gateway/package.json +++ b/sample/31-graphql-federation-code-first/gateway/package.json @@ -21,10 +21,10 @@ "dependencies": { "@apollo/gateway": "2.14.0", "@apollo/server": "5.5.1", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/31-graphql-federation-code-first/posts-application/package.json b/sample/31-graphql-federation-code-first/posts-application/package.json index b67a7666f4..58bb7be13d 100644 --- a/sample/31-graphql-federation-code-first/posts-application/package.json +++ b/sample/31-graphql-federation-code-first/posts-application/package.json @@ -23,10 +23,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "5.5.1", "@apollo/subgraph": "2.14.0", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/31-graphql-federation-code-first/users-application/package.json b/sample/31-graphql-federation-code-first/users-application/package.json index 6668eb02ba..7350a55e27 100644 --- a/sample/31-graphql-federation-code-first/users-application/package.json +++ b/sample/31-graphql-federation-code-first/users-application/package.json @@ -22,10 +22,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "5.5.1", "@apollo/subgraph": "2.14.0", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/32-graphql-federation-schema-first/gateway/package.json b/sample/32-graphql-federation-schema-first/gateway/package.json index e7ea003daf..c8d99cf405 100644 --- a/sample/32-graphql-federation-schema-first/gateway/package.json +++ b/sample/32-graphql-federation-schema-first/gateway/package.json @@ -23,10 +23,10 @@ "dependencies": { "@apollo/gateway": "2.14.0", "@apollo/server": "^5.0.0", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/32-graphql-federation-schema-first/posts-application/package.json b/sample/32-graphql-federation-schema-first/posts-application/package.json index e61e05eae8..66dc607a1a 100644 --- a/sample/32-graphql-federation-schema-first/posts-application/package.json +++ b/sample/32-graphql-federation-schema-first/posts-application/package.json @@ -24,10 +24,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "^5.0.0", "@apollo/subgraph": "2.14.0", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/32-graphql-federation-schema-first/users-application/package.json b/sample/32-graphql-federation-schema-first/users-application/package.json index 41ac0c3bd5..2e33e41b3b 100644 --- a/sample/32-graphql-federation-schema-first/users-application/package.json +++ b/sample/32-graphql-federation-schema-first/users-application/package.json @@ -23,10 +23,10 @@ "@apollo/gateway": "2.14.0", "@apollo/server": "^5.0.0", "@apollo/subgraph": "2.14.0", - "@nestjs/apollo": "13.4.1", + "@nestjs/apollo": "13.4.2", "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", + "@nestjs/graphql": "13.4.2", "@nestjs/platform-express": "11.1.23", "graphql": "16.10.0", "graphql-tools": "9.0.28", diff --git a/sample/33-graphql-mercurius/package.json b/sample/33-graphql-mercurius/package.json index 615e8b61cd..0961ed1454 100644 --- a/sample/33-graphql-mercurius/package.json +++ b/sample/33-graphql-mercurius/package.json @@ -21,8 +21,8 @@ "dependencies": { "@nestjs/common": "11.1.23", "@nestjs/core": "11.1.23", - "@nestjs/graphql": "13.4.1", - "@nestjs/mercurius": "13.4.0", + "@nestjs/graphql": "13.4.2", + "@nestjs/mercurius": "13.4.2", "@nestjs/platform-fastify": "11.1.23", "class-transformer": "0.5.1", "class-validator": "0.15.1",