Skip to content

Commit d5f8086

Browse files
committed
chore: update dice api
1 parent a48d178 commit d5f8086

10 files changed

+4149
-2566
lines changed

package-lock.json

Lines changed: 4063 additions & 2509 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/dice-api/.eslintrc.js

Lines changed: 0 additions & 25 deletions
This file was deleted.

packages/dice-api/eslint.config.mjs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// @ts-check
2+
import eslint from '@eslint/js';
3+
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
4+
import globals from 'globals';
5+
import tseslint from 'typescript-eslint';
6+
7+
export default tseslint.config(
8+
{
9+
ignores: ['eslint.config.mjs'],
10+
},
11+
eslint.configs.recommended,
12+
...tseslint.configs.recommendedTypeChecked,
13+
eslintPluginPrettierRecommended,
14+
{
15+
languageOptions: {
16+
globals: {
17+
...globals.node,
18+
...globals.jest,
19+
},
20+
ecmaVersion: 5,
21+
sourceType: 'module',
22+
parserOptions: {
23+
projectService: true,
24+
tsconfigRootDir: import.meta.dirname,
25+
},
26+
},
27+
},
28+
{
29+
rules: {
30+
'@typescript-eslint/no-explicit-any': 'off',
31+
'@typescript-eslint/no-floating-promises': 'warn',
32+
'@typescript-eslint/no-unsafe-argument': 'warn'
33+
},
34+
},
35+
);

