Compare commits

...

85 Commits

Author SHA1 Message Date
Kamil Myśliwiec
bedf1fa2a6 chore(@nestjs) publish v10.4.11 release 2024-11-27 12:01:46 +01:00
Kamil Myśliwiec
96e3e79acc fix(grpc): schedule messages forwarding after the current event loop 2024-11-27 11:50:50 +01:00
Kamil Myśliwiec
e411d80d4d chore: remove a leftover 2024-11-27 11:06:07 +01:00
Kamil Mysliwiec
9fb542968b Merge pull request #14223 from nestjs/renovate/nest-monorepo
chore(deps): update nest monorepo
2024-11-27 10:57:53 +01:00
renovate[bot]
e6fe92ce79 chore(deps): update nest monorepo 2024-11-27 09:57:12 +00:00
Kamil Mysliwiec
2df0c754da Merge pull request #14222 from nestjs/renovate/nest-monorepo
chore(deps): update nest monorepo
2024-11-27 10:48:24 +01:00
renovate[bot]
a119a1a9c1 chore(deps): update nest monorepo 2024-11-27 09:30:26 +00:00
Kamil Myśliwiec
5ebe4b93b3 chore(@nestjs) publish v10.4.10 release 2024-11-27 10:18:59 +01:00
Kamil Mysliwiec
4a9a3d86c2 Merge pull request #14221 from nestjs/renovate/mysql-8.x
chore(deps): update mysql docker tag to v8.4.3
2024-11-27 10:00:48 +01:00
Kamil Mysliwiec
1cf339c5be Merge pull request #14220 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.96.1
2024-11-27 10:00:36 +01:00
Kamil Mysliwiec
2c2d766502 Merge pull request #14219 from nestjs/renovate/nodemon-3.x
chore(deps): update dependency nodemon to v3.1.7
2024-11-27 10:00:28 +01:00
Kamil Myśliwiec
dbeaa0b316 sample: fix mongoose model mock 2024-11-27 09:59:11 +01:00
Kamil Mysliwiec
5396c8c6f0 Merge pull request #14218 from nestjs/renovate/confluentinc-cp-zookeeper-7.x
chore(deps): update confluentinc/cp-zookeeper docker tag to v7.7.1
2024-11-27 09:57:33 +01:00
renovate[bot]
13092aeac0 chore(deps): update dependency webpack to v5.96.1 2024-11-27 08:57:32 +00:00
Kamil Mysliwiec
6aa6d47c25 Merge pull request #14217 from nestjs/renovate/confluentinc-cp-kafka-7.x
chore(deps): update confluentinc/cp-kafka docker tag to v7.7.1
2024-11-27 09:57:25 +01:00
renovate[bot]
38bea6e544 chore(deps): update dependency nodemon to v3.1.7 2024-11-27 08:57:12 +00:00
Kamil Mysliwiec
42a443ee9a Merge pull request #14216 from nestjs/renovate/rimraf-5.x
fix(deps): update dependency rimraf to v5.0.10
2024-11-27 09:56:34 +01:00
Kamil Mysliwiec
f39cffe8ea Merge pull request #14215 from nestjs/renovate/dotenv-16.x
fix(deps): update dependency dotenv to v16.4.5
2024-11-27 09:56:24 +01:00
Kamil Mysliwiec
f97c8bc586 Merge pull request #14214 from nestjs/renovate/grpc-reflection-1.x
fix(deps): update dependency @grpc/reflection to v1.0.4
2024-11-27 09:56:03 +01:00
renovate[bot]
ca78cbe447 chore(deps): update mysql docker tag to v8.4.3 2024-11-27 08:48:24 +00:00
renovate[bot]
9e21f093d8 chore(deps): update confluentinc/cp-zookeeper docker tag to v7.7.1 2024-11-27 08:47:12 +00:00
renovate[bot]
619db30f16 chore(deps): update confluentinc/cp-kafka docker tag to v7.7.1 2024-11-27 08:46:59 +00:00
renovate[bot]
9174dd647e fix(deps): update dependency rimraf to v5.0.10 2024-11-27 08:46:41 +00:00
Kamil Myśliwiec
f95758d88d sample: replace findByIdAndRemove with findByIdAndDelete 2024-11-27 09:43:57 +01:00
renovate[bot]
7854ceb1db fix(deps): update dependency dotenv to v16.4.5 2024-11-27 08:41:58 +00:00
renovate[bot]
d8343a22cc fix(deps): update dependency @grpc/reflection to v1.0.4 2024-11-27 08:41:19 +00:00
Kamil Mysliwiec
38ab78272f Merge pull request #12940 from nestjs/renovate/mongoose-8.x
fix(deps): update dependency mongoose to v8.8.3
2024-11-27 09:27:18 +01:00
renovate[bot]
45f3322832 fix(deps): update dependency mongoose to v8.8.3 2024-11-27 07:57:35 +00:00
Kamil Mysliwiec
9bbc4dbab3 Merge pull request #14207 from nestjs/renovate/dotenv-8.x
chore(deps): update dependency @types/dotenv to v8.2.3
2024-11-27 08:50:19 +01:00
Kamil Mysliwiec
b46508793e Merge pull request #14208 from nestjs/renovate/node-20.x
chore(deps): update dependency @types/node to v20.17.8
2024-11-27 08:50:10 +01:00
Kamil Mysliwiec
feb75da3ce Merge pull request #14209 from nestjs/renovate/amqplib-0.x
chore(deps): update dependency amqplib to v0.10.5
2024-11-27 08:50:02 +01:00
renovate[bot]
46db58c196 chore(deps): update dependency amqplib to v0.10.5 2024-11-27 07:47:07 +00:00
renovate[bot]
638d4666fb chore(deps): update dependency @types/node to v20.17.8 2024-11-27 07:46:32 +00:00
Kamil Mysliwiec
91190b4175 Merge pull request #14212 from nestjs/renovate/npm-webpack-vulnerability
chore(deps): update dependency webpack to v5.94.0 [security]
2024-11-27 08:43:07 +01:00
renovate[bot]
d1a76abe21 chore(deps): update dependency @types/dotenv to v8.2.3 2024-11-27 07:42:51 +00:00
renovate[bot]
055709dd3a chore(deps): update dependency webpack to v5.94.0 [security] 2024-11-27 07:40:26 +00:00
Kamil Mysliwiec
f80b00793c Merge pull request #14210 from nestjs/renovate/husky-9.x
chore(deps): update dependency husky to v9.1.7
2024-11-27 08:39:07 +01:00
Kamil Mysliwiec
b876e6b60d Merge pull request #14211 from nestjs/renovate/nest-monorepo
chore(deps): update nest monorepo
2024-11-27 08:30:17 +01:00
renovate[bot]
a7392981cf chore(deps): update nest monorepo 2024-11-27 07:27:07 +00:00
renovate[bot]
afb889dd21 chore(deps): update dependency husky to v9.1.7 2024-11-27 07:22:52 +00:00
Kamil Mysliwiec
8da7ebcbfd Merge pull request #14206 from nestjs/dependabot/npm_and_yarn/mongoose-8.8.3
chore(deps-dev): bump mongoose from 8.8.1 to 8.8.3
2024-11-27 08:15:28 +01:00
dependabot[bot]
c90553bb05 chore(deps-dev): bump mongoose from 8.8.1 to 8.8.3
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.8.1 to 8.8.3.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.8.1...8.8.3)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-27 00:39:08 +00:00
Kamil Mysliwiec
8102325bd2 Merge pull request #14204 from sapenlei/fix/non-shared-server-close
fix(websockets): ensure non-shared servers call close method
2024-11-26 08:19:50 +01:00
sapen
bba5fde16e fix(websockets): ensure non-shared servers call close method 2024-11-26 11:11:58 +08:00
Kamil Myśliwiec
416830c392 chore(@nestjs) publish v10.4.9 release 2024-11-25 15:34:51 +01:00
Kamil Mysliwiec
9286733482 Merge pull request #13923 from DylanVeldra/fix-tenant-context-payload
fix(core): merge req context with tenant payload in the request instance
2024-11-25 15:01:51 +01:00
Kamil Mysliwiec
81597f7ed9 Merge branch 'master' into fix-tenant-context-payload 2024-11-25 14:38:47 +01:00
Kamil Myśliwiec
84b8744f90 refactor: methods order, types in e2e test 2024-11-25 14:34:28 +01:00
Kamil Mysliwiec
95c8547b68 Merge pull request #14185 from sapenlei/fix/prevent-socketio-server-close
fix(websockets): Prevent HTTP server early close in Socket.IO shutdown
2024-11-25 14:31:18 +01:00
Kamil Myśliwiec
ae0517b364 Merge branch 'master' of https://github.com/nestjs/nest 2024-11-25 14:28:56 +01:00
Kamil Myśliwiec
8ffae006c8 sample: revert microservices sample local updates 2024-11-25 14:28:44 +01:00
Kamil Mysliwiec
f7248e2d8d Merge pull request #14181 from nestjs/fix/validation-pipe-swc-enum-bug
fix(common): fallback to empty string for enums when validating (swc builder)
2024-11-25 14:12:13 +01:00
Kamil Myśliwiec
25ad5b4b80 refactor(core): tiny improvements 2024-11-25 14:11:38 +01:00
Kamil Mysliwiec
3324703b88 Merge pull request #13804 from patrickacioli/fix-lazy-transient-provider
fix(core): dependencies not resolving for transient lazy providers
2024-11-25 14:10:06 +01:00
sapen
3b5cb562a1 test(websockets): Add integration test for Socket.IO HTTP server shutdown 2024-11-22 20:14:02 +08:00
Kamil Mysliwiec
67e30e2f1f Merge pull request #14192 from nestjs/renovate/npm-webpack-vulnerability
chore(deps): update dependency webpack to v5.94.0 [security]
2024-11-22 11:31:18 +01:00
sapen
f650c22af8 fix(websockets): Revert type 2024-11-22 15:45:08 +08:00
renovate[bot]
2b90f44621 chore(deps): update dependency webpack to v5.94.0 [security] 2024-11-22 07:27:42 +00:00
Kamil Mysliwiec
3cf1130eaa Merge pull request #14191 from nestjs/dependabot/npm_and_yarn/light-my-request-6.3.0
chore(deps): bump light-my-request from 6.1.0 to 6.3.0
2024-11-22 08:24:47 +01:00
dependabot[bot]
646c663366 chore(deps): bump light-my-request from 6.1.0 to 6.3.0
Bumps [light-my-request](https://github.com/fastify/light-my-request) from 6.1.0 to 6.3.0.
- [Release notes](https://github.com/fastify/light-my-request/releases)
- [Commits](https://github.com/fastify/light-my-request/compare/v6.1.0...v6.3.0)

---
updated-dependencies:
- dependency-name: light-my-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-22 00:26:01 +00:00
Kamil Mysliwiec
f39fdacf8a Merge pull request #14188 from nestjs/dependabot/npm_and_yarn/sample/30-event-emitter/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/30-event-emitter
2024-11-21 14:37:45 +01:00
dependabot[bot]
7fe2f43d28 chore(deps): bump cross-spawn in /sample/30-event-emitter
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 13:19:30 +00:00
Kamil Mysliwiec
180a3e6bd3 Merge pull request #14187 from nestjs/dependabot/npm_and_yarn/sample/34-using-esm-packages/multi-c29acd3782
chore(deps): bump cookie and @nestjs/platform-express in /sample/34-using-esm-packages
2024-11-21 14:18:28 +01:00
Kamil Mysliwiec
afbba2d318 Merge pull request #14189 from nestjs/dependabot/npm_and_yarn/sample/19-auth-jwt/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/19-auth-jwt
2024-11-21 14:18:19 +01:00
dependabot[bot]
e3e9636dcc chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/19-auth-jwt
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 13:14:40 +00:00
Kamil Mysliwiec
a4ddd867e6 Merge pull request #14186 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/posts-application/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/31-graphql-federation-code-first/posts-application
2024-11-21 14:13:14 +01:00
dependabot[bot]
f99353f45e chore(deps): bump cookie and @nestjs/platform-express
Bumps [cookie](https://github.com/jshttp/cookie) to 0.7.1 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `cookie` from 0.6.0 to 0.7.1
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.1)

Updates `@nestjs/platform-express` from 10.4.4 to 10.4.8
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.8/packages/platform-express)

---
updated-dependencies:
- dependency-name: cookie
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 11:49:11 +00:00
dependabot[bot]
f3c0fcde5b chore(deps): bump cross-spawn
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 11:49:11 +00:00
Kamil Mysliwiec
29cc21c7b7 Merge pull request #14183 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/posts-application/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/32-graphql-federation-schema-first/posts-application
2024-11-21 12:47:07 +01:00
sapen
40dbb27519 fix(websockets): Prevent HTTP server early close in Socket.IO shutdown 2024-11-21 19:20:26 +08:00
dependabot[bot]
2111a40e47 chore(deps): bump cross-spawn
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 09:32:47 +00:00
Kamil Mysliwiec
440e9cf6a3 Merge pull request #14176 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/users-application/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/32-graphql-federation-schema-first/users-application
2024-11-21 10:31:30 +01:00
Kamil Mysliwiec
73dea121d7 Merge pull request #14179 from nestjs/dependabot/npm_and_yarn/types/mocha-10.0.10
chore(deps-dev): bump @types/mocha from 10.0.9 to 10.0.10
2024-11-21 08:20:48 +01:00
Kamil Mysliwiec
a1732f5b3d Merge pull request #14175 from micalevisk/fix-issue-14154
fix(common,core): align the logic of optional provider
2024-11-21 08:20:34 +01:00
dependabot[bot]
76e73c26d5 chore(deps-dev): bump @types/mocha from 10.0.9 to 10.0.10
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 10.0.9 to 10.0.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 00:23:58 +00:00
dependabot[bot]
62e3bd5a16 chore(deps): bump cross-spawn
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 14:45:08 +00:00
Kamil Mysliwiec
45f4612ed5 Merge pull request #14174 from nestjs/dependabot/npm_and_yarn/sample/22-graphql-prisma/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/22-graphql-prisma
2024-11-20 15:43:53 +01:00
Micael Levi L. Cavalcante
aabde1aadb fix(common,core): align the logic of optional provider 2024-11-20 09:43:11 -04:00
Micael Levi L. Cavalcante
de6f7ca20e test(common): improve test suite for getInjectionProviders 2024-11-20 09:40:33 -04:00
dependabot[bot]
33be15afd5 chore(deps): bump cross-spawn in /sample/22-graphql-prisma
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 13:30:43 +00:00
Kamil Mysliwiec
48a74b338b Merge pull request #14173 from nestjs/dependabot/npm_and_yarn/sample/28-sse/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/28-sse
2024-11-20 14:27:26 +01:00
dependabot[bot]
467697599f chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/28-sse
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 11:47:13 +00:00
DylanVeldra
6dba4debb9 fix(core): merge req context with tenant payload in the request instance 2024-08-18 17:11:49 +02:00
Patrick Acioli
daf0f88366 fix(core): dependencies not resolving for transient lazy providers 2024-07-19 03:01:48 -03:00
Patrick Acioli
91beaf7bc2 fix(core): dependencies not resolving for transient lazy providers 2024-07-19 02:46:52 -03:00
109 changed files with 37486 additions and 57973 deletions

View File

@@ -25,7 +25,7 @@ services:
- "9001:9001"
restart: always
mysql:
image: mysql:8.3.0
image: mysql:8.4.3
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test
@@ -50,7 +50,7 @@ services:
zookeeper:
container_name: test-zookeeper
hostname: zookeeper
image: confluentinc/cp-zookeeper:7.5.3
image: confluentinc/cp-zookeeper:7.7.1
ports:
- "2181:2181"
environment:
@@ -59,7 +59,7 @@ services:
kafka:
container_name: test-kafka
hostname: kafka
image: confluentinc/cp-kafka:7.5.3
image: confluentinc/cp-kafka:7.7.1
depends_on:
- zookeeper
ports:

View File

@@ -1,8 +1,8 @@
import { Controller } from '@nestjs/common';
import { MessagePattern, Payload } from '@nestjs/microservices';
import { ExternalSvcService } from './external-svc.service';
import { CreateExternalSvcDto } from './dto/create-external-svc.dto';
import { UpdateExternalSvcDto } from './dto/update-external-svc.dto';
import { ExternalSvcService } from './external-svc.service';
@Controller()
export class ExternalSvcController {

View File

@@ -0,0 +1,32 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import { TransientLazyModule } from '../src/transient.module';
import { LazyController } from '../src/lazy.controller';
import * as chai from 'chai';
import { expect } from 'chai';
import * as request from 'supertest';
describe('Lazy Transient providers', () => {
let app: INestApplication;
beforeEach(async () => {
const module = await Test.createTestingModule({
controllers: [LazyController],
}).compile();
app = module.createNestApplication();
await app.init();
});
it('should not recreate dependencies for default scope', async () => {
const resultOne = await request(app.getHttpServer()).get('/lazy/transient');
const resultTwo = await request(app.getHttpServer()).get('/lazy/transient');
expect(resultOne.text).to.be.equal('Hi! Counter is 1');
expect(resultOne.statusCode).to.be.equal(200);
expect(resultTwo.text).to.be.equal('Hi! Counter is 2');
expect(resultTwo.statusCode).to.be.equal(200);
});
});

View File

@@ -3,7 +3,13 @@ import { GlobalService } from './global.module';
@Injectable()
export class EagerService {
private counter = 0;
constructor(public globalService: GlobalService) {}
sayHello() {
this.counter++;
return 'Hi! Counter is ' + this.counter;
}
}
@Module({

View File

@@ -0,0 +1,18 @@
import { Controller, Get } from '@nestjs/common';
import { LazyModuleLoader } from '@nestjs/core';
@Controller('lazy')
export class LazyController {
constructor(private lazyLoadModule: LazyModuleLoader) {}
@Get('transient')
async exec() {
const { TransientLazyModule } = await import('./transient.module');
const moduleRef = await this.lazyLoadModule.load(() => TransientLazyModule);
const { TransientService } = await import('./transient.service');
const _service = await moduleRef.resolve(TransientService);
return _service.eager();
}
}

View File

@@ -0,0 +1,11 @@
import { Module } from '@nestjs/common';
import { GlobalService } from './global.module';
import { EagerService } from './eager.module';
import { TransientService } from './transient.service';
@Module({
imports: [],
providers: [TransientService, GlobalService, EagerService],
exports: [TransientService],
})
export class TransientLazyModule {}

View File

@@ -0,0 +1,11 @@
import { Injectable, Scope } from '@nestjs/common';
import { EagerService } from './eager.module';
@Injectable({ scope: Scope.TRANSIENT })
export class TransientService {
constructor(private eagerService: EagerService) {}
eager() {
return this.eagerService.sayHello();
}
}

View File

@@ -89,6 +89,25 @@ describe('Durable providers', () => {
expect(result.body).deep.equal({ tenantId: '3' });
});
it(`should return the same tenantId both from durable request scoped service and non-durable request scoped service`, async () => {
let result: request.Response;
result = await new Promise<request.Response>(resolve =>
performHttpCall(1, resolve, '/durable/request-context'),
);
expect(result.body).deep.equal({
durableService: '1',
nonDurableService: '1',
});
result = await new Promise<request.Response>(resolve =>
performHttpCall(2, resolve, '/durable/request-context'),
);
expect(result.body).deep.equal({
durableService: '2',
nonDurableService: '2',
});
});
it(`should not cache durable providers that throw errors`, async () => {
let result: request.Response;

View File

@@ -1,6 +1,11 @@
import { ContextId, ContextIdStrategy, HostComponentInfo } from '@nestjs/core';
import { Request } from 'express';
export type TenantContext = {
tenantId: string;
forceError?: boolean;
};
const tenants = new Map<string, ContextId>();
export class DurableContextIdStrategy implements ContextIdStrategy {
@@ -17,10 +22,7 @@ export class DurableContextIdStrategy implements ContextIdStrategy {
tenants.set(tenantId, tenantSubTreeId);
}
const payload: {
tenantId: string;
forceError?: boolean;
} = { tenantId };
const payload: TenantContext = { tenantId };
if (forceError) {
payload.forceError = true;
}

View File

@@ -1,9 +1,13 @@
import { Controller, Get } from '@nestjs/common';
import { DurableService } from './durable.service';
import { NonDurableService } from './non-durable.service';
@Controller('durable')
export class DurableController {
constructor(private readonly durableService: DurableService) {}
constructor(
private readonly durableService: DurableService,
private readonly nonDurableService: NonDurableService,
) {}
@Get()
greeting(): string {
@@ -12,6 +16,16 @@ export class DurableController {
@Get('echo')
echo() {
return this.durableService.requestPayload;
return {
tenantId: this.durableService.getTenantId(),
};
}
@Get('request-context')
getRequestContext() {
return {
durableService: this.durableService.getTenantId(),
nonDurableService: this.nonDurableService.getTenantId(),
};
}
}

View File

@@ -3,11 +3,13 @@ import { APP_GUARD } from '@nestjs/core';
import { DurableController } from './durable.controller';
import { DurableGuard } from './durable.guard';
import { DurableService } from './durable.service';
import { NonDurableService } from './non-durable.service';
@Module({
controllers: [DurableController],
providers: [
DurableService,
NonDurableService,
{
provide: APP_GUARD,
useClass: DurableGuard,

View File

@@ -5,14 +5,14 @@ import {
Scope,
} from '@nestjs/common';
import { REQUEST } from '@nestjs/core';
import { TenantContext } from './durable-context-id.strategy';
@Injectable({ scope: Scope.REQUEST, durable: true })
export class DurableService {
public instanceCounter = 0;
constructor(
@Inject(REQUEST)
public readonly requestPayload: { tenantId: string; forceError: boolean },
@Inject(REQUEST) private readonly requestPayload: TenantContext,
) {
if (requestPayload.forceError) {
throw new PreconditionFailedException('Forced error');
@@ -23,4 +23,8 @@ export class DurableService {
++this.instanceCounter;
return `Hello world! Counter: ${this.instanceCounter}`;
}
getTenantId() {
return this.requestPayload.tenantId;
}
}

View File

@@ -0,0 +1,14 @@
import { Inject, Injectable, Scope } from '@nestjs/common';
import { REQUEST } from '@nestjs/core';
import { TenantContext } from './durable-context-id.strategy';
@Injectable()
export class NonDurableService {
constructor(
@Inject(REQUEST) private readonly requestPayload: TenantContext,
) {}
getTenantId() {
return this.requestPayload.tenantId;
}
}

View File

@@ -1,7 +1,9 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import { expect } from 'chai';
import * as EventSource from 'eventsource';
import { io } from 'socket.io-client';
import { AppController as LongConnectionController } from '../../nest-application/sse/src/app.controller';
import { ApplicationGateway } from '../src/app.gateway';
import { NamespaceGateway } from '../src/namespace.gateway';
import { ServerGateway } from '../src/server.gateway';
@@ -15,7 +17,7 @@ async function createNestApp(...gateways): Promise<INestApplication> {
}
describe('WebSocketGateway', () => {
let ws, app;
let ws: ReturnType<typeof io>, app: INestApplication;
it(`should handle message (2nd port)`, async () => {
app = await createNestApp(ApplicationGateway);
@@ -98,5 +100,78 @@ describe('WebSocketGateway', () => {
);
});
describe('shared server for WS and Long-Running connections', () => {
afterEach(() => {});
it('should block application shutdown', function (done) {
let eventSource;
(async () => {
this.timeout(30000);
setTimeout(() => {
const instance = testingModule.get(ServerGateway);
expect(instance.onApplicationShutdown.called).to.be.false;
eventSource.close();
done();
}, 25000);
const testingModule = await Test.createTestingModule({
providers: [ServerGateway],
controllers: [LongConnectionController],
}).compile();
app = testingModule.createNestApplication();
await app.listen(3000);
ws = io(`http://localhost:3000`);
eventSource = new EventSource(`http://localhost:3000/sse`);
await new Promise<void>((resolve, reject) => {
ws.on('connect', resolve);
ws.on('error', reject);
});
await new Promise((resolve, reject) => {
eventSource.onmessage = resolve;
eventSource.onerror = reject;
});
app.close();
})();
});
it('should shutdown application immediately when forceCloseConnections is true', async () => {
const testingModule = await Test.createTestingModule({
providers: [ServerGateway],
controllers: [LongConnectionController],
}).compile();
app = testingModule.createNestApplication({
forceCloseConnections: true,
});
await app.listen(3000);
ws = io(`http://localhost:3000`);
const eventSource = new EventSource(`http://localhost:3000/sse`);
await new Promise<void>((resolve, reject) => {
ws.on('connect', resolve);
ws.on('error', reject);
});
await new Promise((resolve, reject) => {
eventSource.onmessage = resolve;
eventSource.onerror = reject;
});
await app.close();
const instance = testingModule.get(ServerGateway);
expect(instance.onApplicationShutdown.called).to.be.true;
eventSource.close();
});
});
afterEach(() => app.close());
});

View File

@@ -1,9 +1,10 @@
import { UseInterceptors } from '@nestjs/common';
import { OnApplicationShutdown, UseInterceptors } from '@nestjs/common';
import { SubscribeMessage, WebSocketGateway } from '@nestjs/websockets';
import * as Sinon from 'sinon';
import { RequestInterceptor } from './request.interceptor';
@WebSocketGateway()
export class ServerGateway {
export class ServerGateway implements OnApplicationShutdown {
@SubscribeMessage('push')
onPush(client, data) {
return {
@@ -20,4 +21,6 @@ export class ServerGateway {
data: { ...data, path: client.pattern },
};
}
onApplicationShutdown = Sinon.spy();
}

View File

@@ -3,5 +3,5 @@
"packages": [
"packages/*"
],
"version": "10.4.8"
"version": "10.4.11"
}

51857
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -101,7 +101,7 @@
"@types/express": "4.17.21",
"@types/gulp": "4.0.17",
"@types/http-errors": "2.0.4",
"@types/mocha": "10.0.9",
"@types/mocha": "10.0.10",
"@types/node": "22.9.0",
"@types/sinon": "17.0.3",
"@types/supertest": "6.0.2",
@@ -109,7 +109,7 @@
"@typescript-eslint/eslint-plugin": "8.15.0",
"@typescript-eslint/parser": "8.15.0",
"amqp-connection-manager": "4.1.14",
"amqplib": "0.10.4",
"amqplib": "0.10.5",
"artillery": "2.0.21",
"body-parser": "1.20.3",
"bytes": "3.1.2",
@@ -140,7 +140,7 @@
"gulp-typescript": "5.0.1",
"gulp-watch": "5.0.1",
"http-errors": "2.0.0",
"husky": "9.1.6",
"husky": "9.1.7",
"imports-loader": "5.0.0",
"ioredis": "5.4.1",
"json-loader": "0.5.7",
@@ -151,7 +151,7 @@
"lint-staged": "15.2.10",
"markdown-table": "2.0.0",
"mocha": "10.8.2",
"mongoose": "8.8.1",
"mongoose": "8.8.3",
"mqtt": "5.10.2",
"multer": "1.4.4",
"mysql2": "3.11.4",

View File

@@ -1,3 +1,4 @@
import { isUndefined } from '../../utils/shared.utils';
import {
InjectionToken,
Provider,
@@ -6,15 +7,17 @@ import {
} from '../../interfaces';
/**
* check if x is OptionalFactoryDependency, based on prototype presence
* (to avoid classes with a static 'token' field)
* @param x
* @returns x is OptionalFactoryDependency
* @param value
* @returns `true` if value is `OptionalFactoryDependency`
*/
function isOptionalFactoryDependency(
x: InjectionToken | OptionalFactoryDependency,
): x is OptionalFactoryDependency {
return !!((x as any)?.token && !(x as any)?.prototype);
value: InjectionToken | OptionalFactoryDependency,
): value is OptionalFactoryDependency {
return (
!isUndefined((value as OptionalFactoryDependency).token) &&
!isUndefined((value as OptionalFactoryDependency).optional) &&
!(value as any).prototype
);
}
const mapInjectToTokens = (t: InjectionToken | OptionalFactoryDependency) =>

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/common",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@common)",
"author": "Kamil Mysliwiec",
"homepage": "https://nestjs.com",

View File

@@ -5,19 +5,30 @@ import { getInjectionProviders } from '../../../module-utils/utils/get-injection
describe('getInjectionProviders', () => {
it('should take only required providers', () => {
class C {
static token = 'a';
static token = 'anything';
}
const p: Provider[] = [
class G {
static token = 'anything';
static optional = true;
}
class H {
static token = 'anything';
static optional = false;
}
const providers: Provider[] = [
{
//0
provide: 'a',
useValue: 'a',
},
{
//1
provide: 'b',
useValue: 'b',
},
C,
C, //2
{
//3
provide: 'd',
useFactory: (c, b) => [c, b],
inject: [
@@ -27,23 +38,36 @@ describe('getInjectionProviders', () => {
optional: true,
},
'x',
G,
H,
],
},
{
//4
provide: 'e',
useFactory: (d, b) => [d, b],
inject: ['d', 'b'],
},
{
//5
provide: 'f',
useValue: 'f',
},
G, //6
H, //7
];
// should not include 'a' and 'f'
const expected = p.slice(1, -1);
const result = getInjectionProviders(p, ['e']);
expect(result).to.have.length(expected.length);
const expected = [
providers[1],
providers[2],
providers[3],
providers[4],
providers[6],
providers[7],
];
const result = getInjectionProviders(providers, ['e']);
expect(result).to.have.members(expected);
expect(result).not.to.have.members([p[0], p[5]]);
});
});

View File

@@ -343,11 +343,20 @@ export class Injector {
wrapper: InstanceWrapper<T>,
): [InjectorDependency[], number[]] {
const optionalDependenciesIds = [];
const isOptionalFactoryDep = (
item: InjectionToken | OptionalFactoryDependency,
): item is OptionalFactoryDependency =>
!isUndefined((item as OptionalFactoryDependency).token) &&
!isUndefined((item as OptionalFactoryDependency).optional);
/**
* Same as the internal utility function `isOptionalFactoryDependency` from `@nestjs/common`.
* We are duplicating it here because that one is not supposed to be exported.
*/
function isOptionalFactoryDependency(
value: InjectionToken | OptionalFactoryDependency,
): value is OptionalFactoryDependency {
return (
!isUndefined((value as OptionalFactoryDependency).token) &&
!isUndefined((value as OptionalFactoryDependency).optional) &&
!(value as any).prototype
);
}
const mapFactoryProviderInjectArray = (
item: InjectionToken | OptionalFactoryDependency,
@@ -356,7 +365,7 @@ export class Injector {
if (typeof item !== 'object') {
return item;
}
if (isOptionalFactoryDep(item)) {
if (isOptionalFactoryDependency(item)) {
if (item.optional) {
optionalDependenciesIds.push(index);
}

View File

@@ -12,6 +12,7 @@ import {
InjectionToken,
NestModule,
Provider,
Scope,
Type,
ValueProvider,
} from '@nestjs/common/interfaces';
@@ -253,6 +254,11 @@ export class Module {
return this.addCustomProvider(provider, this._providers, enhancerSubtype);
}
const isAlreadyDeclared = this._providers.has(provider);
if (this.isTransientProvider(provider) && isAlreadyDeclared) {
return provider;
}
this._providers.set(
provider,
new InstanceWrapper({
@@ -656,4 +662,8 @@ export class Module {
const key = this.name?.toString() ?? this.token?.toString();
return key ? UuidFactory.get(`${prefix}_${key}`) : randomStringGenerator();
}
private isTransientProvider(provider: Type<any>): boolean {
return getClassScope(provider) === Scope.TRANSIENT;
}
}

View File

@@ -346,7 +346,9 @@ export class MiddlewareModule<
configurable: false,
});
const requestProviderValue = isTreeDurable ? contextId.payload : request;
const requestProviderValue = isTreeDurable
? contextId.payload
: Object.assign(request, contextId.payload);
this.container.registerRequestProvider(requestProviderValue, contextId);
}
return contextId;

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/core",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@core)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -36,7 +36,7 @@
"uid": "2.0.2"
},
"devDependencies": {
"@nestjs/common": "10.4.8"
"@nestjs/common": "10.4.11"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -418,7 +418,9 @@ export class RouterExplorer {
configurable: false,
});
const requestProviderValue = isTreeDurable ? contextId.payload : request;
const requestProviderValue = isTreeDurable
? contextId.payload
: Object.assign(request, contextId.payload);
this.container.registerRequestProvider(requestProviderValue, contextId);
}
return contextId;

View File

@@ -159,9 +159,7 @@ export function GrpcStreamMethod(
// Drain buffer if "drainBuffer" method is available
if (observable && observable.drainBuffer) {
process.nextTick(() => {
observable.drainBuffer();
});
observable.drainBuffer();
}
return result;
};

View File

@@ -308,7 +308,9 @@ export class ListenersController {
configurable: false,
});
const requestProviderValue = isTreeDurable ? contextId.payload : request;
const requestProviderValue = isTreeDurable
? contextId.payload
: Object.assign(request, contextId.payload);
this.container.registerRequestProvider(requestProviderValue, contextId);
}
return contextId;

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/microservices",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@microservices)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -22,8 +22,8 @@
"tslib": "2.7.0"
},
"devDependencies": {
"@nestjs/common": "10.4.8",
"@nestjs/core": "10.4.8"
"@nestjs/common": "10.4.11",
"@nestjs/core": "10.4.11"
},
"peerDependencies": {
"@grpc/grpc-js": "*",

View File

@@ -639,10 +639,10 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
hasDrained = true;
// Replay buffered values to the new subscriber
replayBuffer.subscribe({
next: val => console.log('emitted', val),
setImmediate(() => {
replayBuffer.subscribe(subject);
replayBuffer.complete();
});
replayBuffer.complete();
}
return {

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-express",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-express)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -25,8 +25,8 @@
"tslib": "2.7.0"
},
"devDependencies": {
"@nestjs/common": "10.4.8",
"@nestjs/core": "10.4.8"
"@nestjs/common": "10.4.11",
"@nestjs/core": "10.4.11"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-fastify",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -22,7 +22,7 @@
"@fastify/formbody": "7.4.0",
"@fastify/middie": "8.3.3",
"fastify": "4.28.1",
"light-my-request": "6.1.0",
"light-my-request": "6.3.0",
"path-to-regexp": "3.3.0",
"tslib": "2.7.0"
},

View File

@@ -82,4 +82,12 @@ export class IoAdapter extends AbstractWsAdapter {
}
return { data: payload };
}
public close(server: Server) {
if (this.forceCloseConnections && server.httpServer === this.httpServer) {
return;
}
return super.close(server);
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-socket.io",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-socket.io)",
"author": "Kamil Mysliwiec",
"license": "MIT",

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-ws",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-ws)",
"author": "Kamil Mysliwiec",
"license": "MIT",

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/testing",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@testing)",
"author": "Kamil Mysliwiec",
"license": "MIT",

View File

@@ -17,6 +17,15 @@ export abstract class AbstractWsAdapter<
> implements WebSocketAdapter<TServer, TClient, TOptions>
{
protected readonly httpServer: any;
private _forceCloseConnections: boolean;
public set forceCloseConnections(value: boolean) {
this._forceCloseConnections = value;
}
public get forceCloseConnections(): boolean {
return this._forceCloseConnections;
}
constructor(appOrHttpServer?: INestApplicationContext | any) {
if (appOrHttpServer && appOrHttpServer instanceof NestApplication) {

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/websockets",
"version": "10.4.8",
"version": "10.4.11",
"description": "Nest - modern, fast, powerful node.js web framework (@websockets)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -18,8 +18,8 @@
"tslib": "2.7.0"
},
"devDependencies": {
"@nestjs/common": "10.4.8",
"@nestjs/core": "10.4.8"
"@nestjs/common": "10.4.11",
"@nestjs/core": "10.4.11"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -1,3 +1,4 @@
import { NestApplicationOptions } from '@nestjs/common';
import { InjectionToken } from '@nestjs/common/interfaces';
import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
import { NestApplicationContextOptions } from '@nestjs/common/interfaces/nest-application-context-options.interface';
@@ -113,8 +114,12 @@ export class SocketModule<
}
private initializeAdapter() {
const forceCloseConnections = (this.appOptions as NestApplicationOptions)
.forceCloseConnections;
const adapter = this.applicationConfig.getIoAdapter();
if (adapter) {
(adapter as AbstractWsAdapter).forceCloseConnections =
forceCloseConnections;
this.isAdapterInitialized = true;
return;
}
@@ -124,6 +129,7 @@ export class SocketModule<
() => require('@nestjs/platform-socket.io'),
);
const ioAdapter = new IoAdapter(this.httpServer);
ioAdapter.forceCloseConnections = forceCloseConnections;
this.applicationConfig.setIoAdapter(ioAdapter);
this.isAdapterInitialized = true;

File diff suppressed because it is too large Load Diff

View File

@@ -19,22 +19,22 @@
"test:e2e": "jest --config ./e2e/jest-e2e.json"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -19,26 +19,26 @@
"test:e2e": "jest --config ./e2e/jest-e2e.json"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/platform-socket.io": "10.3.2",
"@nestjs/websockets": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"@nestjs/platform-socket.io": "10.4.10",
"@nestjs/websockets": "10.4.10",
"@socket.io/redis-adapter": "8.2.1",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1",
"socket.io": "4.7.4"
},
"devDependencies": {
"@nestjs/cli": "10.4.5",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@types/ws": "8.5.5",
"@typescript-eslint/eslint-plugin": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -19,23 +19,23 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/microservices": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/microservices": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/amqplib": "0.10.4",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/amqplib": "0.10.5",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -20,23 +20,23 @@
},
"dependencies": {
"@grpc/grpc-js": "1.10.9",
"@grpc/reflection": "1.0.3",
"@nestjs/common": "10.4.8",
"@nestjs/core": "10.4.8",
"@nestjs/microservices": "10.4.8",
"@nestjs/platform-express": "10.4.8",
"@grpc/reflection": "1.0.4",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/microservices": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

View File

@@ -19,23 +19,23 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"@nestjs/typeorm": "10.0.1",
"mysql2": "3.9.8",
"reflect-metadata": "0.2.2",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1",
"typeorm": "0.3.20"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -19,22 +19,22 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/mongoose": "10.0.3",
"@nestjs/platform-express": "10.3.8",
"mongoose": "8.0.1",
"@nestjs/platform-express": "10.4.10",
"mongoose": "8.8.3",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

View File

@@ -10,7 +10,7 @@ const catModelMock = {
find: jest.fn(),
findOne: jest.fn(),
findByIdAndUpdate: jest.fn(),
findByIdAndRemove: jest.fn(),
findByIdAndDelete: jest.fn(),
};
describe('CatsService', () => {
@@ -136,7 +136,7 @@ describe('CatsService', () => {
breed: 'Breed #1',
age: 4,
};
model.findByIdAndRemove.mockReturnValueOnce({
model.findByIdAndDelete.mockReturnValueOnce({
exec: jest.fn().mockResolvedValueOnce(mockedCat),
} as any);
@@ -144,7 +144,7 @@ describe('CatsService', () => {
const result = await service.delete(id);
expect(result).toEqual(mockedCat);
expect(model.findByIdAndRemove).toHaveBeenCalledWith({ _id: id });
expect(model.findByIdAndDelete).toHaveBeenCalledWith({ _id: id });
});
});
});

View File

@@ -2,8 +2,8 @@ import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { CreateCatDto } from './dto/create-cat.dto';
import { Cat } from './schemas/cat.schema';
import { UpdateCatDto } from './dto/update-cat.dto';
import { Cat } from './schemas/cat.schema';
@Injectable()
export class CatsService {
@@ -30,7 +30,7 @@ export class CatsService {
async delete(id: string): Promise<Cat> {
const deletedCat = await this.catModel
.findByIdAndRemove({ _id: id })
.findByIdAndDelete({ _id: id })
.exec();
return deletedCat;
}

View File

@@ -19,25 +19,25 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"@nestjs/sequelize": "10.0.0",
"mysql2": "3.9.8",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1",
"sequelize": "6.36.0",
"sequelize-typescript": "2.1.6",
"typescript": "5.3.3"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -12,17 +12,17 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"reflect-metadata": "0.2.1",
"rxjs": "7.8.1",
"typescript": "5.3.3"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@types/node": "20.17.6",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@types/node": "20.17.8",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -31,7 +31,7 @@
"start-server-webpack-plugin": "2.2.5",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",
"webpack": "5.90.3",
"webpack": "5.96.1",
"webpack-cli": "5.1.4",
"webpack-node-externals": "3.0.0"
}

File diff suppressed because it is too large Load Diff

View File

@@ -13,11 +13,11 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/microservices": "10.3.2",
"@nestjs/websockets": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"@nestjs/microservices": "10.4.10",
"@nestjs/websockets": "10.4.10",
"reflect-metadata": "0.2.1",
"rxjs": "7.8.1"
},
@@ -30,9 +30,9 @@
"@babel/preset-env": "7.23.9",
"@babel/register": "7.23.7",
"@babel/runtime": "7.23.9",
"@nestjs/testing": "10.3.2",
"@nestjs/testing": "10.4.10",
"jest": "29.7.0",
"nodemon": "3.0.3",
"nodemon": "3.1.7",
"prettier": "3.2.5",
"supertest": "6.3.4"
},

File diff suppressed because it is too large Load Diff

View File

@@ -19,21 +19,21 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-fastify": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-fastify": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -19,22 +19,22 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"@nestjs/swagger": "7.3.0",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -22,25 +22,25 @@
"@apollo/server": "4.9.3",
"@graphql-tools/utils": "10.0.13",
"@nestjs/apollo": "12.0.11",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/graphql": "12.2.0",
"@nestjs/platform-express": "10.3.8",
"@nestjs/platform-express": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"graphql": "16.8.1",
"graphql-subscriptions": "2.0.0",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.10",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

View File

@@ -19,23 +19,23 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"@nestjs/typeorm": "10.0.1",
"mongodb": "6.3.0",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1",
"typeorm": "0.3.20"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -19,21 +19,21 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"mongoose": "8.0.1",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"mongoose": "8.8.3",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -19,20 +19,20 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"hbs": "4.2.0",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -19,25 +19,25 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/platform-ws": "10.3.2",
"@nestjs/websockets": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"@nestjs/platform-ws": "10.4.10",
"@nestjs/websockets": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"reflect-metadata": "0.2.1",
"rxjs": "7.8.1",
"ws": "8.17.1"
},
"devDependencies": {
"@types/ws": "8.5.5",
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -19,22 +19,22 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-fastify": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-fastify": "10.4.10",
"@fastify/static": "7.0.1",
"handlebars": "4.7.8",
"@fastify/view": "8.2.0",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -19,16 +19,16 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@types/node": "20.17.6",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -20,22 +20,22 @@
"test:e2e": "jest --config ./e2e/jest-e2e.json"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/jwt": "10.2.0",
"@nestjs/passport": "10.0.3",
"@nestjs/platform-express": "10.3.8",
"@nestjs/platform-express": "10.4.10",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

View File

@@ -20,9 +20,9 @@
},
"dependencies": {
"@nestjs/cache-manager": "2.2.0",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"cache-manager": "^5.2.3",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
@@ -30,12 +30,12 @@
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/cache-manager": "^4.0.2",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -19,20 +19,20 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"class-transformer": "0.5.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -22,25 +22,25 @@
"dependencies": {
"@apollo/server": "4.9.3",
"@nestjs/apollo": "12.0.11",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/graphql": "12.2.0",
"@nestjs/platform-express": "10.3.8",
"@nestjs/platform-express": "10.4.10",
"@prisma/client": "4.16.2",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"graphql": "16.8.1",
"graphql-subscriptions": "2.0.0",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -21,10 +21,10 @@
"dependencies": {
"@apollo/server": "4.9.3",
"@nestjs/apollo": "12.0.11",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/graphql": "12.2.0",
"@nestjs/platform-express": "10.4.4",
"@nestjs/platform-express": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"graphql": "16.8.1",
@@ -34,11 +34,11 @@
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -19,22 +19,22 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/serve-static": "4.0.0",
"@nestjs/platform-express": "10.4.4",
"@nestjs/platform-express": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -19,22 +19,22 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.4.4",
"dotenv": "16.4.1",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"dotenv": "16.4.5",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@types/dotenv": "8.2.0",
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/dotenv": "8.2.3",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -20,24 +20,24 @@
},
"dependencies": {
"@nestjs/bull": "10.1.0",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.4.3",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"bull": "4.10.4",
"dotenv": "16.4.1",
"dotenv": "16.4.5",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/bull": "3.15.9",
"@types/dotenv": "8.2.0",
"@types/dotenv": "8.2.3",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

View File

@@ -19,24 +19,24 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.4.3",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"@nestjs/schedule": "4.0.0",
"dotenv": "16.4.1",
"dotenv": "16.4.5",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/bull": "3.15.9",
"@types/dotenv": "8.2.0",
"@types/dotenv": "8.2.3",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -19,21 +19,21 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.4.8",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/dotenv": "8.2.0",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/dotenv": "8.2.3",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

File diff suppressed because it is too large Load Diff

View File

@@ -19,23 +19,23 @@
"test:e2e": "jest --config ./e2e/jest-e2e.json"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.4.3",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/platform-express": "10.4.10",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/multer": "1.4.11",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",

View File

@@ -23,8 +23,8 @@
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -32,7 +32,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",
@@ -2144,9 +2144,9 @@
}
},
"node_modules/@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"node_modules/@types/eslint": {
@@ -2254,6 +2254,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"node_modules/@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"node_modules/@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -2261,12 +2267,12 @@
"dev": true
},
"node_modules/@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"dependencies": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"node_modules/@types/qs": {
@@ -2314,22 +2320,25 @@
"dev": true
},
"node_modules/@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"dependencies": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"node_modules/@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"dependencies": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"node_modules/@types/yargs": {
@@ -3626,10 +3635,13 @@
}
},
"node_modules/component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
"integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
@@ -3780,9 +3792,9 @@
"dev": true
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -4919,9 +4931,9 @@
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
"integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
"dev": true,
"dependencies": {
"asynckit": "^0.4.0",
@@ -8459,9 +8471,10 @@
}
},
"node_modules/superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
"dev": true,
"dependencies": {
"component-emitter": "^1.3.0",
@@ -8492,13 +8505,13 @@
}
},
"node_modules/supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"dependencies": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
},
"engines": {
"node": ">=6.4.0"
@@ -9009,9 +9022,9 @@
}
},
"node_modules/undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"node_modules/universalify": {
@@ -10959,9 +10972,9 @@
}
},
"@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"@types/eslint": {
@@ -11069,6 +11082,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -11076,12 +11095,12 @@
"dev": true
},
"@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"requires": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"@types/qs": {
@@ -11129,22 +11148,25 @@
"dev": true
},
"@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"requires": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"requires": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"@types/yargs": {
@@ -12084,9 +12106,9 @@
}
},
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
"integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
"dev": true
},
"concat-map": {
@@ -12205,9 +12227,9 @@
"dev": true
},
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"requires": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -13094,9 +13116,9 @@
}
},
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
"integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
@@ -15675,9 +15697,9 @@
"dev": true
},
"superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dev": true,
"requires": {
"component-emitter": "^1.3.0",
@@ -15701,13 +15723,13 @@
}
},
"supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"requires": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
}
},
"supports-color": {
@@ -16044,9 +16066,9 @@
}
},
"undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"universalify": {

View File

@@ -19,21 +19,21 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/event-emitter": "2.0.3",
"@nestjs/platform-express": "10.4.3",
"@nestjs/platform-express": "10.4.10",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

File diff suppressed because it is too large Load Diff

View File

@@ -22,24 +22,24 @@
"@apollo/gateway": "2.8.5",
"@apollo/server": "4.9.3",
"@nestjs/apollo": "12.0.11",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/graphql": "12.2.0",
"@nestjs/platform-express": "10.4.3",
"@nestjs/platform-express": "10.4.10",
"graphql": "16.8.1",
"graphql-tools": "9.0.0",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1",
"ts-morph": "21.0.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
@@ -54,7 +54,7 @@
"ts-node": "10.9.2",
"tsconfig-paths": "4.2.0",
"typescript": "5.3.3",
"webpack": "5.90.3"
"webpack": "5.96.1"
},
"jest": {
"moduleFileExtensions": [

File diff suppressed because it is too large Load Diff

View File

@@ -24,24 +24,24 @@
"@apollo/server": "4.9.3",
"@apollo/subgraph": "2.2.3",
"@nestjs/apollo": "12.0.11",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/common": "10.4.10",
"@nestjs/core": "10.4.10",
"@nestjs/graphql": "12.2.0",
"@nestjs/platform-express": "10.4.3",
"@nestjs/platform-express": "10.4.10",
"graphql": "16.8.1",
"graphql-tools": "9.0.0",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"rxjs": "7.8.1",
"ts-morph": "21.0.1"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@nestjs/cli": "10.4.8",
"@nestjs/schematics": "10.2.3",
"@nestjs/testing": "10.4.10",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.17.6",
"@types/node": "20.17.8",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",

Some files were not shown because too many files have changed in this diff Show More