@node-c/core 1.0.0-alpha9 → 1.0.0-beta0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/src/app.ts.html +349 -0
- package/coverage/src/common/configProvider/configProvider.module.ts.html +160 -0
- package/coverage/src/common/configProvider/configProvider.service.ts.html +658 -0
- package/coverage/src/common/configProvider/index.html +146 -0
- package/coverage/src/common/configProvider/index.ts.html +94 -0
- package/coverage/src/common/definitions/common.constants.ts.html +160 -0
- package/coverage/src/common/definitions/common.errors.ts.html +124 -0
- package/coverage/src/common/definitions/index.html +146 -0
- package/coverage/src/common/definitions/index.ts.html +94 -0
- package/coverage/src/common/utils/index.html +131 -0
- package/coverage/src/common/utils/index.ts.html +88 -0
- package/coverage/src/common/utils/utils.loadDynamicModules.ts.html +265 -0
- package/coverage/src/domain/entityService/domain.entity.service.ts.html +784 -0
- package/coverage/src/domain/entityService/index.html +131 -0
- package/coverage/src/domain/entityService/index.ts.html +91 -0
- package/coverage/src/index.html +116 -0
- package/coverage/src/persistance/entityService/index.html +131 -0
- package/coverage/src/persistance/entityService/index.ts.html +91 -0
- package/coverage/src/persistance/entityService/persistance.entity.service.ts.html +268 -0
- package/dist/app.d.ts +2 -2
- package/dist/app.js +27 -15
- package/dist/app.js.map +1 -1
- package/dist/common/configProvider/configProvider.definitions.d.ts +156 -20
- package/dist/common/configProvider/configProvider.definitions.js +21 -7
- package/dist/common/configProvider/configProvider.definitions.js.map +1 -1
- package/dist/common/configProvider/configProvider.module.js +13 -2
- package/dist/common/configProvider/configProvider.module.js.map +1 -1
- package/dist/common/configProvider/configProvider.service.js +21 -18
- package/dist/common/configProvider/configProvider.service.js.map +1 -1
- package/dist/common/definitions/common.constants.d.ts +2 -1
- package/dist/common/definitions/common.constants.js +1 -0
- package/dist/common/definitions/common.constants.js.map +1 -1
- package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.d.ts +1 -0
- package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.js +9 -0
- package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.js.map +1 -0
- package/dist/common/utils/base64UrlEncode/index.d.ts +1 -0
- package/dist/{persistance/entityService → common/utils/base64UrlEncode}/index.js +1 -2
- package/dist/common/utils/base64UrlEncode/index.js.map +1 -0
- package/dist/common/utils/getNested/getNested.definitions.d.ts +4 -0
- package/dist/common/utils/getNested/getNested.definitions.js +3 -0
- package/dist/common/utils/getNested/getNested.definitions.js.map +1 -0
- package/dist/common/utils/getNested/getNested.method.d.ts +6 -0
- package/dist/common/utils/getNested/getNested.method.js +88 -0
- package/dist/common/utils/getNested/getNested.method.js.map +1 -0
- package/dist/common/utils/getNested/index.d.ts +2 -0
- package/dist/common/utils/getNested/index.js +19 -0
- package/dist/common/utils/getNested/index.js.map +1 -0
- package/dist/common/utils/httpRequest/httpRequest.definitions.d.ts +19 -0
- package/dist/common/utils/httpRequest/httpRequest.definitions.js +3 -0
- package/dist/common/utils/httpRequest/httpRequest.definitions.js.map +1 -0
- package/dist/common/utils/httpRequest/httpRequest.method.d.ts +2 -0
- package/dist/common/utils/httpRequest/httpRequest.method.js +56 -0
- package/dist/common/utils/httpRequest/httpRequest.method.js.map +1 -0
- package/dist/common/utils/httpRequest/index.d.ts +2 -0
- package/dist/common/utils/httpRequest/index.js +19 -0
- package/dist/common/utils/httpRequest/index.js.map +1 -0
- package/dist/common/utils/index.d.ts +5 -1
- package/dist/common/utils/index.js +5 -1
- package/dist/common/utils/index.js.map +1 -1
- package/dist/common/utils/loadDynamicModules/index.d.ts +1 -0
- package/dist/common/utils/loadDynamicModules/index.js +18 -0
- package/dist/common/utils/loadDynamicModules/index.js.map +1 -0
- package/dist/common/utils/{utils.loadDynamicModules.d.ts → loadDynamicModules/utils.loadDynamicModules.d.ts} +1 -1
- package/dist/common/utils/loadDynamicModules/utils.loadDynamicModules.js.map +1 -0
- package/dist/common/utils/setNested/index.d.ts +2 -0
- package/dist/common/utils/setNested/index.js +19 -0
- package/dist/common/utils/setNested/index.js.map +1 -0
- package/dist/common/utils/setNested/setNested.definitions.d.ts +4 -0
- package/dist/common/utils/setNested/setNested.definitions.js +3 -0
- package/dist/common/utils/setNested/setNested.definitions.js.map +1 -0
- package/dist/common/utils/setNested/setNested.method.d.ts +2 -0
- package/dist/common/utils/setNested/setNested.method.js +70 -0
- package/dist/common/utils/setNested/setNested.method.js.map +1 -0
- package/dist/data/entityService/data.entity.service.d.ts +17 -0
- package/dist/data/entityService/data.entity.service.definitions.d.ts +117 -0
- package/dist/data/entityService/data.entity.service.definitions.js +28 -0
- package/dist/data/entityService/data.entity.service.definitions.js.map +1 -0
- package/dist/{persistance/entityService/persistance.entity.service.js → data/entityService/data.entity.service.js} +41 -9
- package/dist/data/entityService/data.entity.service.js.map +1 -0
- package/dist/data/entityService/index.d.ts +2 -0
- package/dist/data/entityService/index.js +19 -0
- package/dist/data/entityService/index.js.map +1 -0
- package/dist/domain/entityService/domain.entity.service.d.ts +28 -13
- package/dist/domain/entityService/domain.entity.service.definitions.d.ts +26 -19
- package/dist/domain/entityService/domain.entity.service.definitions.js +6 -6
- package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
- package/dist/domain/entityService/domain.entity.service.js +77 -69
- package/dist/domain/entityService/domain.entity.service.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +11 -10
- package/src/app.spec.ts +138 -0
- package/src/app.ts +115 -0
- package/src/common/configProvider/configProvider.definitions.ts +445 -0
- package/src/common/configProvider/configProvider.module.spec.ts +90 -0
- package/src/common/configProvider/configProvider.module.ts +25 -0
- package/src/common/configProvider/configProvider.service.spec.ts +206 -0
- package/src/common/configProvider/configProvider.service.ts +204 -0
- package/src/common/configProvider/index.ts +3 -0
- package/src/common/definitions/common.constants.ts +27 -0
- package/src/common/definitions/common.definitions.ts +13 -0
- package/src/common/definitions/common.errors.ts +13 -0
- package/src/common/definitions/index.ts +3 -0
- package/src/common/utils/base64UrlEncode/base64UrlEncode.method.ts +4 -0
- package/src/common/utils/base64UrlEncode/index.ts +1 -0
- package/src/common/utils/getNested/getNested.definitions.ts +4 -0
- package/src/common/utils/getNested/getNested.method.ts +108 -0
- package/src/common/utils/getNested/getNested.spec.ts +151 -0
- package/src/common/utils/getNested/index.ts +2 -0
- package/src/common/utils/httpRequest/httpRequest.definitions.ts +22 -0
- package/src/common/utils/httpRequest/httpRequest.method.ts +46 -0
- package/src/common/utils/httpRequest/index.ts +2 -0
- package/src/common/utils/index.ts +5 -0
- package/src/common/utils/loadDynamicModules/index.ts +1 -0
- package/src/common/utils/loadDynamicModules/utils.loadDynamicModules.spec.ts +111 -0
- package/src/common/utils/loadDynamicModules/utils.loadDynamicModules.ts +69 -0
- package/src/common/utils/setNested/index.ts +2 -0
- package/src/common/utils/setNested/setNested.definitions.ts +4 -0
- package/src/common/utils/setNested/setNested.method.ts +83 -0
- package/src/common/utils/setNested/setNested.spec.ts +184 -0
- package/src/data/entityService/data.entity.service.definitions.ts +154 -0
- package/src/data/entityService/data.entity.service.spec.ts +112 -0
- package/src/data/entityService/data.entity.service.ts +144 -0
- package/src/data/entityService/index.ts +2 -0
- package/src/domain/entityService/domain.entity.service.definitions.ts +142 -0
- package/src/domain/entityService/domain.entity.service.spec.ts +126 -0
- package/src/domain/entityService/domain.entity.service.ts +421 -0
- package/src/domain/entityService/index.ts +2 -0
- package/src/index.ts +6 -0
- package/src/vitest.config.ts +9 -0
- package/dist/common/utils/utils.loadDynamicModules.js.map +0 -1
- package/dist/persistance/entityService/index.d.ts +0 -2
- package/dist/persistance/entityService/index.js.map +0 -1
- package/dist/persistance/entityService/persistance.entity.service.d.ts +0 -11
- package/dist/persistance/entityService/persistance.entity.service.definitions.d.ts +0 -76
- package/dist/persistance/entityService/persistance.entity.service.definitions.js +0 -23
- package/dist/persistance/entityService/persistance.entity.service.definitions.js.map +0 -1
- package/dist/persistance/entityService/persistance.entity.service.js.map +0 -1
- /package/dist/common/utils/{utils.loadDynamicModules.js → loadDynamicModules/utils.loadDynamicModules.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.entity.service.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"domain.entity.service.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -19,5 +19,5 @@ __exportStar(require("./common/configProvider"), exports);
|
|
|
19
19
|
__exportStar(require("./common/definitions"), exports);
|
|
20
20
|
__exportStar(require("./common/utils"), exports);
|
|
21
21
|
__exportStar(require("./domain/entityService"), exports);
|
|
22
|
-
__exportStar(require("./
|
|
22
|
+
__exportStar(require("./data/entityService"), exports);
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0DAAwC;AACxC,uDAAqC;AACrC,iDAA+B;AAC/B,yDAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0DAAwC;AACxC,uDAAqC;AACrC,iDAA+B;AAC/B,yDAAuC;AACvC,uDAAqC"}
|
package/package.json
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-c/core",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-beta0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "tsc -p tsconfig.build.json",
|
|
8
|
+
"build:clean": "rm -rf dist/* && rm -f *.tsbuildinfo && npm run build",
|
|
8
9
|
"check-types": "tsc -p tsconfig.build.json --noEmit",
|
|
9
10
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
10
|
-
"
|
|
11
|
+
"lint": "eslint src",
|
|
12
|
+
"publish-package": "npm run build:clean && npm publish --access public",
|
|
11
13
|
"test": "vitest --config src/vitest.config.ts",
|
|
12
14
|
"test:coverage": "vitest --config src/vitest.config.ts --coverage"
|
|
13
15
|
},
|
|
14
16
|
"dependencies": {
|
|
15
|
-
"@nestjs/common": "^
|
|
16
|
-
"@nestjs/core": "^
|
|
17
|
-
"
|
|
17
|
+
"@nestjs/common": "^11.1.16",
|
|
18
|
+
"@nestjs/core": "^11.1.16",
|
|
19
|
+
"axios": "^1.13.5",
|
|
18
20
|
"dotenv": "^16.4.7",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
+
"lodash": "^4.17.21",
|
|
22
|
+
"morgan": "^1.10.0"
|
|
21
23
|
},
|
|
22
24
|
"devDependencies": {
|
|
23
|
-
"@nestjs/platform-express": "^
|
|
25
|
+
"@nestjs/platform-express": "^11.1.16",
|
|
26
|
+
"@types/lodash": "^4.17.19",
|
|
24
27
|
"@types/morgan": "^1.9.9",
|
|
25
28
|
"@types/node": "^22.10.1",
|
|
26
|
-
"@types/ramda": "^0.30.2",
|
|
27
29
|
"@vitest/coverage-v8": "^3.0.5",
|
|
28
|
-
"immutable": "^5.0.3",
|
|
29
30
|
"vitest": "^3.0.5"
|
|
30
31
|
}
|
|
31
32
|
}
|
package/src/app.spec.ts
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
|
|
3
|
+
import { INestApplication, Module, NestModule } from '@nestjs/common';
|
|
4
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
APP_CONFIG_FROM_ENV_KEYS,
|
|
8
|
+
AppEnvironment,
|
|
9
|
+
ConfigProviderModule,
|
|
10
|
+
ConfigProviderService,
|
|
11
|
+
NodeCApp,
|
|
12
|
+
NodeCAppStartOptions
|
|
13
|
+
} from './index';
|
|
14
|
+
|
|
15
|
+
const BASE_PATH = path.join(__dirname, '../test');
|
|
16
|
+
|
|
17
|
+
const appModuleOptions = {
|
|
18
|
+
appConfigs: {
|
|
19
|
+
appConfigCommon: {
|
|
20
|
+
general: {
|
|
21
|
+
projectName: 'TestProject',
|
|
22
|
+
projectRootPath: BASE_PATH,
|
|
23
|
+
projectVersion: '1.0.0'
|
|
24
|
+
},
|
|
25
|
+
api: { test: {} },
|
|
26
|
+
domain: {},
|
|
27
|
+
data: { db: { type: 'mysql', extra: 'foo' }, notADb: { type: 'unsupported' } }
|
|
28
|
+
},
|
|
29
|
+
appConfigProfileLocal: {
|
|
30
|
+
general: { environment: AppEnvironment.Local }
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
envKeys: APP_CONFIG_FROM_ENV_KEYS,
|
|
34
|
+
envKeysParentNames: {
|
|
35
|
+
API: {
|
|
36
|
+
children: { TEST: 'test' },
|
|
37
|
+
name: 'api'
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
@Module({})
|
|
43
|
+
class TestAPIModule {}
|
|
44
|
+
|
|
45
|
+
@Module({
|
|
46
|
+
imports: [ConfigProviderModule.register(appModuleOptions)]
|
|
47
|
+
})
|
|
48
|
+
class AppModule {}
|
|
49
|
+
|
|
50
|
+
@Module({
|
|
51
|
+
imports: [ConfigProviderModule.register(appModuleOptions), TestAPIModule]
|
|
52
|
+
})
|
|
53
|
+
class AppModuleWithAPI {}
|
|
54
|
+
|
|
55
|
+
@Module({
|
|
56
|
+
imports: [
|
|
57
|
+
ConfigProviderModule.register({
|
|
58
|
+
...appModuleOptions,
|
|
59
|
+
envKeys: { API: { HTTP: { HOST: 'hostname', PORT: 'port' } } },
|
|
60
|
+
envKeysParentNames: { API: { children: { TEST: 'test' }, name: 'api' } }
|
|
61
|
+
}),
|
|
62
|
+
TestAPIModule
|
|
63
|
+
]
|
|
64
|
+
})
|
|
65
|
+
class AppModuleWithAPIStartable {}
|
|
66
|
+
|
|
67
|
+
describe('NodeCApp.start', () => {
|
|
68
|
+
let apps: INestApplication<unknown>[];
|
|
69
|
+
process.env.NODE_ENV = 'local';
|
|
70
|
+
afterEach(() => {
|
|
71
|
+
apps?.forEach(app => app.close());
|
|
72
|
+
});
|
|
73
|
+
it('should start apps without options (no loadConfigOptions, no apiModulesOptions)', async () => {
|
|
74
|
+
const apps = await NodeCApp.start([AppModule] as unknown as NestModule[]);
|
|
75
|
+
expect(apps).toHaveLength(1);
|
|
76
|
+
});
|
|
77
|
+
it('should call loadConfig and generateOrmconfig when loadConfigOptions and generateOrmConfig are provided', async () => {
|
|
78
|
+
const generateOrmconfigSpy = vi.spyOn(ConfigProviderService, 'generateOrmconfig');
|
|
79
|
+
const loadConfigSpy = vi.spyOn(ConfigProviderService, 'loadConfig');
|
|
80
|
+
const options: NodeCAppStartOptions = {
|
|
81
|
+
generateOrmConfig: true,
|
|
82
|
+
generateOrmConfigModuleOptions: {
|
|
83
|
+
db: {
|
|
84
|
+
entitiesPathInModule: 'entities',
|
|
85
|
+
migrationsPathInModule: 'migrations',
|
|
86
|
+
modulePathInProject: 'src/data/db'
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
loadConfigOptions: appModuleOptions
|
|
90
|
+
};
|
|
91
|
+
apps = await NodeCApp.start([AppModule] as unknown as NestModule[], options);
|
|
92
|
+
// The loadConfig method should be called once with the provided options.
|
|
93
|
+
expect(loadConfigSpy).toHaveBeenCalledTimes(2);
|
|
94
|
+
// For each key in data (here just 1 - "db"), generateOrmconfig should be called.
|
|
95
|
+
expect(generateOrmconfigSpy).toHaveBeenCalledTimes(1);
|
|
96
|
+
expect(apps).toHaveLength(1);
|
|
97
|
+
});
|
|
98
|
+
it('should call loadConfig and generateOrmconfig when loadConfigOptions and generateOrmConfig are provided, but generateOrmConfigModuleOptions are not provided', async () => {
|
|
99
|
+
const generateOrmconfigSpy = vi.spyOn(ConfigProviderService, 'generateOrmconfig');
|
|
100
|
+
const loadConfigSpy = vi.spyOn(ConfigProviderService, 'loadConfig');
|
|
101
|
+
const options: NodeCAppStartOptions = {
|
|
102
|
+
generateOrmConfig: true,
|
|
103
|
+
loadConfigOptions: appModuleOptions
|
|
104
|
+
};
|
|
105
|
+
generateOrmconfigSpy.mockClear();
|
|
106
|
+
loadConfigSpy.mockClear();
|
|
107
|
+
apps = await NodeCApp.start([AppModule] as unknown as NestModule[], options);
|
|
108
|
+
// The loadConfig method should be called once with the provided options.
|
|
109
|
+
expect(loadConfigSpy).toHaveBeenCalledTimes(2);
|
|
110
|
+
// For each key in data (here just 1 - "db"), generateOrmconfig should be called.
|
|
111
|
+
expect(generateOrmconfigSpy).toHaveBeenCalledTimes(1);
|
|
112
|
+
expect(apps).toHaveLength(1);
|
|
113
|
+
});
|
|
114
|
+
it('should configure API server for a module with matching apiModulesOptions', async () => {
|
|
115
|
+
// Provide an apiModulesOptions mapping module index "1" to "test".
|
|
116
|
+
const options: NodeCAppStartOptions = {
|
|
117
|
+
apiModulesOptions: [{ appModuleIndex: 1, apiModuleName: 'test' }],
|
|
118
|
+
loadConfigOptions: {
|
|
119
|
+
appConfigs: appModuleOptions.appConfigs,
|
|
120
|
+
envKeys: { API: { TEST: { HOST: 'hostname', PORT: 'port' } } },
|
|
121
|
+
envKeysParentNames: { API: { children: { TEST: 'test' }, name: 'api' } }
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
// Call start with two modules.
|
|
125
|
+
apps = await NodeCApp.start([AppModule, AppModuleWithAPIStartable] as unknown as NestModule[], options);
|
|
126
|
+
expect(apps).toHaveLength(2);
|
|
127
|
+
const response = await fetch('http://localhost:3000');
|
|
128
|
+
expect(response.status).toEqual(404);
|
|
129
|
+
});
|
|
130
|
+
it('should not call app.listen if the API config lacks hostname or port', async () => {
|
|
131
|
+
const options: NodeCAppStartOptions = {
|
|
132
|
+
apiModulesOptions: [{ appModuleIndex: 0, apiModuleName: 'users' }]
|
|
133
|
+
};
|
|
134
|
+
apps = await NodeCApp.start([AppModule, AppModuleWithAPI] as unknown as NestModule[], options);
|
|
135
|
+
expect(apps).toHaveLength(2);
|
|
136
|
+
await expect(fetch('http://localhost:3000')).rejects.toThrow('fetch failed');
|
|
137
|
+
});
|
|
138
|
+
});
|
package/src/app.ts
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { DynamicModule, INestApplication } from '@nestjs/common';
|
|
2
|
+
import { NestFactory } from '@nestjs/core';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
AppConfig,
|
|
6
|
+
AppConfigDataRDB,
|
|
7
|
+
ConfigProviderModuleOptions,
|
|
8
|
+
ConfigProviderService,
|
|
9
|
+
RDBType
|
|
10
|
+
} from './common/configProvider';
|
|
11
|
+
|
|
12
|
+
export interface NodeCAppStartOptions {
|
|
13
|
+
apiModulesOptions?: { appModuleIndex: number; apiModuleName: string }[];
|
|
14
|
+
generateOrmConfig?: boolean;
|
|
15
|
+
generateOrmConfigModuleOptions?: {
|
|
16
|
+
[moduleName: string]: {
|
|
17
|
+
entitiesPathInModule: string;
|
|
18
|
+
migrationsPathInModule: string;
|
|
19
|
+
modulePathInProject: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
loadConfigOptions?: ConfigProviderModuleOptions;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export class NodeCApp {
|
|
26
|
+
// TODO: start each server in a different process
|
|
27
|
+
static async start(
|
|
28
|
+
appModules: DynamicModule[],
|
|
29
|
+
options?: NodeCAppStartOptions
|
|
30
|
+
): Promise<INestApplication<unknown>[]> {
|
|
31
|
+
console.info(`[Node-C]: Launching ${appModules.length} applications...`);
|
|
32
|
+
const { apiModulesOptions, generateOrmConfig, generateOrmConfigModuleOptions, loadConfigOptions } = options || {};
|
|
33
|
+
const apiModulesOptionsMap = new Map<string, string>();
|
|
34
|
+
const apps: INestApplication<unknown>[] = [];
|
|
35
|
+
let config: AppConfig | undefined;
|
|
36
|
+
// generate the ormconfig.json files for the RDB data modules that use TypeOrm, such as MySQL and PostgreSQL
|
|
37
|
+
if (loadConfigOptions) {
|
|
38
|
+
console.info('[Node-C]: Loading configurations...');
|
|
39
|
+
const { appConfigs, ...otherOptions } = loadConfigOptions;
|
|
40
|
+
config = await ConfigProviderService.loadConfig(appConfigs, otherOptions);
|
|
41
|
+
if (generateOrmConfig) {
|
|
42
|
+
const moduleOptionsPerName = generateOrmConfigModuleOptions || {};
|
|
43
|
+
const { data } = config;
|
|
44
|
+
for (const moduleName in data) {
|
|
45
|
+
const { type } = data[moduleName] as AppConfigDataRDB;
|
|
46
|
+
if (type === RDBType.ClickHouse || !Object.values(RDBType).includes(type as RDBType)) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
await ConfigProviderService.generateOrmconfig(config, {
|
|
50
|
+
...(moduleOptionsPerName[moduleName] || {
|
|
51
|
+
entitiesPathInModule: 'entities',
|
|
52
|
+
migrationsPathInModule: 'migrations',
|
|
53
|
+
modulePathInProject: `src/data/${moduleName}`,
|
|
54
|
+
seedsPathInModule: 'seeds'
|
|
55
|
+
}),
|
|
56
|
+
moduleName
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
console.info('[Node-C]: Configurations loaded.');
|
|
61
|
+
}
|
|
62
|
+
if (apiModulesOptions && apiModulesOptions.length) {
|
|
63
|
+
apiModulesOptions.forEach(item => {
|
|
64
|
+
apiModulesOptionsMap.set(`${item.appModuleIndex}`, item.apiModuleName);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
for (const i in appModules) {
|
|
68
|
+
console.info(`[Node-C]: Preparing app module no. ${i}...`);
|
|
69
|
+
// create the nest app from the module
|
|
70
|
+
const apiModuleName = apiModulesOptionsMap.get(i);
|
|
71
|
+
if (!apiModuleName) {
|
|
72
|
+
console.info(`[Node-C][${i}]: No api module found. Creating standalone app...`);
|
|
73
|
+
const app = await NestFactory.createApplicationContext(appModules[i]);
|
|
74
|
+
apps.push(app as INestApplication);
|
|
75
|
+
console.info(`[Node-C][${i}]: Standalone created successfully.`);
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
console.info(`[Node-C][${i}]: Api module found. Creating network app...`);
|
|
79
|
+
const app = await NestFactory.create(appModules[i], { bodyParser: false });
|
|
80
|
+
console.info(`[Node-C]: Created a network app for module no ${i} (API module name "${apiModuleName}").`);
|
|
81
|
+
// TODO: starting the network app will potentially cause problems, so we can't rely on the config being loaded after the app
|
|
82
|
+
if (!config) {
|
|
83
|
+
config = app.get(ConfigProviderService).config;
|
|
84
|
+
}
|
|
85
|
+
const { api: apiConfigs } = config;
|
|
86
|
+
const apiConfig = apiConfigs[apiModuleName];
|
|
87
|
+
// start an API server, if requested in the options
|
|
88
|
+
if (apiConfig) {
|
|
89
|
+
const { hostname, port } = apiConfig;
|
|
90
|
+
if (hostname && port) {
|
|
91
|
+
console.info(`[Node-C][${i}/${apiModuleName}]: Starting listeners...`);
|
|
92
|
+
// TODO: move the following app.set and app.use to the http module
|
|
93
|
+
// eslint-disable-next-line no-unused-vars
|
|
94
|
+
(app as unknown as { set: (...args: unknown[]) => void }).set('query parser', 'extended');
|
|
95
|
+
app.use((req: { query: unknown }, _res: unknown, next: () => void) => {
|
|
96
|
+
Object.defineProperty(req, 'query', {
|
|
97
|
+
...Object.getOwnPropertyDescriptor(req, 'query'),
|
|
98
|
+
value: req.query,
|
|
99
|
+
writable: true
|
|
100
|
+
});
|
|
101
|
+
next();
|
|
102
|
+
});
|
|
103
|
+
await app.listen(port as number, hostname as string);
|
|
104
|
+
console.info(`[NODE-C][${i}/${apiModuleName}] Server listening at ${hostname}:${port}.`);
|
|
105
|
+
} else {
|
|
106
|
+
console.info(`[Node-C][${i}/${apiModuleName}]: No listener configuration found.`);
|
|
107
|
+
}
|
|
108
|
+
} else {
|
|
109
|
+
console.info(`[Node-C][${i}/${apiModuleName}]: No API config found.`);
|
|
110
|
+
}
|
|
111
|
+
apps.push(app as INestApplication);
|
|
112
|
+
}
|
|
113
|
+
return apps;
|
|
114
|
+
}
|
|
115
|
+
}
|