packages/dice-api/package.json

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,36 +22,42 @@
2222
"docker:run": "docker run --rm --publish 4002:4002 dice-api"
2323
},
2424
"dependencies": {
25-
"@azure/cosmos": "^3.17.2",
26-
"@nestjs/common": "^9.0.0",
27-
"@nestjs/core": "^9.0.0",
28-
"@nestjs/platform-express": "^9.0.0",
29-
"nestjs-pino": "^3.1.1",
30-
"reflect-metadata": "^0.1.13",
25+
"@azure/cosmos": "^4.2.0",
26+
"@nestjs/common": "^11.0.10",
27+
"@nestjs/core": "^11.0.10",
28+
"@nestjs/platform-express": "^11.0.10",
29+
"nestjs-pino": "^4.3.0",
30+
"reflect-metadata": "^0.2.2",
3131
"rxjs": "^7.2.0"
3232
},
3333
"devDependencies": {
34-
"@nestjs/cli": "^9.0.0",
35-
"@nestjs/schematics": "^9.0.0",
36-
"@nestjs/testing": "^9.0.0",
37-
"@types/express": "^4.17.13",
38-
"@types/jest": "~29.2.4",
39-
"@types/node": "18.11.18",
40-
"@types/supertest": "^2.0.11",
41-
"@typescript-eslint/eslint-plugin": "^5.0.0",
42-
"@typescript-eslint/parser": "^5.0.0",
43-
"eslint": "^8.0.1",
44-
"eslint-config-prettier": "^8.3.0",
45-
"eslint-plugin-prettier": "^4.0.0",
46-
"jest": "~29.3.1",
47-
"prettier": "^2.3.2",
34+
"@eslint/eslintrc": "^3.2.0",
35+
"@eslint/js": "^9.20.0",
36+
"@nestjs/cli": "^11.0.3",
37+
"@nestjs/schematics": "^11.0.1",
38+
"@nestjs/testing": "^11.0.10",
39+
"@swc/cli": "^0.6.0",
40+
"@swc/core": "^1.10.16",
41+
"@types/express": "^5.0.0",
42+
"@types/jest": "^29.5.14",
43+
"@types/node": "^22.13.4",
44+
"@types/supertest": "^6.0.2",
45+
"@typescript-eslint/eslint-plugin": "^8.24.0",
46+
"@typescript-eslint/parser": "^8.24.0",
47+
"eslint": "^9.20.1",
48+
"eslint-config-prettier": "^10.0.1",
49+
"eslint-plugin-prettier": "^5.2.3",
50+
"globals": "^15.15.0",
51+
"jest": "^29.7.0",
52+
"prettier": "^3.5.1",
4853
"source-map-support": "^0.5.20",
49-
"supertest": "^6.1.3",
50-
"ts-jest": "~29.0.3",
54+
"supertest": "^7.0.0",
55+
"ts-jest": "^29.2.5",
5156
"ts-loader": "^9.2.3",
5257
"ts-node": "^10.0.0",
5358
"tsconfig-paths": "^4.1.1",
54-
"typescript": "^4.7.4"
59+
"typescript": "^5.7.3",
60+
"typescript-eslint": "^8.24.0"
5561
},
5662
"jest": {
5763
"moduleFileExtensions": [

packages/dice-api/src/db.service.spec.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
import { Test, TestingModule } from '@nestjs/testing';
2-
import { DbService } from './db.service';
2+
import { DbService, MockDbService } from './db.service';
33

44
describe('DbService', () => {
55
let service: DbService;
66

77
beforeEach(async () => {
88
const module: TestingModule = await Test.createTestingModule({
9-
providers: [DbService],
9+
providers: [
10+
{
11+
provide: DbService,
12+
useValue: new MockDbService(),
13+
},
14+
],
1015
}).compile();
1116

1217
service = module.get<DbService>(DbService);

packages/dice-api/src/db.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,6 @@ export class DbService {
6060
],
6161
})
6262
.fetchAll();
63-
return resources.sort((a, b) => a.timestamp - b.timestamp);
63+
return (resources as Roll[]).sort((a, b) => a.timestamp - b.timestamp);
6464
}
6565
}

packages/dice-api/src/rolls.controller.spec.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
import { Test, TestingModule } from '@nestjs/testing';
22
import { RollsController } from './rolls.controller';
3+
import { DbService, MockDbService } from './db.service';
34

45
describe('RollsController', () => {
56
let controller: RollsController;
67

78
beforeEach(async () => {
89
const module: TestingModule = await Test.createTestingModule({
910
controllers: [RollsController],
11+
providers: [
12+
{
13+
provide: DbService,
14+
useValue: new MockDbService(),
15+
},
16+
],
1017
}).compile();
1118

1219
controller = module.get<RollsController>(RollsController);

packages/dice-api/src/rolls.controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export class RollsController {
3131
@Get('history')
3232
async getRollsHistory(
3333
@Query('max', new DefaultValuePipe(10), ParseIntPipe) max: number,
34-
@Query('sides', new DefaultValuePipe(6), ParseIntPipe) sides: number
34+
@Query('sides', new DefaultValuePipe(6), ParseIntPipe) sides: number,
3535
) {
3636
this.logger.log(`Retrieving last ${max} rolls history [sides: ${sides}]`);
3737
const rolls = await this.db.getLastRolls(max, sides);

packages/dice-api/test/app.e2e-spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { Test, TestingModule } from '@nestjs/testing';
22
import { INestApplication } from '@nestjs/common';
33
import * as request from 'supertest';
4-
import { AppModule } from '../src/app.module';
4+
import { App } from 'supertest/types';
5+
import { AppModule } from './../src/app.module';
56

67
describe('AppController (e2e)', () => {
7-
let app: INestApplication;
8+
let app: INestApplication<App>;
89

910
beforeEach(async () => {
1011
const moduleFixture: TestingModule = await Test.createTestingModule({

packages/dice-api/tsconfig.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
"emitDecoratorMetadata": true,
77
"experimentalDecorators": true,
88
"allowSyntheticDefaultImports": true,
9-
"target": "es2017",
9+
"target": "ES2021",
1010
"sourceMap": true,
1111
"outDir": "./dist",
1212
"baseUrl": "./",
1313
"incremental": true,
1414
"skipLibCheck": true,
15-
"strictNullChecks": false,
15+
"strictNullChecks": true,
16+
"forceConsistentCasingInFileNames": true,
1617
"noImplicitAny": false,
1718
"strictBindCallApply": false,
18-
"forceConsistentCasingInFileNames": false,
1919
"noFallthroughCasesInSwitch": false
2020
}
2121
}

0 commit comments

Comments
 (0)