@nest-yalc-2/app 2.2.0 → 2.2.1
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/LICENSE +661 -0
- package/package.json +19 -11
- package/{dist/src → src}/app-bootstrap-base.helper.js +21 -27
- package/src/app-bootstrap-base.helper.js.map +1 -0
- package/{dist/src → src}/app-bootstrap-base.helper.ts +2 -2
- package/src/app-bootstrap-standalone.helper.js +38 -0
- package/src/app-bootstrap-standalone.helper.js.map +1 -0
- package/{dist/src → src}/app-bootstrap-standalone.helper.ts +2 -2
- package/{dist/src → src}/app-bootstrap.helper.js +29 -34
- package/src/app-bootstrap.helper.js.map +1 -0
- package/{dist/src → src}/app-bootstrap.helper.ts +2 -2
- package/{dist/src → src}/app-config.service.js +7 -15
- package/src/app-config.service.js.map +1 -0
- package/src/app-context.module.js +11 -0
- package/src/app-context.module.js.map +1 -0
- package/src/app-context.service.js +18 -0
- package/src/app-context.service.js.map +1 -0
- package/{dist/src → src}/app-imports.factory.d.ts +1 -1
- package/{dist/src → src}/app-imports.factory.js +47 -51
- package/src/app-imports.factory.js.map +1 -0
- package/{dist/src → src}/app-imports.factory.ts +2 -2
- package/{dist/src → src}/app.events.js +2 -5
- package/src/app.events.js.map +1 -0
- package/{dist/src → src}/app.helper.d.ts +3 -3
- package/src/app.helper.js +19 -0
- package/src/app.helper.js.map +1 -0
- package/{dist/src → src}/app.helper.ts +3 -3
- package/{dist/src → src}/base-app-module.helper.d.ts +1 -1
- package/{dist/src → src}/base-app-module.helper.js +74 -83
- package/src/base-app-module.helper.js.map +1 -0
- package/{dist/src → src}/base-app-module.helper.ts +2 -2
- package/src/base-app.controller.js +45 -0
- package/src/base-app.controller.js.map +1 -0
- package/{dist/src → src}/base-app.interface.d.ts +1 -1
- package/src/base-app.interface.js +2 -0
- package/{dist/src → src}/base-app.interface.ts +1 -1
- package/src/base-app.service.js +31 -0
- package/src/base-app.service.js.map +1 -0
- package/src/cls.module.js +43 -0
- package/src/cls.module.js.map +1 -0
- package/{dist/src → src}/conf.type.d.ts +1 -1
- package/src/conf.type.js +2 -0
- package/{dist/src → src}/conf.type.ts +1 -1
- package/src/def.const.js +11 -0
- package/src/def.const.js.map +1 -0
- package/src/global.enum.js +8 -0
- package/src/global.enum.js.map +1 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +2 -0
- package/{dist/src → src}/life-cycle-handler.service.d.ts +1 -1
- package/src/life-cycle-handler.service.js +33 -0
- package/{dist/src → src}/life-cycle-handler.service.js.map +1 -1
- package/{dist/src → src}/life-cycle-handler.service.ts +1 -1
- package/src/unwrap-result.interceptor.js +28 -0
- package/src/unwrap-result.interceptor.js.map +1 -0
- package/src/yalc-controller.interface.js +2 -0
- package/dist/src/app-bootstrap-base.helper.js.map +0 -1
- package/dist/src/app-bootstrap-standalone.helper.js +0 -43
- package/dist/src/app-bootstrap-standalone.helper.js.map +0 -1
- package/dist/src/app-bootstrap.helper.js.map +0 -1
- package/dist/src/app-config.service.js.map +0 -1
- package/dist/src/app-context.module.js +0 -14
- package/dist/src/app-context.module.js.map +0 -1
- package/dist/src/app-context.service.js +0 -21
- package/dist/src/app-context.service.js.map +0 -1
- package/dist/src/app-imports.factory.js.map +0 -1
- package/dist/src/app.events.js.map +0 -1
- package/dist/src/app.helper.js +0 -26
- package/dist/src/app.helper.js.map +0 -1
- package/dist/src/base-app-module.helper.js.map +0 -1
- package/dist/src/base-app.controller.js +0 -48
- package/dist/src/base-app.controller.js.map +0 -1
- package/dist/src/base-app.interface.js +0 -3
- package/dist/src/base-app.service.js +0 -34
- package/dist/src/base-app.service.js.map +0 -1
- package/dist/src/cls.module.js +0 -48
- package/dist/src/cls.module.js.map +0 -1
- package/dist/src/conf.type.js +0 -3
- package/dist/src/def.const.js +0 -14
- package/dist/src/def.const.js.map +0 -1
- package/dist/src/global.enum.js +0 -11
- package/dist/src/global.enum.js.map +0 -1
- package/dist/src/index.d.ts +0 -0
- package/dist/src/index.js +0 -2
- package/dist/src/life-cycle-handler.service.js +0 -36
- package/dist/src/unwrap-result.interceptor.js +0 -31
- package/dist/src/unwrap-result.interceptor.js.map +0 -1
- package/dist/src/yalc-controller.interface.js +0 -3
- /package/{dist/src → src}/__tests__/app-bootstrap-base.helper.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/app-bootstrap-standalone.helper.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/app-bootstrap.helper.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/app-config.service.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/app-context.service.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/app.events.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/app.helper.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/base-app-module.helper.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/base-app.controller.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/base-app.service.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/cls.module.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/life-cycle-handler.service.spec.ts +0 -0
- /package/{dist/src → src}/__tests__/tsconfig.json +0 -0
- /package/{dist/src → src}/__tests__/unwrap-result.interceptor.spec.ts +0 -0
- /package/{dist/src → src}/app-bootstrap-base.helper.d.ts +0 -0
- /package/{dist/src → src}/app-bootstrap-standalone.helper.d.ts +0 -0
- /package/{dist/src → src}/app-bootstrap.helper.d.ts +0 -0
- /package/{dist/src → src}/app-config.service.d.ts +0 -0
- /package/{dist/src → src}/app-config.service.ts +0 -0
- /package/{dist/src → src}/app-context.module.d.ts +0 -0
- /package/{dist/src → src}/app-context.module.ts +0 -0
- /package/{dist/src → src}/app-context.service.d.ts +0 -0
- /package/{dist/src → src}/app-context.service.ts +0 -0
- /package/{dist/src → src}/app.events.d.ts +0 -0
- /package/{dist/src → src}/app.events.ts +0 -0
- /package/{dist/src → src}/base-app.controller.d.ts +0 -0
- /package/{dist/src → src}/base-app.controller.ts +0 -0
- /package/{dist/src → src}/base-app.interface.js.map +0 -0
- /package/{dist/src → src}/base-app.service.d.ts +0 -0
- /package/{dist/src → src}/base-app.service.ts +0 -0
- /package/{dist/src → src}/cls.module.d.ts +0 -0
- /package/{dist/src → src}/cls.module.ts +0 -0
- /package/{dist/src → src}/conf.type.js.map +0 -0
- /package/{dist/src → src}/db-conf.helper.ts-off +0 -0
- /package/{dist/src → src}/def.const.d.ts +0 -0
- /package/{dist/src → src}/def.const.ts +0 -0
- /package/{dist/src → src}/global.enum.d.ts +0 -0
- /package/{dist/src → src}/global.enum.ts +0 -0
- /package/{dist/src → src}/index.js.map +0 -0
- /package/{dist/src → src}/index.ts +0 -0
- /package/{dist/src → src}/unwrap-result.interceptor.d.ts +0 -0
- /package/{dist/src → src}/unwrap-result.interceptor.ts +0 -0
- /package/{dist/src → src}/yalc-controller.interface.d.ts +0 -0
- /package/{dist/src → src}/yalc-controller.interface.js.map +0 -0
- /package/{dist/src → src}/yalc-controller.interface.ts +0 -0
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const gql_complexity_plugin_js_1 = require("@nest-yalc-2/graphql/plugins/gql-complexity.plugin.js");
|
|
21
|
-
const class_helper_1 = require("@node-yalc/utils/class.helper");
|
|
22
|
-
const apollo_1 = require("@nestjs/apollo");
|
|
23
|
-
const dotenv = tslib_1.__importStar(require("dotenv"));
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import { HttpModule } from '@nestjs/axios';
|
|
3
|
+
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
4
|
+
import { wrapSchema, RenameTypes, RenameRootFields, RenameRootTypes, RenameInterfaceFields, RenameInputObjectFields, } from '@graphql-tools/wrap';
|
|
5
|
+
import { AppContextModule } from './app-context.module.js';
|
|
6
|
+
import { AppContextService } from './app-context.service.js';
|
|
7
|
+
import { getConfNameByConnection } from '@nest-yalc-2/database/conn.helper.js';
|
|
8
|
+
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
9
|
+
import { GraphQLModule } from '@nestjs/graphql';
|
|
10
|
+
import { JwtModule } from '@nestjs/jwt';
|
|
11
|
+
import { EventEmitter2, EventEmitterModule } from '@nestjs/event-emitter';
|
|
12
|
+
import { GraphQLError } from 'graphql/error';
|
|
13
|
+
import { TypeORMLogger } from '@nest-yalc-2/logger/typeorm-logger.js';
|
|
14
|
+
import { CURAPP_CONF_ALIAS } from './def.const.js';
|
|
15
|
+
import { AppEvents } from './app.events.js';
|
|
16
|
+
import { GqlComplexityPlugin } from '@nest-yalc-2/graphql/plugins/gql-complexity.plugin.js';
|
|
17
|
+
import { isClass } from '@node-yalc/utils/class.helper.js';
|
|
18
|
+
import { ApolloFederationDriver, } from '@nestjs/apollo';
|
|
19
|
+
import * as dotenv from 'dotenv';
|
|
24
20
|
dotenv.config();
|
|
25
|
-
function AppDependencyFactory(_context, confs, dbConnNames, gqlModules, options) {
|
|
21
|
+
export function AppDependencyFactory(_context, confs, dbConnNames, gqlModules, options) {
|
|
26
22
|
const { setupEvents = true, setupJwt = true, keepDBConnectionAlive = false, buildSchemaOptions = {}, disablePlayground = false, } = options ?? {};
|
|
27
23
|
const envPath = [];
|
|
28
24
|
if (!options?.envPath) {
|
|
@@ -38,23 +34,23 @@ function AppDependencyFactory(_context, confs, dbConnNames, gqlModules, options)
|
|
|
38
34
|
}
|
|
39
35
|
}
|
|
40
36
|
}
|
|
41
|
-
|
|
42
|
-
const configModule =
|
|
37
|
+
Logger.debug?.(`Using ${envPath}, for environment: ${process.env.NODE_ENV}`);
|
|
38
|
+
const configModule = ConfigModule.forRoot({
|
|
43
39
|
load: confs,
|
|
44
40
|
envFilePath: envPath,
|
|
45
41
|
});
|
|
46
42
|
const imports = [
|
|
47
43
|
configModule,
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
AppContextModule,
|
|
45
|
+
HttpModule,
|
|
50
46
|
];
|
|
51
47
|
if (dbConnNames.length) {
|
|
52
48
|
dbConnNames.forEach((connName) => {
|
|
53
|
-
imports.push(
|
|
54
|
-
inject: [
|
|
49
|
+
imports.push(TypeOrmModule.forRootAsync({
|
|
50
|
+
inject: [ConfigService, TypeORMLogger],
|
|
55
51
|
name: connName,
|
|
56
52
|
useFactory: async (configService, logger) => {
|
|
57
|
-
const conf = configService.get(
|
|
53
|
+
const conf = configService.get(getConfNameByConnection(connName));
|
|
58
54
|
logger.log?.('log', `Connecting DB ${connName} to host: ${conf?.host}`);
|
|
59
55
|
return {
|
|
60
56
|
...conf,
|
|
@@ -85,11 +81,11 @@ function AppDependencyFactory(_context, confs, dbConnNames, gqlModules, options)
|
|
|
85
81
|
}
|
|
86
82
|
}
|
|
87
83
|
if (gqlModules.length) {
|
|
88
|
-
imports.push(
|
|
89
|
-
driver:
|
|
84
|
+
imports.push(GraphQLModule.forRootAsync({
|
|
85
|
+
driver: ApolloFederationDriver,
|
|
90
86
|
imports: [ApolloPluginsModule.forRoot()],
|
|
91
87
|
useFactory: async (configService, appContext, eventEmitter, gqlPluginList) => {
|
|
92
|
-
const conf = configService.get(
|
|
88
|
+
const conf = configService.get(CURAPP_CONF_ALIAS);
|
|
93
89
|
return {
|
|
94
90
|
autoSchemaFile: true,
|
|
95
91
|
buildSchemaOptions,
|
|
@@ -100,18 +96,18 @@ function AppDependencyFactory(_context, confs, dbConnNames, gqlModules, options)
|
|
|
100
96
|
const rename = (name) => {
|
|
101
97
|
if (!opPrefix || name.startsWith('_'))
|
|
102
98
|
return name;
|
|
103
|
-
if (options?.buildSchemaOptions?.orphanedTypes?.some((cl) =>
|
|
99
|
+
if (options?.buildSchemaOptions?.orphanedTypes?.some((cl) => isClass(cl) && cl.name === name))
|
|
104
100
|
return name;
|
|
105
101
|
return `${opPrefix}_${name}`;
|
|
106
102
|
};
|
|
107
|
-
const transformed =
|
|
103
|
+
const transformed = wrapSchema({
|
|
108
104
|
schema: graphQLSchema,
|
|
109
105
|
transforms: [
|
|
110
|
-
new
|
|
111
|
-
new
|
|
112
|
-
new
|
|
113
|
-
new
|
|
114
|
-
new
|
|
106
|
+
new RenameInputObjectFields((_, name) => rename(name)),
|
|
107
|
+
new RenameInterfaceFields((_, name) => rename(name)),
|
|
108
|
+
new RenameRootTypes((name) => rename(name)),
|
|
109
|
+
new RenameTypes((name) => rename(name)),
|
|
110
|
+
new RenameRootFields((_operationName, name) => rename(name)),
|
|
115
111
|
],
|
|
116
112
|
});
|
|
117
113
|
appContext.setSchema(transformed);
|
|
@@ -120,7 +116,7 @@ function AppDependencyFactory(_context, confs, dbConnNames, gqlModules, options)
|
|
|
120
116
|
include: gqlModules,
|
|
121
117
|
useGlobalPrefix: true,
|
|
122
118
|
formatError: (formattedError, error) => {
|
|
123
|
-
const graphQLError = error instanceof
|
|
119
|
+
const graphQLError = error instanceof GraphQLError ? error : undefined;
|
|
124
120
|
const exception = graphQLError?.extensions?.exception;
|
|
125
121
|
const message = exception?.response?.message ||
|
|
126
122
|
graphQLError?.message ||
|
|
@@ -149,37 +145,37 @@ function AppDependencyFactory(_context, confs, dbConnNames, gqlModules, options)
|
|
|
149
145
|
: false,
|
|
150
146
|
debug: conf?.isDev,
|
|
151
147
|
context: async ({ request, reply, ...rest }) => {
|
|
152
|
-
await eventEmitter.emitAsync(
|
|
148
|
+
await eventEmitter.emitAsync(AppEvents.BEFORE_GQL_CONTEXT_MIDDLEWARE, request, reply);
|
|
153
149
|
return {
|
|
154
150
|
request,
|
|
155
151
|
response: reply,
|
|
156
152
|
...rest,
|
|
157
153
|
};
|
|
158
154
|
},
|
|
159
|
-
plugins: [new
|
|
155
|
+
plugins: [new GqlComplexityPlugin(), ...gqlPluginList],
|
|
160
156
|
};
|
|
161
157
|
},
|
|
162
158
|
inject: [
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
159
|
+
ConfigService,
|
|
160
|
+
AppContextService,
|
|
161
|
+
EventEmitter2,
|
|
166
162
|
'APOLLO_PLUGINS',
|
|
167
163
|
],
|
|
168
164
|
}));
|
|
169
165
|
}
|
|
170
166
|
if (setupEvents) {
|
|
171
|
-
imports.push(
|
|
167
|
+
imports.push(EventEmitterModule.forRoot());
|
|
172
168
|
}
|
|
173
169
|
if (setupJwt) {
|
|
174
|
-
imports.push(
|
|
170
|
+
imports.push(JwtModule.registerAsync({
|
|
175
171
|
imports: [configModule],
|
|
176
172
|
useFactory: async (configService) => ({
|
|
177
|
-
secret: configService.get(
|
|
173
|
+
secret: configService.get(CURAPP_CONF_ALIAS)?.jwtSecretPrivate,
|
|
178
174
|
signOptions: {
|
|
179
175
|
expiresIn: 3600,
|
|
180
176
|
},
|
|
181
177
|
}),
|
|
182
|
-
inject: [
|
|
178
|
+
inject: [ConfigService],
|
|
183
179
|
}));
|
|
184
180
|
}
|
|
185
181
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-imports.factory.js","sourceRoot":"","sources":["app-imports.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,8 +29,8 @@ import { TypeORMLogger } from '@nest-yalc-2/logger/typeorm-logger.js';
|
|
|
29
29
|
import { CURAPP_CONF_ALIAS } from './def.const.js';
|
|
30
30
|
import { AppEvents } from './app.events.js';
|
|
31
31
|
import { GqlComplexityPlugin } from '@nest-yalc-2/graphql/plugins/gql-complexity.plugin.js';
|
|
32
|
-
import { ClassType } from '@node-yalc/types/globals';
|
|
33
|
-
import { isClass } from '@node-yalc/utils/class.helper';
|
|
32
|
+
import { ClassType } from '@node-yalc/types/globals.js';
|
|
33
|
+
import { isClass } from '@node-yalc/utils/class.helper.js';
|
|
34
34
|
import {
|
|
35
35
|
ApolloFederationDriver,
|
|
36
36
|
ApolloFederationDriverConfig,
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AppEvents = void 0;
|
|
4
|
-
var AppEvents;
|
|
1
|
+
export var AppEvents;
|
|
5
2
|
(function (AppEvents) {
|
|
6
3
|
AppEvents["BEFORE_ALL_ROUTES"] = "app.before_all_routes";
|
|
7
4
|
AppEvents["AFTER_ALL_ROUTES"] = "app.after_all_routes";
|
|
8
5
|
AppEvents["BEFORE_GQL_CONTEXT_MIDDLEWARE"] = "app.before_gql_context_middleware";
|
|
9
|
-
})(AppEvents || (
|
|
6
|
+
})(AppEvents || (AppEvents = {}));
|
|
10
7
|
//# sourceMappingURL=app.events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.events.js","sourceRoot":"","sources":["app.events.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wDAA2C,CAAA;IAC3C,sDAAyC,CAAA;IACzC,gFAAmE,CAAA;AACrE,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClassType } from '@node-yalc/types/globals';
|
|
1
|
+
import { ClassType } from '@node-yalc/types/globals.js';
|
|
2
2
|
import { DynamicModule, Type } from '@nestjs/common';
|
|
3
3
|
import { BaseAppBootstrap, IGlobalOptions } from './app-bootstrap-base.helper.js';
|
|
4
4
|
export declare function isDynamicModule(module: any): module is DynamicModule;
|
|
@@ -7,9 +7,9 @@ export declare const executeFunctionForApp: (app: BaseAppBootstrap<any>, service
|
|
|
7
7
|
}, options: {
|
|
8
8
|
closeApp?: boolean;
|
|
9
9
|
}) => Promise<void>;
|
|
10
|
-
export declare const curriedExecuteStandaloneFunction: <TOptions extends IGlobalOptions>(module: any, options?: TOptions) => Promise<
|
|
10
|
+
export declare const curriedExecuteStandaloneFunction: <TOptions extends IGlobalOptions>(module: any, options?: TOptions) => Promise<(serviceType: any, fn: (service: any) => Promise<any>, executeOptions?: {
|
|
11
11
|
closeApp?: boolean;
|
|
12
|
-
}
|
|
12
|
+
}) => Promise<void>>;
|
|
13
13
|
export declare const executeStandaloneFunction: <TService, TOptions extends IGlobalOptions>(module: DynamicModule | Type<any>, serviceType: ClassType<TService>, fn: {
|
|
14
14
|
(service: TService): Promise<any>;
|
|
15
15
|
}, options?: TOptions, executeOptions?: {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { StandaloneAppBootstrap } from './app-bootstrap-standalone.helper.js';
|
|
2
|
+
import { curry } from 'lodash-es';
|
|
3
|
+
export function isDynamicModule(module) {
|
|
4
|
+
return module.module !== undefined;
|
|
5
|
+
}
|
|
6
|
+
export const executeFunctionForApp = async (app, serviceType, fn, options) => {
|
|
7
|
+
const nestApp = await app.getApp();
|
|
8
|
+
await nestApp.init();
|
|
9
|
+
const service = await nestApp.resolve(serviceType);
|
|
10
|
+
await fn(service).finally(async () => {
|
|
11
|
+
if (options.closeApp)
|
|
12
|
+
await app.closeApp();
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
export const curriedExecuteStandaloneFunction = async (module, options) => curry(executeFunctionForApp)(await new StandaloneAppBootstrap(isDynamicModule(module) ? module.module.name : module.name, module, options).initApp());
|
|
16
|
+
export const executeStandaloneFunction = async (module, serviceType, fn, options, executeOptions = {}) => {
|
|
17
|
+
return (await curriedExecuteStandaloneFunction(module, options))(serviceType, fn, executeOptions);
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=app.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.helper.js","sourceRoot":"","sources":["app.helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAMlC,MAAM,UAAU,eAAe,CAAC,MAAW;IACzC,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,GAA0B,EAC1B,WAAgB,EAChB,EAAoC,EACpC,OAA+B,EAChB,EAAE;IACjB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;IACnC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAErB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACnC,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAGnD,MAAW,EACX,OAAkB,EACyG,EAAE,CAC7H,KAAK,CAAC,qBAAqB,CAAC,CAC1B,MAAM,IAAI,sBAAsB,CAC9B,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAC1D,MAAM,EACN,OAAO,CACR,CAAC,OAAO,EAAE,CACL,CAAC;AASX,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAI5C,MAAiC,EACjC,WAAgC,EAChC,EAAyC,EACzC,OAAkB,EAClB,iBAAyC,EAAE,EAC3C,EAAE;IACF,OAAO,CAAC,MAAM,gCAAgC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAC9D,WAAW,EACX,EAAE,EACF,cAAc,CACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClassType } from '@node-yalc/types/globals';
|
|
1
|
+
import { ClassType } from '@node-yalc/types/globals.js';
|
|
2
2
|
import { DynamicModule, Type } from '@nestjs/common';
|
|
3
3
|
import { StandaloneAppBootstrap } from './app-bootstrap-standalone.helper.js';
|
|
4
4
|
import { curry } from 'lodash-es';
|
|
@@ -39,14 +39,14 @@ export const curriedExecuteStandaloneFunction = async <
|
|
|
39
39
|
>(
|
|
40
40
|
module: any,
|
|
41
41
|
options?: TOptions,
|
|
42
|
-
) =>
|
|
42
|
+
): Promise<(serviceType: any, fn: (service: any) => Promise<any>, executeOptions?: { closeApp?: boolean }) => Promise<void>> =>
|
|
43
43
|
curry(executeFunctionForApp)(
|
|
44
44
|
await new StandaloneAppBootstrap(
|
|
45
45
|
isDynamicModule(module) ? module.module.name : module.name,
|
|
46
46
|
module,
|
|
47
47
|
options,
|
|
48
48
|
).initApp(),
|
|
49
|
-
);
|
|
49
|
+
) as any;
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
*
|
|
@@ -4,7 +4,7 @@ import { IGlobalOptions } from './app-bootstrap-base.helper.js';
|
|
|
4
4
|
export declare function registerSingletonDynamicModule(isSingleton: boolean, moduleToken: any, module: any): any | true;
|
|
5
5
|
export declare function getCachedModule(module: any, isSingleton: boolean): any;
|
|
6
6
|
export declare function envFilePathList(dirname?: string): string[];
|
|
7
|
-
export declare const buildEnvFilePath: (
|
|
7
|
+
export declare const buildEnvFilePath: (envDir?: string, envPath?: string | string[]) => string[];
|
|
8
8
|
export declare function yalcBaseAppModuleMetadataFactory(module: any, appAlias: string, options?: Omit<IYalcBaseAppOptions, 'module'>): IYalcBaseStaticModule;
|
|
9
9
|
export declare class YalcBaseAppModule {
|
|
10
10
|
protected static _forRootStandalone(appAlias: string, options?: IYalcBaseAppOptions): IYalcBaseDynamicModule;
|
|
@@ -1,27 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const config_1 = require("@nestjs/config");
|
|
17
|
-
const joi_1 = tslib_1.__importDefault(require("joi"));
|
|
18
|
-
const index_js_1 = require("@nest-yalc-2/event-manager/index.js");
|
|
19
|
-
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
20
|
-
const cls_module_js_1 = require("./cls.module.js");
|
|
21
|
-
const _ = tslib_1.__importStar(require("lodash-es"));
|
|
22
|
-
const logger_helper_1 = require("@node-yalc/logger/logger.helper");
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { APP_ALIAS_TOKEN, APP_EVENT_SERVICE, APP_LOGGER_SERVICE, APP_OPTION_TOKEN, MAIN_APP_CONFIG_SERVICE, MODULE_ALIAS_TOKEN, MODULE_OPTION_TOKEN, SYSTEM_EVENT_SERVICE, SYSTEM_LOGGER_SERVICE, } from './def.const.js';
|
|
3
|
+
import { LifeCycleHandler } from './life-cycle-handler.service.js';
|
|
4
|
+
import { Global, Logger, Module } from '@nestjs/common';
|
|
5
|
+
import { LoggerServiceFactory } from '@nest-yalc-2/logger/logger.service.js';
|
|
6
|
+
import { AppConfigService, createAppConfigProvider, getAppConfigToken, getAppEventToken, getAppLoggerToken, } from './app-config.service.js';
|
|
7
|
+
import { AppContextModule } from './app-context.module.js';
|
|
8
|
+
import { NODE_ENV } from './global.enum.js';
|
|
9
|
+
import { ConfigModule, ConfigService, registerAs } from '@nestjs/config';
|
|
10
|
+
import Joi from 'joi';
|
|
11
|
+
import { EventModule } from '@nest-yalc-2/event-manager/index.js';
|
|
12
|
+
import { EventEmitter2, EventEmitterModule } from '@nestjs/event-emitter';
|
|
13
|
+
import { YalcClsModule } from './cls.module.js';
|
|
14
|
+
import * as _ from 'lodash-es';
|
|
15
|
+
import { getEnvLoggerLevels } from '@node-yalc/logger/logger.helper.js';
|
|
23
16
|
const singletonDynamicModules = new Map();
|
|
24
|
-
function registerSingletonDynamicModule(isSingleton, moduleToken, module) {
|
|
17
|
+
export function registerSingletonDynamicModule(isSingleton, moduleToken, module) {
|
|
25
18
|
if (!isSingleton) {
|
|
26
19
|
return false;
|
|
27
20
|
}
|
|
@@ -32,13 +25,13 @@ function registerSingletonDynamicModule(isSingleton, moduleToken, module) {
|
|
|
32
25
|
singletonDynamicModules.set(moduleToken, module);
|
|
33
26
|
return singletonDynamicModules.get(moduleToken);
|
|
34
27
|
}
|
|
35
|
-
function getCachedModule(module, isSingleton) {
|
|
28
|
+
export function getCachedModule(module, isSingleton) {
|
|
36
29
|
if (isSingleton) {
|
|
37
30
|
return singletonDynamicModules.get(module);
|
|
38
31
|
}
|
|
39
32
|
return null;
|
|
40
33
|
}
|
|
41
|
-
function envFilePathList(dirname = '.') {
|
|
34
|
+
export function envFilePathList(dirname = '.') {
|
|
42
35
|
const envFilePath = [];
|
|
43
36
|
envFilePath.push(`${dirname}/.env`);
|
|
44
37
|
if (process.env.NODE_ENV) {
|
|
@@ -51,19 +44,19 @@ function envFilePathList(dirname = '.') {
|
|
|
51
44
|
const _buildEnvFilePath = _.memoize((envDir, envPath) => {
|
|
52
45
|
const envFilePath = [];
|
|
53
46
|
if (!envPath) {
|
|
54
|
-
|
|
47
|
+
Logger.debug(`Loading env from: ${envDir}, NODE_ENV: ${process.env.NODE_ENV}`);
|
|
55
48
|
envFilePath.push(...envFilePathList(envDir));
|
|
56
49
|
}
|
|
57
50
|
else {
|
|
58
51
|
envFilePath.push(...(Array.isArray(envPath) ? envPath : [envPath]));
|
|
59
52
|
}
|
|
60
|
-
|
|
53
|
+
Logger.debug(`Using env file paths: ${envFilePath}`);
|
|
61
54
|
return envFilePath;
|
|
62
55
|
}, (envDir = '', envPath = '') => {
|
|
63
56
|
return `${envDir}-${Array.isArray(envPath) ? envPath.join(',') : envPath}`;
|
|
64
57
|
});
|
|
65
|
-
|
|
66
|
-
function yalcBaseAppModuleMetadataFactory(module, appAlias, options) {
|
|
58
|
+
export const buildEnvFilePath = _buildEnvFilePath;
|
|
59
|
+
export function yalcBaseAppModuleMetadataFactory(module, appAlias, options) {
|
|
67
60
|
const _options = {
|
|
68
61
|
isSingleton: false,
|
|
69
62
|
global: true,
|
|
@@ -76,39 +69,39 @@ function yalcBaseAppModuleMetadataFactory(module, appAlias, options) {
|
|
|
76
69
|
}
|
|
77
70
|
const _providers = [
|
|
78
71
|
{
|
|
79
|
-
provide:
|
|
72
|
+
provide: MODULE_ALIAS_TOKEN,
|
|
80
73
|
useValue: appAlias,
|
|
81
74
|
},
|
|
82
75
|
{
|
|
83
|
-
provide:
|
|
76
|
+
provide: MODULE_OPTION_TOKEN,
|
|
84
77
|
useValue: options,
|
|
85
78
|
},
|
|
86
79
|
{
|
|
87
|
-
provide:
|
|
80
|
+
provide: APP_EVENT_SERVICE,
|
|
88
81
|
useExisting: 'INTERNAL_APP_EVENT_SERVICE',
|
|
89
82
|
},
|
|
90
83
|
{
|
|
91
|
-
provide:
|
|
84
|
+
provide: getAppEventToken(appAlias),
|
|
92
85
|
useExisting: 'INTERNAL_APP_EVENT_SERVICE',
|
|
93
86
|
},
|
|
94
87
|
];
|
|
95
88
|
const logger = options?.logger;
|
|
96
89
|
if (logger) {
|
|
97
|
-
_providers.push((logger === true ?
|
|
90
|
+
_providers.push((logger === true ? LoggerServiceFactory : logger)(appAlias, APP_LOGGER_SERVICE, appAlias));
|
|
98
91
|
_providers.push({
|
|
99
|
-
provide:
|
|
100
|
-
useExisting:
|
|
92
|
+
provide: getAppLoggerToken(appAlias),
|
|
93
|
+
useExisting: APP_LOGGER_SERVICE,
|
|
101
94
|
});
|
|
102
95
|
}
|
|
103
96
|
const hasConfig = _options.extraConfigs || _options.configFactory;
|
|
104
97
|
if (hasConfig) {
|
|
105
|
-
_providers.push(
|
|
106
|
-
provide:
|
|
107
|
-
useExisting:
|
|
98
|
+
_providers.push(createAppConfigProvider(appAlias), {
|
|
99
|
+
provide: AppConfigService,
|
|
100
|
+
useExisting: getAppConfigToken(appAlias),
|
|
108
101
|
});
|
|
109
102
|
}
|
|
110
103
|
if (!_options.skipDuplicateAppCheck) {
|
|
111
|
-
_providers.push(
|
|
104
|
+
_providers.push(LifeCycleHandler);
|
|
112
105
|
}
|
|
113
106
|
if (providers) {
|
|
114
107
|
_providers.push(...providers);
|
|
@@ -116,47 +109,47 @@ function yalcBaseAppModuleMetadataFactory(module, appAlias, options) {
|
|
|
116
109
|
const _imports = [];
|
|
117
110
|
if (hasConfig) {
|
|
118
111
|
const envFilePath = _buildEnvFilePath(options?.envDir, options?.envPath);
|
|
119
|
-
_imports.push(YalcGlobalStaticModule, (options?.eventModuleClass ??
|
|
112
|
+
_imports.push(YalcGlobalStaticModule, (options?.eventModuleClass ?? EventModule).forRootAsync({
|
|
120
113
|
imports: [module],
|
|
121
114
|
loggerProvider: {
|
|
122
115
|
provide: 'INTERNAL_APP_LOGGER_SERVICE',
|
|
123
|
-
useExisting:
|
|
116
|
+
useExisting: getAppLoggerToken(appAlias),
|
|
124
117
|
},
|
|
125
118
|
eventServiceToken: 'INTERNAL_APP_EVENT_SERVICE',
|
|
126
119
|
eventEmitter: {
|
|
127
120
|
provide: 'INTERNAL_APP_EVENT_EMITTER',
|
|
128
|
-
useExisting:
|
|
121
|
+
useExisting: EventEmitter2,
|
|
129
122
|
},
|
|
130
|
-
}),
|
|
123
|
+
}), ConfigModule.forRoot({
|
|
131
124
|
envFilePath,
|
|
132
125
|
load: [
|
|
133
|
-
|
|
134
|
-
await
|
|
126
|
+
registerAs(appAlias, async () => {
|
|
127
|
+
await ConfigModule.envVariablesLoaded;
|
|
135
128
|
return await (_options.configFactory?.() ?? {});
|
|
136
129
|
}),
|
|
137
130
|
...(_options.extraConfigs ?? []),
|
|
138
131
|
],
|
|
139
|
-
validationSchema:
|
|
140
|
-
NODE_ENV:
|
|
141
|
-
.valid(
|
|
142
|
-
.default(
|
|
132
|
+
validationSchema: Joi.object({
|
|
133
|
+
NODE_ENV: Joi.string()
|
|
134
|
+
.valid(NODE_ENV.DEVELOPMENT, NODE_ENV.PRODUCTION, NODE_ENV.TEST, NODE_ENV.PIPELINE)
|
|
135
|
+
.default(NODE_ENV.DEVELOPMENT),
|
|
143
136
|
}),
|
|
144
137
|
validationOptions: {
|
|
145
138
|
allowUnknown: true,
|
|
146
139
|
abortEarly: true,
|
|
147
140
|
},
|
|
148
141
|
isGlobal: true,
|
|
149
|
-
}),
|
|
142
|
+
}), YalcClsModule);
|
|
150
143
|
}
|
|
151
144
|
if (imports) {
|
|
152
145
|
_imports.push(...imports);
|
|
153
146
|
}
|
|
154
|
-
const _exports = [
|
|
147
|
+
const _exports = [getAppEventToken(appAlias)];
|
|
155
148
|
if (options?.logger) {
|
|
156
|
-
_exports.push(
|
|
149
|
+
_exports.push(getAppLoggerToken(appAlias));
|
|
157
150
|
}
|
|
158
151
|
if (hasConfig) {
|
|
159
|
-
_exports.push(
|
|
152
|
+
_exports.push(getAppConfigToken(appAlias));
|
|
160
153
|
}
|
|
161
154
|
if (exports) {
|
|
162
155
|
_exports.push(...exports);
|
|
@@ -177,7 +170,7 @@ function yalcBaseAppModuleMetadataFactory(module, appAlias, options) {
|
|
|
177
170
|
registerSingletonDynamicModule(_options.isSingleton, module, config);
|
|
178
171
|
return config;
|
|
179
172
|
}
|
|
180
|
-
class YalcBaseAppModule {
|
|
173
|
+
export class YalcBaseAppModule {
|
|
181
174
|
static _forRootStandalone(appAlias, options) {
|
|
182
175
|
return this.assignDynamicProperties(yalcBaseAppModuleMetadataFactory(this, appAlias, {
|
|
183
176
|
isStandalone: true,
|
|
@@ -199,11 +192,10 @@ class YalcBaseAppModule {
|
|
|
199
192
|
return config;
|
|
200
193
|
}
|
|
201
194
|
}
|
|
202
|
-
exports.YalcBaseAppModule = YalcBaseAppModule;
|
|
203
195
|
function yalcGlobalStaticModuleFactory() {
|
|
204
196
|
return {
|
|
205
197
|
imports: [
|
|
206
|
-
|
|
198
|
+
EventEmitterModule.forRoot({
|
|
207
199
|
global: true,
|
|
208
200
|
maxListeners: 1000,
|
|
209
201
|
wildcard: true,
|
|
@@ -213,64 +205,64 @@ function yalcGlobalStaticModuleFactory() {
|
|
|
213
205
|
}
|
|
214
206
|
let YalcGlobalStaticModule = class YalcGlobalStaticModule {
|
|
215
207
|
};
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
(
|
|
219
|
-
(0, common_1.Module)(yalcGlobalStaticModuleFactory())
|
|
208
|
+
YalcGlobalStaticModule = __decorate([
|
|
209
|
+
Global(),
|
|
210
|
+
Module(yalcGlobalStaticModuleFactory())
|
|
220
211
|
], YalcGlobalStaticModule);
|
|
221
|
-
|
|
212
|
+
export { YalcGlobalStaticModule };
|
|
213
|
+
export class YalcDefaultAppModule {
|
|
222
214
|
static forRoot(appAlias, imports, options) {
|
|
223
215
|
const _imports = [
|
|
224
216
|
YalcGlobalStaticModule,
|
|
225
|
-
(options?.eventModuleClass ??
|
|
217
|
+
(options?.eventModuleClass ?? EventModule).forRootAsync({
|
|
226
218
|
loggerProvider: {
|
|
227
219
|
provide: 'INTERNAL_SYSTEM_LOGGER_SERVICE',
|
|
228
|
-
useExisting:
|
|
220
|
+
useExisting: SYSTEM_LOGGER_SERVICE,
|
|
229
221
|
},
|
|
230
222
|
eventServiceToken: 'INTERNAL_SYSTEM_EVENT_SERVICE',
|
|
231
223
|
}),
|
|
232
|
-
|
|
233
|
-
|
|
224
|
+
AppContextModule,
|
|
225
|
+
YalcClsModule,
|
|
234
226
|
...imports,
|
|
235
227
|
];
|
|
236
228
|
const providers = [
|
|
237
229
|
{
|
|
238
|
-
provide:
|
|
230
|
+
provide: APP_ALIAS_TOKEN,
|
|
239
231
|
useValue: appAlias,
|
|
240
232
|
},
|
|
241
233
|
{
|
|
242
|
-
provide:
|
|
234
|
+
provide: APP_OPTION_TOKEN,
|
|
243
235
|
useValue: options,
|
|
244
236
|
},
|
|
245
237
|
];
|
|
246
238
|
providers.push({
|
|
247
|
-
provide:
|
|
239
|
+
provide: SYSTEM_LOGGER_SERVICE,
|
|
248
240
|
useFactory: (configService, eventEmitter) => {
|
|
249
|
-
const loggerFactory = options?.logger ??
|
|
250
|
-
return loggerFactory(appAlias,
|
|
241
|
+
const loggerFactory = options?.logger ?? LoggerServiceFactory;
|
|
242
|
+
return loggerFactory(appAlias, SYSTEM_LOGGER_SERVICE, appAlias, {
|
|
251
243
|
event: {
|
|
252
244
|
eventEmitter: eventEmitter,
|
|
253
245
|
},
|
|
254
|
-
overrideLoggerLevels:
|
|
246
|
+
overrideLoggerLevels: getEnvLoggerLevels(),
|
|
255
247
|
}).useFactory(configService, eventEmitter);
|
|
256
248
|
},
|
|
257
|
-
inject: [
|
|
249
|
+
inject: [MAIN_APP_CONFIG_SERVICE, EventEmitter2],
|
|
258
250
|
}, {
|
|
259
|
-
provide:
|
|
251
|
+
provide: MAIN_APP_CONFIG_SERVICE,
|
|
260
252
|
useFactory: (config) => {
|
|
261
|
-
return new
|
|
253
|
+
return new AppConfigService(config, appAlias);
|
|
262
254
|
},
|
|
263
|
-
inject: [
|
|
255
|
+
inject: [ConfigService],
|
|
264
256
|
}, {
|
|
265
|
-
provide:
|
|
257
|
+
provide: SYSTEM_EVENT_SERVICE,
|
|
266
258
|
useExisting: 'INTERNAL_SYSTEM_EVENT_SERVICE',
|
|
267
259
|
});
|
|
268
260
|
const exports = [
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
261
|
+
APP_OPTION_TOKEN,
|
|
262
|
+
APP_ALIAS_TOKEN,
|
|
263
|
+
SYSTEM_LOGGER_SERVICE,
|
|
264
|
+
SYSTEM_EVENT_SERVICE,
|
|
265
|
+
MAIN_APP_CONFIG_SERVICE,
|
|
274
266
|
];
|
|
275
267
|
return {
|
|
276
268
|
exports,
|
|
@@ -281,5 +273,4 @@ class YalcDefaultAppModule {
|
|
|
281
273
|
};
|
|
282
274
|
}
|
|
283
275
|
}
|
|
284
|
-
exports.YalcDefaultAppModule = YalcDefaultAppModule;
|
|
285
276
|
//# sourceMappingURL=base-app-module.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-app-module.helper.js","sourceRoot":"","sources":["base-app-module.helper.ts"],"names":[],"mappings":"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"}
|