chore: migrate backend to monorepo apps and biome

This commit is contained in:
2026-04-03 18:04:59 +03:00
parent 33ca299632
commit 6032451b17
52 changed files with 956 additions and 1198 deletions

View File

@@ -0,0 +1,22 @@
import { Test, TestingModule } from '@nestjs/testing';
import { GatewayController } from './gateway.controller';
import { GatewayService } from './gateway.service';
describe('GatewayController', () => {
let gatewayController: GatewayController;
beforeEach(async () => {
const app: TestingModule = await Test.createTestingModule({
controllers: [GatewayController],
providers: [GatewayService],
}).compile();
gatewayController = app.get<GatewayController>(GatewayController);
});
describe('root', () => {
it('should return "Hello World!"', () => {
expect(gatewayController.getHello()).toBe('Hello World!');
});
});
});

View File

@@ -0,0 +1,12 @@
import { Controller, Get } from '@nestjs/common';
import { GatewayService } from './gateway.service';
@Controller()
export class GatewayController {
constructor(private readonly gatewayService: GatewayService) {}
@Get()
getHello(): string {
return this.gatewayService.getHello();
}
}

View File

@@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { GatewayController } from './gateway.controller';
import { GatewayService } from './gateway.service';
@Module({
imports: [],
controllers: [GatewayController],
providers: [GatewayService],
})
export class GatewayModule {}

View File

@@ -0,0 +1,8 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class GatewayService {
getHello(): string {
return 'Hello World!';
}
}

8
apps/gateway/src/main.ts Normal file
View File

@@ -0,0 +1,8 @@
import { NestFactory } from '@nestjs/core';
import { GatewayModule } from './gateway.module';
async function bootstrap() {
const app = await NestFactory.create(GatewayModule);
await app.listen(process.env.GATEWAY_PORT ?? 3001);
}
bootstrap();

View File

@@ -0,0 +1,21 @@
import { INestApplication } from '@nestjs/common';
import { Test, TestingModule } from '@nestjs/testing';
import request from 'supertest';
import { GatewayModule } from './../src/gateway.module';
describe('GatewayController (e2e)', () => {
let app: INestApplication;
beforeEach(async () => {
const moduleFixture: TestingModule = await Test.createTestingModule({
imports: [GatewayModule],
}).compile();
app = moduleFixture.createNestApplication();
await app.init();
});
it('/ (GET)', () => {
return request(app.getHttpServer()).get('/').expect(200).expect('Hello World!');
});
});

View File

@@ -0,0 +1,9 @@
{
"moduleFileExtensions": ["js", "json", "ts"],
"rootDir": ".",
"testEnvironment": "node",
"testRegex": ".e2e-spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
}
}

View File

@@ -0,0 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declaration": false,
"outDir": "../../dist/apps/gateway"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
}