diff --git a/src/config/config.model.ts b/src/config/config.model.ts new file mode 100644 index 0000000000000000000000000000000000000000..18c0caeba7f84378cc56d6b3d2ad57b5a4878071 --- /dev/null +++ b/src/config/config.model.ts @@ -0,0 +1,7 @@ +export interface IServerConfig { + port: number; +} + +export interface IConfig { + server: IServerConfig; +} diff --git a/src/config/config.template.json b/src/config/config.template.json new file mode 100644 index 0000000000000000000000000000000000000000..88fb6118efe29a8f3815767df9fb60654b4ffabf --- /dev/null +++ b/src/config/config.template.json @@ -0,0 +1,5 @@ +{ + "server": { + "port": 0 + } +} diff --git a/src/config/index.ts b/src/config/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..8baff1d005e27bcd6b8e8e3ef1b38ec103005d13 --- /dev/null +++ b/src/config/index.ts @@ -0,0 +1,7 @@ +import _config from './config.json'; +import { IConfig } from './config.model'; + +const config = _config as IConfig; + +export const server = config.server; +export default config; diff --git a/src/main.ts b/src/main.ts index 13cad38cff92aa3b3d3ef6232306e450cadf5713..a946614e106906a5e7958b5f284df1e53e6ad116 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,8 +1,9 @@ import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; +import { server } from './config'; async function bootstrap() { const app = await NestFactory.create(AppModule); - await app.listen(3000); + await app.listen(server.port); } bootstrap(); diff --git a/tsconfig.json b/tsconfig.json index adb614cab7d04d6f2391c7663b833b296ed334e1..7a64609354423e340702d67a7e2b1aed65a35319 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,7 @@ "noImplicitAny": false, "strictBindCallApply": false, "forceConsistentCasingInFileNames": false, - "noFallthroughCasesInSwitch": false + "noFallthroughCasesInSwitch": false, + "resolveJsonModule": true } }