mirror of
https://github.com/nestjs/nest.git
synced 2026-02-24 00:02:56 +00:00
Compare commits
85 Commits
fix/valida
...
v10.4.11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bedf1fa2a6 | ||
|
|
96e3e79acc | ||
|
|
e411d80d4d | ||
|
|
9fb542968b | ||
|
|
e6fe92ce79 | ||
|
|
2df0c754da | ||
|
|
a119a1a9c1 | ||
|
|
5ebe4b93b3 | ||
|
|
4a9a3d86c2 | ||
|
|
1cf339c5be | ||
|
|
2c2d766502 | ||
|
|
dbeaa0b316 | ||
|
|
5396c8c6f0 | ||
|
|
13092aeac0 | ||
|
|
6aa6d47c25 | ||
|
|
38bea6e544 | ||
|
|
42a443ee9a | ||
|
|
f39cffe8ea | ||
|
|
f97c8bc586 | ||
|
|
ca78cbe447 | ||
|
|
9e21f093d8 | ||
|
|
619db30f16 | ||
|
|
9174dd647e | ||
|
|
f95758d88d | ||
|
|
7854ceb1db | ||
|
|
d8343a22cc | ||
|
|
38ab78272f | ||
|
|
45f3322832 | ||
|
|
9bbc4dbab3 | ||
|
|
b46508793e | ||
|
|
feb75da3ce | ||
|
|
46db58c196 | ||
|
|
638d4666fb | ||
|
|
91190b4175 | ||
|
|
d1a76abe21 | ||
|
|
055709dd3a | ||
|
|
f80b00793c | ||
|
|
b876e6b60d | ||
|
|
a7392981cf | ||
|
|
afb889dd21 | ||
|
|
8da7ebcbfd | ||
|
|
c90553bb05 | ||
|
|
8102325bd2 | ||
|
|
bba5fde16e | ||
|
|
416830c392 | ||
|
|
9286733482 | ||
|
|
81597f7ed9 | ||
|
|
84b8744f90 | ||
|
|
95c8547b68 | ||
|
|
ae0517b364 | ||
|
|
8ffae006c8 | ||
|
|
f7248e2d8d | ||
|
|
25ad5b4b80 | ||
|
|
3324703b88 | ||
|
|
3b5cb562a1 | ||
|
|
67e30e2f1f | ||
|
|
f650c22af8 | ||
|
|
2b90f44621 | ||
|
|
3cf1130eaa | ||
|
|
646c663366 | ||
|
|
f39fdacf8a | ||
|
|
7fe2f43d28 | ||
|
|
180a3e6bd3 | ||
|
|
afbba2d318 | ||
|
|
e3e9636dcc | ||
|
|
a4ddd867e6 | ||
|
|
f99353f45e | ||
|
|
f3c0fcde5b | ||
|
|
29cc21c7b7 | ||
|
|
40dbb27519 | ||
|
|
2111a40e47 | ||
|
|
440e9cf6a3 | ||
|
|
73dea121d7 | ||
|
|
a1732f5b3d | ||
|
|
76e73c26d5 | ||
|
|
62e3bd5a16 | ||
|
|
45f4612ed5 | ||
|
|
aabde1aadb | ||
|
|
de6f7ca20e | ||
|
|
33be15afd5 | ||
|
|
48a74b338b | ||
|
|
467697599f | ||
|
|
6dba4debb9 | ||
|
|
daf0f88366 | ||
|
|
91beaf7bc2 |
@@ -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:
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
});
|
||||
@@ -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({
|
||||
|
||||
18
integration/lazy-modules/src/lazy.controller.ts
Normal file
18
integration/lazy-modules/src/lazy.controller.ts
Normal 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();
|
||||
}
|
||||
}
|
||||
11
integration/lazy-modules/src/transient.module.ts
Normal file
11
integration/lazy-modules/src/transient.module.ts
Normal 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 {}
|
||||
11
integration/lazy-modules/src/transient.service.ts
Normal file
11
integration/lazy-modules/src/transient.service.ts
Normal 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();
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
14
integration/scopes/src/durable/non-durable.service.ts
Normal file
14
integration/scopes/src/durable/non-durable.service.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
});
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
"packages": [
|
||||
"packages/*"
|
||||
],
|
||||
"version": "10.4.8"
|
||||
"version": "10.4.11"
|
||||
}
|
||||
|
||||
51857
package-lock.json
generated
51857
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
@@ -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) =>
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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]]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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": "*",
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
|
||||
1850
sample/01-cats-app/package-lock.json
generated
1850
sample/01-cats-app/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1357
sample/02-gateways/package-lock.json
generated
1357
sample/02-gateways/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1894
sample/03-microservices/package-lock.json
generated
1894
sample/03-microservices/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1448
sample/04-grpc/package-lock.json
generated
1448
sample/04-grpc/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
2002
sample/06-mongoose/package-lock.json
generated
2002
sample/06-mongoose/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
@@ -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 });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
1802
sample/08-webpack/package-lock.json
generated
1802
sample/08-webpack/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
}
|
||||
|
||||
676
sample/09-babel-example/package-lock.json
generated
676
sample/09-babel-example/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
},
|
||||
|
||||
2017
sample/10-fastify/package-lock.json
generated
2017
sample/10-fastify/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1654
sample/11-swagger/package-lock.json
generated
1654
sample/11-swagger/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1730
sample/12-graphql-schema-first/package-lock.json
generated
1730
sample/12-graphql-schema-first/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
2021
sample/14-mongoose-base/package-lock.json
generated
2021
sample/14-mongoose-base/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1817
sample/15-mvc/package-lock.json
generated
1817
sample/15-mvc/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1893
sample/16-gateways-ws/package-lock.json
generated
1893
sample/16-gateways-ws/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
2023
sample/17-mvc-fastify/package-lock.json
generated
2023
sample/17-mvc-fastify/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1519
sample/18-context/package-lock.json
generated
1519
sample/18-context/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1829
sample/19-auth-jwt/package-lock.json
generated
1829
sample/19-auth-jwt/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
1817
sample/21-serializer/package-lock.json
generated
1817
sample/21-serializer/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1670
sample/22-graphql-prisma/package-lock.json
generated
1670
sample/22-graphql-prisma/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1374
sample/23-graphql-code-first/package-lock.json
generated
1374
sample/23-graphql-code-first/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1446
sample/24-serve-static/package-lock.json
generated
1446
sample/24-serve-static/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1476
sample/25-dynamic-modules/package-lock.json
generated
1476
sample/25-dynamic-modules/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1476
sample/26-queues/package-lock.json
generated
1476
sample/26-queues/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
1428
sample/28-sse/package-lock.json
generated
1428
sample/28-sse/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
1446
sample/29-file-upload/package-lock.json
generated
1446
sample/29-file-upload/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||
|
||||
170
sample/30-event-emitter/package-lock.json
generated
170
sample/30-event-emitter/package-lock.json
generated
@@ -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": {
|
||||
|
||||
@@ -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
@@ -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
@@ -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
Reference in New Issue
Block a user