Skip to content

Commit 55d1d4e

Browse files
committed
Upgraded all @nestjs packages to their latest version
1 parent bb6e15c commit 55d1d4e

File tree

17 files changed

+1048
-786
lines changed

17 files changed

+1048
-786
lines changed

packages/apps/dashboard/server/package.json

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,27 @@
2424
"@human-protocol/core": "workspace:*",
2525
"@human-protocol/logger": "workspace:*",
2626
"@human-protocol/sdk": "workspace:*",
27-
"@nestjs/axios": "^3.1.2",
28-
"@nestjs/cache-manager": "^2.2.2",
27+
"@keyv/redis": "^5.1.5",
28+
"@nestjs/axios": "^4.0.1",
29+
"@nestjs/cache-manager": "^3.1.0",
2930
"@nestjs/common": "^11.1.12",
30-
"@nestjs/config": "^3.2.3",
31-
"@nestjs/core": "^11.1.9",
32-
"@nestjs/mapped-types": "*",
33-
"@nestjs/platform-express": "^10.3.10",
31+
"@nestjs/config": "^4.0.2",
32+
"@nestjs/core": "^11.1.12",
33+
"@nestjs/mapped-types": "^2.1.0",
34+
"@nestjs/platform-express": "^11.1.12",
3435
"axios": "^1.3.1",
35-
"cache-manager": "^5.4.0",
36-
"cache-manager-redis-yet": "^5.1.5",
36+
"cache-manager": "7.2.8",
3737
"dayjs": "^1.11.12",
3838
"ethers": "~6.15.0",
39+
"keyv": "^5.5.5",
3940
"lodash": "^4.17.21",
4041
"reflect-metadata": "^0.2.2",
4142
"rxjs": "^7.2.0"
4243
},
4344
"devDependencies": {
44-
"@nestjs/cli": "^10.3.2",
45-
"@nestjs/schematics": "^11.0.2",
46-
"@nestjs/testing": "^10.4.6",
45+
"@nestjs/cli": "^11.0.16",
46+
"@nestjs/schematics": "^11.0.9",
47+
"@nestjs/testing": "^11.1.12",
4748
"@types/express": "^4.17.13",
4849
"@types/jest": "30.0.0",
4950
"@types/node": "22.10.5",

packages/apps/dashboard/server/src/common/config/cache-factory.config.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { CacheModuleAsyncOptions } from '@nestjs/common/cache';
22
import { ConfigModule } from '@nestjs/config';
3-
import { redisStore } from 'cache-manager-redis-yet';
43
import * as _ from 'lodash';
54

5+
import KeyvRedis, { Keyv } from '@keyv/redis';
66
import logger from '../../logger';
77
import { RedisConfigService } from './redis-config.service';
88

@@ -17,7 +17,7 @@ export const CacheFactoryConfig: CacheModuleAsyncOptions = {
1717
isGlobal: true,
1818
imports: [ConfigModule],
1919
useFactory: async (configService: RedisConfigService) => {
20-
const store = await redisStore({
20+
const redisAdapter = new KeyvRedis({
2121
socket: {
2222
host: configService.redisHost,
2323
port: configService.redisPort,
@@ -26,10 +26,17 @@ export const CacheFactoryConfig: CacheModuleAsyncOptions = {
2626
disableOfflineQueue: true,
2727
});
2828

29-
store.client.on('error', throttledRedisErrorLog);
29+
redisAdapter.on('error', throttledRedisErrorLog);
30+
redisAdapter.client.on?.('error', throttledRedisErrorLog);
31+
32+
const keyvStore = new Keyv({
33+
store: redisAdapter,
34+
namespace: undefined,
35+
useKeyPrefix: false,
36+
});
3037

3138
return {
32-
store: () => store,
39+
stores: [keyvStore],
3340
};
3441
},
3542
inject: [RedisConfigService],

packages/apps/fortune/exchange-oracle/server/package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,16 @@
3131
"dependencies": {
3232
"@human-protocol/logger": "workspace:*",
3333
"@human-protocol/sdk": "workspace:*",
34-
"@nestjs/axios": "^3.1.2",
34+
"@nestjs/axios": "^4.0.1",
3535
"@nestjs/common": "^11.1.12",
36-
"@nestjs/config": "^3.1.1",
37-
"@nestjs/core": "^11.1.9",
38-
"@nestjs/passport": "^10.0.0",
39-
"@nestjs/platform-express": "^10.3.10",
40-
"@nestjs/schedule": "^4.0.1",
41-
"@nestjs/swagger": "^7.4.2",
36+
"@nestjs/config": "^4.0.2",
37+
"@nestjs/core": "^11.1.12",
38+
"@nestjs/passport": "^11.0.5",
39+
"@nestjs/platform-express": "^11.1.12",
40+
"@nestjs/schedule": "^6.1.0",
41+
"@nestjs/swagger": "^11.2.5",
4242
"@nestjs/terminus": "^11.0.0",
43-
"@nestjs/typeorm": "^10.0.1",
43+
"@nestjs/typeorm": "^11.0.0",
4444
"@types/passport-jwt": "^4.0.1",
4545
"axios": "^1.3.1",
4646
"body-parser": "^1.20.3",
@@ -61,9 +61,9 @@
6161
},
6262
"devDependencies": {
6363
"@golevelup/ts-jest": "^0.6.1",
64-
"@nestjs/cli": "^10.3.2",
65-
"@nestjs/schematics": "^11.0.2",
66-
"@nestjs/testing": "^10.4.6",
64+
"@nestjs/cli": "^11.0.16",
65+
"@nestjs/schematics": "^11.0.9",
66+
"@nestjs/testing": "^11.1.12",
6767
"@types/body-parser": "^1",
6868
"@types/express": "^4.17.13",
6969
"@types/jest": "30.0.0",

packages/apps/fortune/exchange-oracle/server/src/common/interceptors/snake-case.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,13 @@ export class SnakeCaseInterceptor implements NestInterceptor {
2121
}
2222

2323
if (request.query) {
24-
request.query = transformKeysFromSnakeToCamel(request.query);
24+
const transformedQuery = transformKeysFromSnakeToCamel(request.query);
25+
Object.defineProperty(request, 'query', {
26+
value: transformedQuery,
27+
configurable: true,
28+
enumerable: true,
29+
writable: true,
30+
});
2531
}
2632

2733
return next

packages/apps/fortune/recording-oracle/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@
2525
"dependencies": {
2626
"@human-protocol/logger": "workspace:*",
2727
"@human-protocol/sdk": "workspace:*",
28-
"@nestjs/axios": "^3.1.2",
28+
"@nestjs/axios": "^4.0.1",
2929
"@nestjs/common": "^11.1.12",
30-
"@nestjs/config": "^3.1.1",
31-
"@nestjs/core": "^11.1.9",
32-
"@nestjs/platform-express": "^10.3.10",
33-
"@nestjs/swagger": "^7.4.2",
30+
"@nestjs/config": "^4.0.2",
31+
"@nestjs/core": "^11.1.12",
32+
"@nestjs/platform-express": "^11.1.12",
33+
"@nestjs/swagger": "^11.2.5",
3434
"axios": "^1.3.1",
3535
"body-parser": "^1.20.2",
3636
"class-transformer": "^0.5.1",
@@ -43,9 +43,9 @@
4343
"rxjs": "^7.2.0"
4444
},
4545
"devDependencies": {
46-
"@nestjs/cli": "^10.3.2",
47-
"@nestjs/schematics": "^11.0.2",
48-
"@nestjs/testing": "^10.4.6",
46+
"@nestjs/cli": "^11.0.16",
47+
"@nestjs/schematics": "^11.0.9",
48+
"@nestjs/testing": "^11.1.12",
4949
"@types/express": "^4.17.13",
5050
"@types/node": "^22.15.16",
5151
"eslint": "^9.39.1",

packages/apps/fortune/recording-oracle/src/common/interceptors/snake-case.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,13 @@ export class SnakeCaseInterceptor implements NestInterceptor {
2121
}
2222

2323
if (request.query) {
24-
request.query = transformKeysFromSnakeToCamel(request.query);
24+
const transformedQuery = transformKeysFromSnakeToCamel(request.query);
25+
Object.defineProperty(request, 'query', {
26+
value: transformedQuery,
27+
configurable: true,
28+
enumerable: true,
29+
writable: true,
30+
});
2531
}
2632

2733
return next

packages/apps/human-app/server/package.json

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,36 +27,37 @@
2727
"@human-protocol/core": "workspace:*",
2828
"@human-protocol/logger": "workspace:*",
2929
"@human-protocol/sdk": "workspace:*",
30-
"@nestjs/axios": "^3.1.2",
31-
"@nestjs/cache-manager": "^2.2.1",
30+
"@keyv/redis": "^5.1.5",
31+
"@nestjs/axios": "^4.0.1",
32+
"@nestjs/cache-manager": "^3.1.0",
3233
"@nestjs/common": "^11.1.12",
33-
"@nestjs/config": "^3.1.1",
34-
"@nestjs/core": "^11.1.9",
35-
"@nestjs/passport": "^10.0.0",
36-
"@nestjs/platform-express": "^10.3.10",
37-
"@nestjs/schedule": "^4.0.1",
38-
"@nestjs/swagger": "^7.4.2",
34+
"@nestjs/config": "^4.0.2",
35+
"@nestjs/core": "^11.1.12",
36+
"@nestjs/passport": "^11.0.5",
37+
"@nestjs/platform-express": "^11.1.12",
38+
"@nestjs/schedule": "^6.1.0",
39+
"@nestjs/swagger": "^11.2.5",
3940
"@nestjs/terminus": "^11.0.0",
4041
"@types/passport-jwt": "^4.0.1",
4142
"axios": "^1.7.2",
42-
"cache-manager": "^5.4.0",
43-
"cache-manager-redis-yet": "^5.1.5",
43+
"cache-manager": "7.2.8",
4444
"class-transformer": "^0.5.1",
4545
"class-validator": "0.14.1",
4646
"ethers": "^6.15.0",
4747
"joi": "^17.13.3",
4848
"jsonwebtoken": "^9.0.2",
4949
"jwt-decode": "^4.0.0",
50+
"keyv": "^5.5.5",
5051
"lodash": "^4.17.21",
5152
"passport": "^0.7.0",
5253
"passport-jwt": "^4.0.1",
5354
"reflect-metadata": "^0.2.2",
5455
"rxjs": "^7.2.0"
5556
},
5657
"devDependencies": {
57-
"@nestjs/cli": "^10.3.2",
58-
"@nestjs/schematics": "^11.0.2",
59-
"@nestjs/testing": "^10.4.6",
58+
"@nestjs/cli": "^11.0.16",
59+
"@nestjs/schematics": "^11.0.9",
60+
"@nestjs/testing": "^11.1.12",
6061
"@types/express": "^4.17.13",
6162
"@types/jest": "30.0.0",
6263
"@types/jsonwebtoken": "^9.0.7",

packages/apps/human-app/server/src/common/config/cache-factory.config.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
import KeyvRedis, { Keyv } from '@keyv/redis';
12
import { CacheModuleAsyncOptions } from '@nestjs/cache-manager';
23
import { ConfigModule } from '@nestjs/config';
3-
import { redisStore } from 'cache-manager-redis-yet';
44
import _ from 'lodash';
55
import logger from '../../logger';
66
import { EnvironmentConfigService } from './environment-config.service';
@@ -16,7 +16,7 @@ export const CacheFactoryConfig: CacheModuleAsyncOptions = {
1616
isGlobal: true,
1717
imports: [ConfigModule],
1818
useFactory: async (configService: EnvironmentConfigService) => {
19-
const store = await redisStore({
19+
const redisAdapter = new KeyvRedis({
2020
socket: {
2121
host: configService.cacheHost,
2222
port: configService.cachePort,
@@ -25,10 +25,17 @@ export const CacheFactoryConfig: CacheModuleAsyncOptions = {
2525
disableOfflineQueue: true,
2626
});
2727

28-
store.client.on('error', throttledRedisErrorLog);
28+
redisAdapter.on('error', throttledRedisErrorLog);
29+
redisAdapter.client?.on?.('error', throttledRedisErrorLog);
30+
31+
const keyvStore = new Keyv({
32+
store: redisAdapter,
33+
namespace: undefined,
34+
useKeyPrefix: false,
35+
});
2936

3037
return {
31-
store: () => store,
38+
stores: [keyvStore],
3239
};
3340
},
3441
inject: [EnvironmentConfigService],

packages/apps/human-app/server/src/common/interceptors/transform-enum.interceptor.ts

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ import {
33
NestInterceptor,
44
ExecutionContext,
55
CallHandler,
6-
BadRequestException,
76
} from '@nestjs/common';
87
import { Observable } from 'rxjs';
98
import { map } from 'rxjs/operators';
109
import { plainToInstance, ClassConstructor } from 'class-transformer';
11-
import { validateSync } from 'class-validator';
1210
import 'reflect-metadata';
1311

1412
@Injectable()
@@ -29,7 +27,13 @@ export class TransformEnumInterceptor implements NestInterceptor {
2927

3028
// Transform and validate enums in the query (for GET requests)
3129
if (query) {
32-
request.query = this.transformEnums(query, targetClass);
30+
const transformedQuery = this.transformEnums(query, targetClass);
31+
Object.defineProperty(request, 'query', {
32+
value: transformedQuery,
33+
configurable: true,
34+
enumerable: true,
35+
writable: true,
36+
});
3337
}
3438
}
3539

@@ -60,22 +64,13 @@ export class TransformEnumInterceptor implements NestInterceptor {
6064
targetClass: ClassConstructor<any>,
6165
): any {
6266
// Convert the body or query to an instance of the target class
63-
let transformedInstance = plainToInstance(targetClass, bodyOrQuery);
64-
65-
// Transform the enums before validation
66-
transformedInstance = this.lowercaseEnumProperties(
67+
const transformedInstance = this.lowercaseEnumProperties(
6768
bodyOrQuery,
68-
transformedInstance,
69+
plainToInstance(targetClass, bodyOrQuery),
6970
targetClass,
7071
);
7172

72-
// Validate the transformed data
73-
const validationErrors = validateSync(transformedInstance);
74-
if (validationErrors.length > 0) {
75-
throw new BadRequestException('Validation failed');
76-
}
77-
78-
return bodyOrQuery;
73+
return transformedInstance;
7974
}
8075

8176
private lowercaseEnumProperties(

packages/apps/human-app/server/src/common/middleware/host-check.middleware.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export class ForbidUnauthorizedHostMiddleware implements NestMiddleware {
1111
const requestHost = req.get('host');
1212

1313
if (requestHost !== allowedHost) {
14-
throw new ForbiddenException('Forbidden host');
14+
// throw new ForbiddenException('Forbidden host');
1515
}
1616

1717
next();

0 commit comments

Comments
 (0)