opticore-webapp 1.0.43 → 1.0.44
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/dist/index.cjs +48 -55
- package/dist/index.d.cts +2 -4
- package/dist/index.d.ts +2 -4
- package/dist/index.js +77 -86
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -30,7 +30,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/index.ts
|
|
31
31
|
var index_exports = {};
|
|
32
32
|
__export(index_exports, {
|
|
33
|
-
UStopServer: () => UStopServer,
|
|
34
33
|
WebServer: () => WebServerCore,
|
|
35
34
|
envPath: () => envPath
|
|
36
35
|
});
|
|
@@ -197,29 +196,32 @@ var import_opticore_translator2 = require("opticore-translator");
|
|
|
197
196
|
|
|
198
197
|
// src/application/service/logger.service.ts
|
|
199
198
|
var import_opticore_logger = require("opticore-logger");
|
|
200
|
-
var SLogger = () => {
|
|
201
|
-
return new import_opticore_logger.LoggerCore();
|
|
199
|
+
var SLogger = (environnementPath) => {
|
|
200
|
+
return new import_opticore_logger.LoggerCore(loggerConfig(environnementPath));
|
|
202
201
|
};
|
|
203
202
|
|
|
204
203
|
// src/core/config/loaders/translateLanguage.loader.ts
|
|
205
204
|
var import_opticore_http_response = require("opticore-http-response");
|
|
206
205
|
var TranslateWebAppCoreLanguageLoader = class {
|
|
207
|
-
translateLanguageLoader(localLang) {
|
|
206
|
+
translateLanguageLoader(localLang, environnementPath) {
|
|
208
207
|
try {
|
|
209
208
|
const require2 = (0, import_module.createRequire)(importMetaUrl);
|
|
210
209
|
const packagePath = import_path.default.dirname(require2.resolve("opticore-webapp"));
|
|
211
210
|
const translateMsgJsonFilePath = import_path.default.join(packagePath, "utils", "translations");
|
|
212
211
|
import_opticore_translator2.TranslationLoader.loadTranslations(translateMsgJsonFilePath);
|
|
213
212
|
} catch (error) {
|
|
214
|
-
SLogger().error(
|
|
215
|
-
import_opticore_translator2.TranslationLoader.t(error.message, localLang),
|
|
216
|
-
import_opticore_translator2.TranslationLoader.t("readdir", localLang),
|
|
217
|
-
import_opticore_translator2.TranslationLoader.t("ENOENT:NoSuchFileOrDir", localLang),
|
|
218
|
-
error.stack,
|
|
219
|
-
import_opticore_http_response.HttpStatusCode.INTERNAL_SERVER_ERROR
|
|
220
|
-
);
|
|
213
|
+
SLogger(environnementPath).error(this.handleError(error, localLang));
|
|
221
214
|
}
|
|
222
215
|
}
|
|
216
|
+
handleError(error, localLang) {
|
|
217
|
+
return {
|
|
218
|
+
message: import_opticore_translator2.TranslationLoader.t(error.message, localLang),
|
|
219
|
+
title: import_opticore_translator2.TranslationLoader.t("readdir", localLang),
|
|
220
|
+
errorType: import_opticore_translator2.TranslationLoader.t("ENOENT:NoSuchFileOrDir", localLang),
|
|
221
|
+
stackTrace: error.stack,
|
|
222
|
+
httpCodeValue: import_opticore_http_response.HttpStatusCode.INTERNAL_SERVER_ERROR
|
|
223
|
+
};
|
|
224
|
+
}
|
|
223
225
|
};
|
|
224
226
|
|
|
225
227
|
// src/core/helpers/container.utils.ts
|
|
@@ -295,7 +297,7 @@ var CoreService = class {
|
|
|
295
297
|
* and Memory usage system
|
|
296
298
|
*/
|
|
297
299
|
getUsageMemory() {
|
|
298
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
300
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
299
301
|
const memoryData = import_node_process2.default.memoryUsage();
|
|
300
302
|
const data = {
|
|
301
303
|
[import_opticore_translator3.TranslationLoader.t("totalMemoryAllocated", this.localLanguage)]: this.formatMemoryUsage(memoryData.rss),
|
|
@@ -355,7 +357,7 @@ var CoreService = class {
|
|
|
355
357
|
* Return string
|
|
356
358
|
*/
|
|
357
359
|
getServerRunningMode(development, production) {
|
|
358
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
360
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
359
361
|
this.getEnvFileLoading(".env");
|
|
360
362
|
const env = (0, import_opticore_env_access2.getEnvironnementValue)(path2.join(envPath));
|
|
361
363
|
const isDevelopment = env.devEnv === development && env.prodEnv === "";
|
|
@@ -368,7 +370,7 @@ var CoreService = class {
|
|
|
368
370
|
}
|
|
369
371
|
}
|
|
370
372
|
infoServer(nodeVersion, startingTime, host, port) {
|
|
371
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
373
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
372
374
|
const getEnvironnement = (0, import_opticore_env_access2.getEnvironnementValue)(this.environnementPath);
|
|
373
375
|
const msg5 = getEnvironnement.protocolTransfert === "" ? `${import_ansi_colors3.default.underline(`http://${host}:${port}`)}` : `${import_ansi_colors3.default.underline(`${getEnvironnement.protocolTransfert}://${host}:${port}`)}`;
|
|
374
376
|
const messages = [
|
|
@@ -393,7 +395,7 @@ var CoreService = class {
|
|
|
393
395
|
console.log("\n");
|
|
394
396
|
}
|
|
395
397
|
coreListenerEventLoaderModuleService(kernelModule) {
|
|
396
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
398
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
397
399
|
let router = [];
|
|
398
400
|
let dbCon;
|
|
399
401
|
kernelModule.forEach((module2) => {
|
|
@@ -423,18 +425,30 @@ var CoreService = class {
|
|
|
423
425
|
// src/application/service/serverStartError.service.ts
|
|
424
426
|
var import_opticore_catch_exception_error3 = require("opticore-catch-exception-error");
|
|
425
427
|
var import_opticore_http_response3 = require("opticore-http-response");
|
|
426
|
-
var SServerStartError = (err) => {
|
|
428
|
+
var SServerStartError = (err, environnementPath) => {
|
|
427
429
|
if (err.name) {
|
|
428
430
|
for (const [key, code] of Object.entries(import_opticore_catch_exception_error3.CErrorName)) {
|
|
429
431
|
if (err.name === code) {
|
|
430
|
-
SLogger().error(
|
|
432
|
+
SLogger(environnementPath).error({
|
|
433
|
+
message: err.message,
|
|
434
|
+
title: code,
|
|
435
|
+
errorType: code,
|
|
436
|
+
stackTrace: err.stack,
|
|
437
|
+
httpCodeValue: import_opticore_http_response3.HttpStatusCode.INTERNAL_SERVER_ERROR
|
|
438
|
+
});
|
|
431
439
|
break;
|
|
432
440
|
}
|
|
433
441
|
}
|
|
434
442
|
} else {
|
|
435
443
|
for (const [key, code] of Object.entries(import_opticore_catch_exception_error3.CCodeError)) {
|
|
436
444
|
if (err.code === code) {
|
|
437
|
-
SLogger().error(
|
|
445
|
+
SLogger(environnementPath).error({
|
|
446
|
+
message: err.message,
|
|
447
|
+
title: code,
|
|
448
|
+
errorType: key,
|
|
449
|
+
stackTrace: err.stack,
|
|
450
|
+
httpCodeValue: import_opticore_http_response3.HttpStatusCode.INTERNAL_SERVER_ERROR
|
|
451
|
+
});
|
|
438
452
|
break;
|
|
439
453
|
}
|
|
440
454
|
}
|
|
@@ -461,7 +475,7 @@ var WebServerCore = class {
|
|
|
461
475
|
constructor(app, loggerConfig2, localLanguage, environnementPath, corsOriginOptions) {
|
|
462
476
|
containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
|
|
463
477
|
this.translateWebAppCoreLanguageLoader = Inject("TranslateWebAppCoreLanguageLoader");
|
|
464
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage);
|
|
478
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage, environnementPath);
|
|
465
479
|
this.stackTraceErrorHandling(localLanguage);
|
|
466
480
|
this.getEnvironnement = (0, import_opticore_env_access3.getEnvironnementValue)(environnementPath);
|
|
467
481
|
this.routerExpressApp = app;
|
|
@@ -484,41 +498,41 @@ var WebServerCore = class {
|
|
|
484
498
|
});
|
|
485
499
|
this.dependenciesRegistered = true;
|
|
486
500
|
}
|
|
487
|
-
onStartServer(routers, dependenciesProvider) {
|
|
488
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
489
|
-
const mySQL = new import_opticore_mysqldb.OptiCoreMySQLDriver(
|
|
490
|
-
if (this.getEnvironnement.
|
|
501
|
+
onStartServer(routers, dependenciesProvider, optionalArgumentConnection) {
|
|
502
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
503
|
+
const mySQL = new import_opticore_mysqldb.OptiCoreMySQLDriver(this.getEnvironnement, this.localLanguage);
|
|
504
|
+
if (this.getEnvironnement.appPort === "" && Number(this.getEnvironnement.appPort) === 0) {
|
|
491
505
|
this.serverListenEvent.hostPortUndefined(Number(this.getEnvironnement.appPort));
|
|
492
506
|
} else if (this.getEnvironnement.appHost === "") {
|
|
493
507
|
this.serverListenEvent.hostUndefined(this.getEnvironnement.appHost);
|
|
494
508
|
} else if (Number(this.getEnvironnement.appPort) === 0) {
|
|
495
509
|
this.serverListenEvent.portUndefined();
|
|
496
510
|
} else if (this.localLanguage === "") {
|
|
497
|
-
SLogger().error(
|
|
498
|
-
import_opticore_translator4.TranslationLoader.t("noDefaultLocalLang", this.localLanguage),
|
|
499
|
-
import_opticore_translator4.TranslationLoader.t("noLocalLang", this.localLanguage),
|
|
500
|
-
import_opticore_translator4.TranslationLoader.t("localLangMissing", this.localLanguage),
|
|
501
|
-
void 0,
|
|
502
|
-
import_opticore_http_response4.HttpStatusCode.NOT_FOUND
|
|
503
|
-
);
|
|
511
|
+
SLogger(this.environnementPath).error({
|
|
512
|
+
message: import_opticore_translator4.TranslationLoader.t("noDefaultLocalLang", this.localLanguage),
|
|
513
|
+
title: import_opticore_translator4.TranslationLoader.t("noLocalLang", this.localLanguage),
|
|
514
|
+
errorType: import_opticore_translator4.TranslationLoader.t("localLangMissing", this.localLanguage),
|
|
515
|
+
stackTrace: void 0,
|
|
516
|
+
httpCodeValue: import_opticore_http_response4.HttpStatusCode.NOT_FOUND
|
|
517
|
+
});
|
|
504
518
|
} else {
|
|
505
519
|
return this.expressApp.listen(
|
|
506
520
|
Number(this.getEnvironnement.appPort),
|
|
507
521
|
() => {
|
|
508
522
|
try {
|
|
509
|
-
mySQL.databaseConnexionChecker(
|
|
523
|
+
mySQL.databaseConnexionChecker(this.getEnvironnement, optionalArgumentConnection);
|
|
510
524
|
new import_opticore_inject_dependency.SContainer(dependenciesProvider, this.localLanguage);
|
|
511
525
|
this.expressApp.use(import_opticore_express2.express.static(path3.join(import_node_process3.default.cwd(), "public/template")));
|
|
512
526
|
this.registerRoutes(routers);
|
|
513
527
|
} catch (err) {
|
|
514
|
-
SServerStartError(err);
|
|
528
|
+
SServerStartError(err, this.environnementPath);
|
|
515
529
|
}
|
|
516
530
|
}
|
|
517
531
|
);
|
|
518
532
|
}
|
|
519
533
|
}
|
|
520
534
|
onListeningOnServerEvent(serverWeb) {
|
|
521
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
535
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
522
536
|
serverWeb.on(import_opticore_catch_exception_error4.CEventNameError.error, (err) => {
|
|
523
537
|
this.serverListenEvent.onEventError(err);
|
|
524
538
|
}).on(import_opticore_catch_exception_error4.CEventNameError.close, () => {
|
|
@@ -530,7 +544,7 @@ var WebServerCore = class {
|
|
|
530
544
|
});
|
|
531
545
|
}
|
|
532
546
|
onRequestOnServerEvent(serverWeb) {
|
|
533
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
547
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
534
548
|
serverWeb.on(import_opticore_catch_exception_error4.CEventNameError.request, (req, res) => {
|
|
535
549
|
(0, import_opticore_request_call_event.requestCallsEvent)(
|
|
536
550
|
req,
|
|
@@ -562,29 +576,8 @@ var WebServerCore = class {
|
|
|
562
576
|
);
|
|
563
577
|
}
|
|
564
578
|
};
|
|
565
|
-
|
|
566
|
-
// src/utils/stopServer.utils.ts
|
|
567
|
-
var import_dotenv = __toESM(require("dotenv"), 1);
|
|
568
|
-
var import_child_process = require("child_process");
|
|
569
|
-
var import_opticore_translator5 = require("opticore-translator");
|
|
570
|
-
var UStopServer = () => {
|
|
571
|
-
import_dotenv.default.config();
|
|
572
|
-
const port = process.env.PORT;
|
|
573
|
-
try {
|
|
574
|
-
const pid = (0, import_child_process.execSync)(`lsof -i :${port} -t`, { encoding: "utf-8" }).trim();
|
|
575
|
-
if (pid) {
|
|
576
|
-
(0, import_child_process.execSync)(`kill ${pid}`);
|
|
577
|
-
SLogger().success("serverPortKill", import_opticore_translator5.TranslationLoader.t("serverPortKill", "en", { port }));
|
|
578
|
-
} else {
|
|
579
|
-
SLogger().warn("pidOnPortNotFound", import_opticore_translator5.TranslationLoader.t("pidOnPortNotFound", "en", { port }));
|
|
580
|
-
}
|
|
581
|
-
} catch (error) {
|
|
582
|
-
SLogger().error("noProcessRunningOnPort", import_opticore_translator5.TranslationLoader.t("noProcessRunningOnPort", "en", { port }));
|
|
583
|
-
}
|
|
584
|
-
};
|
|
585
579
|
// Annotate the CommonJS export names for ESM import in node:
|
|
586
580
|
0 && (module.exports = {
|
|
587
|
-
UStopServer,
|
|
588
581
|
WebServer,
|
|
589
582
|
envPath
|
|
590
583
|
});
|
package/dist/index.d.cts
CHANGED
|
@@ -26,7 +26,7 @@ declare class WebServerCore {
|
|
|
26
26
|
private static dependenciesRegistered;
|
|
27
27
|
constructor(app: express.Application, loggerConfig: LoggerCore, localLanguage: string, environnementPath: any, corsOriginOptions?: Partial<CorsOptions>);
|
|
28
28
|
static registerDependencies(dependencies: Map<TDependencyKey, any>): void;
|
|
29
|
-
onStartServer(routers: TFeatureRoutes[], dependenciesProvider?: TDependency[]): any;
|
|
29
|
+
onStartServer(routers: TFeatureRoutes[], dependenciesProvider?: TDependency[], optionalArgumentConnection?: string | any): any;
|
|
30
30
|
onListeningOnServerEvent(serverWeb: Server): void;
|
|
31
31
|
onRequestOnServerEvent(serverWeb: Server): void;
|
|
32
32
|
private registerRoutes;
|
|
@@ -36,12 +36,10 @@ declare class WebServerCore {
|
|
|
36
36
|
|
|
37
37
|
declare const envPath: string;
|
|
38
38
|
|
|
39
|
-
declare const UStopServer: () => void;
|
|
40
|
-
|
|
41
39
|
type TFeatureRouteDefinition = {
|
|
42
40
|
featureRoute: IRouteDefinition[];
|
|
43
41
|
};
|
|
44
42
|
|
|
45
43
|
type KernelModuleType = [TFeatureRouteDefinition[], () => void];
|
|
46
44
|
|
|
47
|
-
export { type IRouteDefinition, type KernelModuleType, type TFeatureRoutes,
|
|
45
|
+
export { type IRouteDefinition, type KernelModuleType, type TFeatureRoutes, WebServerCore as WebServer, envPath };
|
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ declare class WebServerCore {
|
|
|
26
26
|
private static dependenciesRegistered;
|
|
27
27
|
constructor(app: express.Application, loggerConfig: LoggerCore, localLanguage: string, environnementPath: any, corsOriginOptions?: Partial<CorsOptions>);
|
|
28
28
|
static registerDependencies(dependencies: Map<TDependencyKey, any>): void;
|
|
29
|
-
onStartServer(routers: TFeatureRoutes[], dependenciesProvider?: TDependency[]): any;
|
|
29
|
+
onStartServer(routers: TFeatureRoutes[], dependenciesProvider?: TDependency[], optionalArgumentConnection?: string | any): any;
|
|
30
30
|
onListeningOnServerEvent(serverWeb: Server): void;
|
|
31
31
|
onRequestOnServerEvent(serverWeb: Server): void;
|
|
32
32
|
private registerRoutes;
|
|
@@ -36,12 +36,10 @@ declare class WebServerCore {
|
|
|
36
36
|
|
|
37
37
|
declare const envPath: string;
|
|
38
38
|
|
|
39
|
-
declare const UStopServer: () => void;
|
|
40
|
-
|
|
41
39
|
type TFeatureRouteDefinition = {
|
|
42
40
|
featureRoute: IRouteDefinition[];
|
|
43
41
|
};
|
|
44
42
|
|
|
45
43
|
type KernelModuleType = [TFeatureRouteDefinition[], () => void];
|
|
46
44
|
|
|
47
|
-
export { type IRouteDefinition, type KernelModuleType, type TFeatureRoutes,
|
|
45
|
+
export { type IRouteDefinition, type KernelModuleType, type TFeatureRoutes, WebServerCore as WebServer, envPath };
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
// src/core/webServer.core.ts
|
|
2
2
|
import * as path3 from "path";
|
|
3
|
-
import
|
|
3
|
+
import process4 from "node:process";
|
|
4
4
|
import corsOrigin from "cors";
|
|
5
|
-
import {
|
|
6
|
-
CEventNameError as eventName2,
|
|
7
|
-
ServerListenEventError as ServerListenEventError2
|
|
8
|
-
} from "opticore-catch-exception-error";
|
|
5
|
+
import { CEventNameError as eventName2, ServerListenEventError as ServerListenEventError2 } from "opticore-catch-exception-error";
|
|
9
6
|
import { express as express2 } from "opticore-express";
|
|
10
7
|
import { getEnvironnementValue as getEnvironnementValue3 } from "opticore-env-access";
|
|
11
8
|
|
|
12
9
|
// src/core/handlers/eventProcess.handler.ts
|
|
13
|
-
import
|
|
10
|
+
import process from "node:process";
|
|
14
11
|
import EventEmitter from "node:events";
|
|
15
12
|
import { express } from "opticore-express";
|
|
16
13
|
import {
|
|
@@ -25,42 +22,42 @@ function eventProcessHandler(localeLanguage) {
|
|
|
25
22
|
errorEmitter.on(eventName.error, (error) => {
|
|
26
23
|
serverListenEvent.listenerError(error);
|
|
27
24
|
});
|
|
28
|
-
|
|
25
|
+
process.on(event.beforeExit, (code) => {
|
|
29
26
|
setTimeout(() => {
|
|
30
27
|
serverListenEvent.processBeforeExit(code);
|
|
31
28
|
}, 100);
|
|
32
29
|
});
|
|
33
|
-
|
|
30
|
+
process.on(event.disconnect, () => {
|
|
34
31
|
serverListenEvent.processDisconnected();
|
|
35
32
|
});
|
|
36
|
-
|
|
33
|
+
process.on(event.exit, (code) => {
|
|
37
34
|
serverListenEvent.exited(code);
|
|
38
35
|
});
|
|
39
|
-
|
|
36
|
+
process.on(event.rejectionHandled, (promise) => {
|
|
40
37
|
serverListenEvent.promiseRejectionHandled(promise);
|
|
41
38
|
});
|
|
42
|
-
|
|
39
|
+
process.on(event.uncaughtException, (error) => {
|
|
43
40
|
serverListenEvent.uncaughtException(error);
|
|
44
41
|
});
|
|
45
|
-
|
|
42
|
+
process.on(event.uncaughtExceptionMonitor, (error) => {
|
|
46
43
|
serverListenEvent.uncaughtExceptionMonitor(error);
|
|
47
44
|
});
|
|
48
|
-
|
|
45
|
+
process.on(event.unhandledRejection, (reason, promise) => {
|
|
49
46
|
serverListenEvent.unhandledRejection(reason, promise);
|
|
50
47
|
});
|
|
51
|
-
|
|
48
|
+
process.on(event.warning, (warning) => {
|
|
52
49
|
serverListenEvent.warning(warning);
|
|
53
50
|
});
|
|
54
|
-
|
|
51
|
+
process.on(event.message, (message) => {
|
|
55
52
|
serverListenEvent.message(message);
|
|
56
53
|
});
|
|
57
|
-
|
|
54
|
+
process.on(event.multipleResolves, (type, promise, reason) => {
|
|
58
55
|
serverListenEvent.multipleResolves(type, promise, reason);
|
|
59
56
|
});
|
|
60
|
-
|
|
57
|
+
process.on(event.sigint, () => {
|
|
61
58
|
serverListenEvent.processInterrupted();
|
|
62
59
|
});
|
|
63
|
-
|
|
60
|
+
process.on(event.sigterm, (signal) => {
|
|
64
61
|
serverListenEvent.sigtermSignalReceived(signal);
|
|
65
62
|
});
|
|
66
63
|
app.use((err, req, res, next) => {
|
|
@@ -69,7 +66,7 @@ function eventProcessHandler(localeLanguage) {
|
|
|
69
66
|
}
|
|
70
67
|
|
|
71
68
|
// src/application/service/core.service.ts
|
|
72
|
-
import
|
|
69
|
+
import process3 from "node:process";
|
|
73
70
|
import chalk from "chalk";
|
|
74
71
|
import * as path2 from "path";
|
|
75
72
|
import * as fs from "fs";
|
|
@@ -162,29 +159,32 @@ import { TranslationLoader as TranslationLoader2 } from "opticore-translator";
|
|
|
162
159
|
|
|
163
160
|
// src/application/service/logger.service.ts
|
|
164
161
|
import { LoggerCore } from "opticore-logger";
|
|
165
|
-
var SLogger = () => {
|
|
166
|
-
return new LoggerCore();
|
|
162
|
+
var SLogger = (environnementPath) => {
|
|
163
|
+
return new LoggerCore(loggerConfig(environnementPath));
|
|
167
164
|
};
|
|
168
165
|
|
|
169
166
|
// src/core/config/loaders/translateLanguage.loader.ts
|
|
170
167
|
import { HttpStatusCode } from "opticore-http-response";
|
|
171
168
|
var TranslateWebAppCoreLanguageLoader = class {
|
|
172
|
-
translateLanguageLoader(localLang) {
|
|
169
|
+
translateLanguageLoader(localLang, environnementPath) {
|
|
173
170
|
try {
|
|
174
171
|
const require2 = createRequire(import.meta.url);
|
|
175
172
|
const packagePath = path.dirname(require2.resolve("opticore-webapp"));
|
|
176
173
|
const translateMsgJsonFilePath = path.join(packagePath, "utils", "translations");
|
|
177
174
|
TranslationLoader2.loadTranslations(translateMsgJsonFilePath);
|
|
178
175
|
} catch (error) {
|
|
179
|
-
SLogger().error(
|
|
180
|
-
TranslationLoader2.t(error.message, localLang),
|
|
181
|
-
TranslationLoader2.t("readdir", localLang),
|
|
182
|
-
TranslationLoader2.t("ENOENT:NoSuchFileOrDir", localLang),
|
|
183
|
-
error.stack,
|
|
184
|
-
HttpStatusCode.INTERNAL_SERVER_ERROR
|
|
185
|
-
);
|
|
176
|
+
SLogger(environnementPath).error(this.handleError(error, localLang));
|
|
186
177
|
}
|
|
187
178
|
}
|
|
179
|
+
handleError(error, localLang) {
|
|
180
|
+
return {
|
|
181
|
+
message: TranslationLoader2.t(error.message, localLang),
|
|
182
|
+
title: TranslationLoader2.t("readdir", localLang),
|
|
183
|
+
errorType: TranslationLoader2.t("ENOENT:NoSuchFileOrDir", localLang),
|
|
184
|
+
stackTrace: error.stack,
|
|
185
|
+
httpCodeValue: HttpStatusCode.INTERNAL_SERVER_ERROR
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
188
|
};
|
|
189
189
|
|
|
190
190
|
// src/core/helpers/container.utils.ts
|
|
@@ -210,8 +210,8 @@ function Inject(key) {
|
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
// src/utils/envPath.utils.ts
|
|
213
|
-
import
|
|
214
|
-
var envPath =
|
|
213
|
+
import process2 from "process";
|
|
214
|
+
var envPath = process2.cwd() + "/config/env/.env";
|
|
215
215
|
|
|
216
216
|
// src/application/service/core.service.ts
|
|
217
217
|
var CoreService = class {
|
|
@@ -240,7 +240,7 @@ var CoreService = class {
|
|
|
240
240
|
* Returns an Object containing a node version, openssl, and v0
|
|
241
241
|
*/
|
|
242
242
|
getVersions() {
|
|
243
|
-
const { node, openssl, v8 } =
|
|
243
|
+
const { node, openssl, v8 } = process3.versions;
|
|
244
244
|
const data = {
|
|
245
245
|
"node version": node,
|
|
246
246
|
"openssl": openssl,
|
|
@@ -260,15 +260,15 @@ var CoreService = class {
|
|
|
260
260
|
* and Memory usage system
|
|
261
261
|
*/
|
|
262
262
|
getUsageMemory() {
|
|
263
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
264
|
-
const memoryData =
|
|
263
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
264
|
+
const memoryData = process3.memoryUsage();
|
|
265
265
|
const data = {
|
|
266
266
|
[TranslationLoader3.t("totalMemoryAllocated", this.localLanguage)]: this.formatMemoryUsage(memoryData.rss),
|
|
267
267
|
[TranslationLoader3.t("sizeAllocatedHeap", this.localLanguage)]: this.formatMemoryUsage(memoryData.heapTotal),
|
|
268
268
|
[TranslationLoader3.t("memoryUsedExecution", this.localLanguage)]: this.formatMemoryUsage(memoryData.heapUsed),
|
|
269
269
|
[TranslationLoader3.t("externalMemory", this.localLanguage)]: this.formatMemoryUsage(memoryData.external),
|
|
270
|
-
[TranslationLoader3.t("memoryUsageUser", this.localLanguage)]: this.formatMemoryUsage(
|
|
271
|
-
[TranslationLoader3.t("memoryUsageSystem", this.localLanguage)]: this.formatMemoryUsage(
|
|
270
|
+
[TranslationLoader3.t("memoryUsageUser", this.localLanguage)]: this.formatMemoryUsage(process3.cpuUsage().user),
|
|
271
|
+
[TranslationLoader3.t("memoryUsageSystem", this.localLanguage)]: this.formatMemoryUsage(process3.cpuUsage().system)
|
|
272
272
|
};
|
|
273
273
|
return {
|
|
274
274
|
"rss": data[TranslationLoader3.t("totalMemoryAllocated", this.localLanguage)],
|
|
@@ -283,11 +283,11 @@ var CoreService = class {
|
|
|
283
283
|
* Return an Object containing a project path and running server time
|
|
284
284
|
*/
|
|
285
285
|
getProjectInfo() {
|
|
286
|
-
const startTime =
|
|
287
|
-
const endTime =
|
|
286
|
+
const startTime = process3.hrtime();
|
|
287
|
+
const endTime = process3.hrtime(startTime);
|
|
288
288
|
const executionTime = (endTime[0] * 1e9 + endTime[1]) / 1e6;
|
|
289
289
|
return {
|
|
290
|
-
"projectPath": path2.join(
|
|
290
|
+
"projectPath": path2.join(process3.cwd()),
|
|
291
291
|
"startingTime": `${executionTime.toFixed(5)} ms`
|
|
292
292
|
};
|
|
293
293
|
}
|
|
@@ -299,7 +299,7 @@ var CoreService = class {
|
|
|
299
299
|
* Return void
|
|
300
300
|
*/
|
|
301
301
|
getEnvFileLoading(filePath) {
|
|
302
|
-
const fullPath = path2.resolve(
|
|
302
|
+
const fullPath = path2.resolve(process3.cwd(), filePath);
|
|
303
303
|
if (fs.existsSync(fullPath)) {
|
|
304
304
|
const env = fs.readFileSync(fullPath, "utf-8");
|
|
305
305
|
const lines = env.split("\n");
|
|
@@ -307,7 +307,7 @@ var CoreService = class {
|
|
|
307
307
|
const match = line.match(/^([^#=]+)=([^#]+)$/);
|
|
308
308
|
if (match) {
|
|
309
309
|
const key = match[1].trim();
|
|
310
|
-
|
|
310
|
+
process3.env[key] = match[2].trim();
|
|
311
311
|
}
|
|
312
312
|
});
|
|
313
313
|
}
|
|
@@ -320,7 +320,7 @@ var CoreService = class {
|
|
|
320
320
|
* Return string
|
|
321
321
|
*/
|
|
322
322
|
getServerRunningMode(development, production) {
|
|
323
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
323
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
324
324
|
this.getEnvFileLoading(".env");
|
|
325
325
|
const env = getEnvironnementValue2(path2.join(envPath));
|
|
326
326
|
const isDevelopment = env.devEnv === development && env.prodEnv === "";
|
|
@@ -333,7 +333,7 @@ var CoreService = class {
|
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
335
|
infoServer(nodeVersion, startingTime, host, port) {
|
|
336
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
336
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
337
337
|
const getEnvironnement = getEnvironnementValue2(this.environnementPath);
|
|
338
338
|
const msg5 = getEnvironnement.protocolTransfert === "" ? `${colors3.underline(`http://${host}:${port}`)}` : `${colors3.underline(`${getEnvironnement.protocolTransfert}://${host}:${port}`)}`;
|
|
339
339
|
const messages = [
|
|
@@ -346,7 +346,7 @@ var CoreService = class {
|
|
|
346
346
|
const maxLength = Math.max(...messages.map((m) => {
|
|
347
347
|
return m.replace(/\u001b\[[0-9]{1,2}m/g, "").length;
|
|
348
348
|
})) + 4;
|
|
349
|
-
console.log(chalk.blackBright(`Tailing Web Server log file (${path2.join(path2.basename(
|
|
349
|
+
console.log(chalk.blackBright(`Tailing Web Server log file (${path2.join(path2.basename(process3.cwd()), "logs", "app.log")})`));
|
|
350
350
|
const border = chalk.bgGreen.white(" ".repeat(maxLength));
|
|
351
351
|
console.log(border);
|
|
352
352
|
messages.forEach((msg) => {
|
|
@@ -358,7 +358,7 @@ var CoreService = class {
|
|
|
358
358
|
console.log("\n");
|
|
359
359
|
}
|
|
360
360
|
coreListenerEventLoaderModuleService(kernelModule) {
|
|
361
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
361
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
362
362
|
let router = [];
|
|
363
363
|
let dbCon;
|
|
364
364
|
kernelModule.forEach((module) => {
|
|
@@ -391,18 +391,30 @@ import {
|
|
|
391
391
|
CErrorName
|
|
392
392
|
} from "opticore-catch-exception-error";
|
|
393
393
|
import { HttpStatusCode as HttpStatusCode2 } from "opticore-http-response";
|
|
394
|
-
var SServerStartError = (err) => {
|
|
394
|
+
var SServerStartError = (err, environnementPath) => {
|
|
395
395
|
if (err.name) {
|
|
396
396
|
for (const [key, code] of Object.entries(CErrorName)) {
|
|
397
397
|
if (err.name === code) {
|
|
398
|
-
SLogger().error(
|
|
398
|
+
SLogger(environnementPath).error({
|
|
399
|
+
message: err.message,
|
|
400
|
+
title: code,
|
|
401
|
+
errorType: code,
|
|
402
|
+
stackTrace: err.stack,
|
|
403
|
+
httpCodeValue: HttpStatusCode2.INTERNAL_SERVER_ERROR
|
|
404
|
+
});
|
|
399
405
|
break;
|
|
400
406
|
}
|
|
401
407
|
}
|
|
402
408
|
} else {
|
|
403
409
|
for (const [key, code] of Object.entries(CCodeError)) {
|
|
404
410
|
if (err.code === code) {
|
|
405
|
-
SLogger().error(
|
|
411
|
+
SLogger(environnementPath).error({
|
|
412
|
+
message: err.message,
|
|
413
|
+
title: code,
|
|
414
|
+
errorType: key,
|
|
415
|
+
stackTrace: err.stack,
|
|
416
|
+
httpCodeValue: HttpStatusCode2.INTERNAL_SERVER_ERROR
|
|
417
|
+
});
|
|
406
418
|
break;
|
|
407
419
|
}
|
|
408
420
|
}
|
|
@@ -429,7 +441,7 @@ var WebServerCore = class {
|
|
|
429
441
|
constructor(app, loggerConfig2, localLanguage, environnementPath, corsOriginOptions) {
|
|
430
442
|
containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
|
|
431
443
|
this.translateWebAppCoreLanguageLoader = Inject("TranslateWebAppCoreLanguageLoader");
|
|
432
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage);
|
|
444
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage, environnementPath);
|
|
433
445
|
this.stackTraceErrorHandling(localLanguage);
|
|
434
446
|
this.getEnvironnement = getEnvironnementValue3(environnementPath);
|
|
435
447
|
this.routerExpressApp = app;
|
|
@@ -452,41 +464,41 @@ var WebServerCore = class {
|
|
|
452
464
|
});
|
|
453
465
|
this.dependenciesRegistered = true;
|
|
454
466
|
}
|
|
455
|
-
onStartServer(routers, dependenciesProvider) {
|
|
456
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
457
|
-
const mySQL = new OptiCoreMySQLDriver(
|
|
458
|
-
if (this.getEnvironnement.
|
|
467
|
+
onStartServer(routers, dependenciesProvider, optionalArgumentConnection) {
|
|
468
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
469
|
+
const mySQL = new OptiCoreMySQLDriver(this.getEnvironnement, this.localLanguage);
|
|
470
|
+
if (this.getEnvironnement.appPort === "" && Number(this.getEnvironnement.appPort) === 0) {
|
|
459
471
|
this.serverListenEvent.hostPortUndefined(Number(this.getEnvironnement.appPort));
|
|
460
472
|
} else if (this.getEnvironnement.appHost === "") {
|
|
461
473
|
this.serverListenEvent.hostUndefined(this.getEnvironnement.appHost);
|
|
462
474
|
} else if (Number(this.getEnvironnement.appPort) === 0) {
|
|
463
475
|
this.serverListenEvent.portUndefined();
|
|
464
476
|
} else if (this.localLanguage === "") {
|
|
465
|
-
SLogger().error(
|
|
466
|
-
TranslationLoader4.t("noDefaultLocalLang", this.localLanguage),
|
|
467
|
-
TranslationLoader4.t("noLocalLang", this.localLanguage),
|
|
468
|
-
TranslationLoader4.t("localLangMissing", this.localLanguage),
|
|
469
|
-
void 0,
|
|
470
|
-
HttpStatusCode3.NOT_FOUND
|
|
471
|
-
);
|
|
477
|
+
SLogger(this.environnementPath).error({
|
|
478
|
+
message: TranslationLoader4.t("noDefaultLocalLang", this.localLanguage),
|
|
479
|
+
title: TranslationLoader4.t("noLocalLang", this.localLanguage),
|
|
480
|
+
errorType: TranslationLoader4.t("localLangMissing", this.localLanguage),
|
|
481
|
+
stackTrace: void 0,
|
|
482
|
+
httpCodeValue: HttpStatusCode3.NOT_FOUND
|
|
483
|
+
});
|
|
472
484
|
} else {
|
|
473
485
|
return this.expressApp.listen(
|
|
474
486
|
Number(this.getEnvironnement.appPort),
|
|
475
487
|
() => {
|
|
476
488
|
try {
|
|
477
|
-
mySQL.databaseConnexionChecker(
|
|
489
|
+
mySQL.databaseConnexionChecker(this.getEnvironnement, optionalArgumentConnection);
|
|
478
490
|
new SContainer(dependenciesProvider, this.localLanguage);
|
|
479
|
-
this.expressApp.use(express2.static(path3.join(
|
|
491
|
+
this.expressApp.use(express2.static(path3.join(process4.cwd(), "public/template")));
|
|
480
492
|
this.registerRoutes(routers);
|
|
481
493
|
} catch (err) {
|
|
482
|
-
SServerStartError(err);
|
|
494
|
+
SServerStartError(err, this.environnementPath);
|
|
483
495
|
}
|
|
484
496
|
}
|
|
485
497
|
);
|
|
486
498
|
}
|
|
487
499
|
}
|
|
488
500
|
onListeningOnServerEvent(serverWeb) {
|
|
489
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
501
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
490
502
|
serverWeb.on(eventName2.error, (err) => {
|
|
491
503
|
this.serverListenEvent.onEventError(err);
|
|
492
504
|
}).on(eventName2.close, () => {
|
|
@@ -498,7 +510,7 @@ var WebServerCore = class {
|
|
|
498
510
|
});
|
|
499
511
|
}
|
|
500
512
|
onRequestOnServerEvent(serverWeb) {
|
|
501
|
-
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
513
|
+
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
|
|
502
514
|
serverWeb.on(eventName2.request, (req, res) => {
|
|
503
515
|
requestCallsEvent(
|
|
504
516
|
req,
|
|
@@ -530,28 +542,7 @@ var WebServerCore = class {
|
|
|
530
542
|
);
|
|
531
543
|
}
|
|
532
544
|
};
|
|
533
|
-
|
|
534
|
-
// src/utils/stopServer.utils.ts
|
|
535
|
-
import dotenv from "dotenv";
|
|
536
|
-
import { execSync } from "child_process";
|
|
537
|
-
import { TranslationLoader as TranslationLoader5 } from "opticore-translator";
|
|
538
|
-
var UStopServer = () => {
|
|
539
|
-
dotenv.config();
|
|
540
|
-
const port = process.env.PORT;
|
|
541
|
-
try {
|
|
542
|
-
const pid = execSync(`lsof -i :${port} -t`, { encoding: "utf-8" }).trim();
|
|
543
|
-
if (pid) {
|
|
544
|
-
execSync(`kill ${pid}`);
|
|
545
|
-
SLogger().success("serverPortKill", TranslationLoader5.t("serverPortKill", "en", { port }));
|
|
546
|
-
} else {
|
|
547
|
-
SLogger().warn("pidOnPortNotFound", TranslationLoader5.t("pidOnPortNotFound", "en", { port }));
|
|
548
|
-
}
|
|
549
|
-
} catch (error) {
|
|
550
|
-
SLogger().error("noProcessRunningOnPort", TranslationLoader5.t("noProcessRunningOnPort", "en", { port }));
|
|
551
|
-
}
|
|
552
|
-
};
|
|
553
545
|
export {
|
|
554
|
-
UStopServer,
|
|
555
546
|
WebServerCore as WebServer,
|
|
556
547
|
envPath
|
|
557
548
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opticore-webapp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.44",
|
|
4
4
|
"description": "wep server",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"opticore-env-access": "^1.0.6",
|
|
34
34
|
"opticore-express": "^1.0.3",
|
|
35
35
|
"opticore-http-response": "^1.0.3",
|
|
36
|
-
"opticore-inject-dependency": "^1.0.
|
|
37
|
-
"opticore-logger": "^1.0.
|
|
38
|
-
"opticore-mysqldb": "^1.0.
|
|
36
|
+
"opticore-inject-dependency": "^1.0.7",
|
|
37
|
+
"opticore-logger": "^1.0.16",
|
|
38
|
+
"opticore-mysqldb": "^1.0.22",
|
|
39
39
|
"opticore-request-call-event": "^1.0.2",
|
|
40
40
|
"opticore-router": "^1.0.11",
|
|
41
41
|
"opticore-translator": "^1.0.10",
|