opticore-webapp 1.0.42 → 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 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,19 +370,20 @@ 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 = [
375
377
  import_opticore_translator3.TranslationLoader.t("webServerListening", this.localLanguage),
376
- import_opticore_translator3.TranslationLoader.t("webServerUsingNodeVersion", this.localLanguage),
377
- import_opticore_translator3.TranslationLoader.t("startTime", this.localLanguage),
378
+ import_opticore_translator3.TranslationLoader.t("webServerUsingNodeVersion", this.localLanguage, { nodeVersion: this.getVersions().nodeVersion }),
379
+ import_opticore_translator3.TranslationLoader.t("startTime", this.localLanguage, { startTime: this.getProjectInfo().startingTime }),
378
380
  this.getServerRunningMode(import_opticore_translator3.TranslationLoader.t("runningModeDev", this.localLanguage), import_opticore_translator3.TranslationLoader.t("runningModeProd", this.localLanguage)),
379
381
  msg5
380
382
  ];
381
383
  const maxLength = Math.max(...messages.map((m) => {
382
384
  return m.replace(/\u001b\[[0-9]{1,2}m/g, "").length;
383
385
  })) + 4;
386
+ console.log(import_chalk.default.blackBright(`Tailing Web Server log file (${path2.join(path2.basename(import_node_process2.default.cwd()), "logs", "app.log")})`));
384
387
  const border = import_chalk.default.bgGreen.white(" ".repeat(maxLength));
385
388
  console.log(border);
386
389
  messages.forEach((msg) => {
@@ -389,9 +392,10 @@ var CoreService = class {
389
392
  console.log(import_chalk.default.bgGreen.white(` ${msg}${" ".repeat(padding)} `));
390
393
  });
391
394
  console.log(border);
395
+ console.log("\n");
392
396
  }
393
397
  coreListenerEventLoaderModuleService(kernelModule) {
394
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
398
+ this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
395
399
  let router = [];
396
400
  let dbCon;
397
401
  kernelModule.forEach((module2) => {
@@ -421,18 +425,30 @@ var CoreService = class {
421
425
  // src/application/service/serverStartError.service.ts
422
426
  var import_opticore_catch_exception_error3 = require("opticore-catch-exception-error");
423
427
  var import_opticore_http_response3 = require("opticore-http-response");
424
- var SServerStartError = (err) => {
428
+ var SServerStartError = (err, environnementPath) => {
425
429
  if (err.name) {
426
430
  for (const [key, code] of Object.entries(import_opticore_catch_exception_error3.CErrorName)) {
427
431
  if (err.name === code) {
428
- SLogger().error(err.message, code, code, err.stack, import_opticore_http_response3.HttpStatusCode.INTERNAL_SERVER_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
+ });
429
439
  break;
430
440
  }
431
441
  }
432
442
  } else {
433
443
  for (const [key, code] of Object.entries(import_opticore_catch_exception_error3.CCodeError)) {
434
444
  if (err.code === code) {
435
- SLogger().error(err.message, code, key, err.stack, import_opticore_http_response3.HttpStatusCode.INTERNAL_SERVER_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
+ });
436
452
  break;
437
453
  }
438
454
  }
@@ -444,6 +460,7 @@ var import_opticore_request_call_event = require("opticore-request-call-event");
444
460
  var import_opticore_inject_dependency = require("opticore-inject-dependency");
445
461
  var import_opticore_http_response4 = require("opticore-http-response");
446
462
  var import_opticore_translator4 = require("opticore-translator");
463
+ var import_opticore_mysqldb = require("opticore-mysqldb");
447
464
  var WebServerCore = class {
448
465
  serverUtility;
449
466
  expressApp = (0, import_opticore_express2.express)();
@@ -458,7 +475,7 @@ var WebServerCore = class {
458
475
  constructor(app, loggerConfig2, localLanguage, environnementPath, corsOriginOptions) {
459
476
  containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
460
477
  this.translateWebAppCoreLanguageLoader = Inject("TranslateWebAppCoreLanguageLoader");
461
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage);
478
+ this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage, environnementPath);
462
479
  this.stackTraceErrorHandling(localLanguage);
463
480
  this.getEnvironnement = (0, import_opticore_env_access3.getEnvironnementValue)(environnementPath);
464
481
  this.routerExpressApp = app;
@@ -481,40 +498,41 @@ var WebServerCore = class {
481
498
  });
482
499
  this.dependenciesRegistered = true;
483
500
  }
484
- onStartServer(routers, dbConnexion, dependenciesProvider) {
485
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
486
- if (this.getEnvironnement.appHost === "" && Number(this.getEnvironnement.appPort) === 0) {
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) {
487
505
  this.serverListenEvent.hostPortUndefined(Number(this.getEnvironnement.appPort));
488
506
  } else if (this.getEnvironnement.appHost === "") {
489
507
  this.serverListenEvent.hostUndefined(this.getEnvironnement.appHost);
490
508
  } else if (Number(this.getEnvironnement.appPort) === 0) {
491
509
  this.serverListenEvent.portUndefined();
492
510
  } else if (this.localLanguage === "") {
493
- SLogger().error(
494
- import_opticore_translator4.TranslationLoader.t("noDefaultLocalLang", this.localLanguage),
495
- import_opticore_translator4.TranslationLoader.t("noLocalLang", this.localLanguage),
496
- import_opticore_translator4.TranslationLoader.t("localLangMissing", this.localLanguage),
497
- void 0,
498
- import_opticore_http_response4.HttpStatusCode.NOT_FOUND
499
- );
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
+ });
500
518
  } else {
501
519
  return this.expressApp.listen(
502
520
  Number(this.getEnvironnement.appPort),
503
521
  () => {
504
522
  try {
505
- dbConnexion;
523
+ mySQL.databaseConnexionChecker(this.getEnvironnement, optionalArgumentConnection);
506
524
  new import_opticore_inject_dependency.SContainer(dependenciesProvider, this.localLanguage);
507
525
  this.expressApp.use(import_opticore_express2.express.static(path3.join(import_node_process3.default.cwd(), "public/template")));
508
526
  this.registerRoutes(routers);
509
527
  } catch (err) {
510
- SServerStartError(err);
528
+ SServerStartError(err, this.environnementPath);
511
529
  }
512
530
  }
513
531
  );
514
532
  }
515
533
  }
516
534
  onListeningOnServerEvent(serverWeb) {
517
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
535
+ this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
518
536
  serverWeb.on(import_opticore_catch_exception_error4.CEventNameError.error, (err) => {
519
537
  this.serverListenEvent.onEventError(err);
520
538
  }).on(import_opticore_catch_exception_error4.CEventNameError.close, () => {
@@ -526,7 +544,7 @@ var WebServerCore = class {
526
544
  });
527
545
  }
528
546
  onRequestOnServerEvent(serverWeb) {
529
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
547
+ this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
530
548
  serverWeb.on(import_opticore_catch_exception_error4.CEventNameError.request, (req, res) => {
531
549
  (0, import_opticore_request_call_event.requestCallsEvent)(
532
550
  req,
@@ -558,29 +576,8 @@ var WebServerCore = class {
558
576
  );
559
577
  }
560
578
  };
561
-
562
- // src/utils/stopServer.utils.ts
563
- var import_dotenv = __toESM(require("dotenv"), 1);
564
- var import_child_process = require("child_process");
565
- var import_opticore_translator5 = require("opticore-translator");
566
- var UStopServer = () => {
567
- import_dotenv.default.config();
568
- const port = process.env.PORT;
569
- try {
570
- const pid = (0, import_child_process.execSync)(`lsof -i :${port} -t`, { encoding: "utf-8" }).trim();
571
- if (pid) {
572
- (0, import_child_process.execSync)(`kill ${pid}`);
573
- SLogger().success("serverPortKill", import_opticore_translator5.TranslationLoader.t("serverPortKill", "en", { port }));
574
- } else {
575
- SLogger().warn("pidOnPortNotFound", import_opticore_translator5.TranslationLoader.t("pidOnPortNotFound", "en", { port }));
576
- }
577
- } catch (error) {
578
- SLogger().error("noProcessRunningOnPort", import_opticore_translator5.TranslationLoader.t("noProcessRunningOnPort", "en", { port }));
579
- }
580
- };
581
579
  // Annotate the CommonJS export names for ESM import in node:
582
580
  0 && (module.exports = {
583
- UStopServer,
584
581
  WebServer,
585
582
  envPath
586
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[], dbConnexion: (envPath: any, optionalArgumentConnection?: string | any) => void, 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, UStopServer, WebServerCore as WebServer, envPath };
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[], dbConnexion: (envPath: any, optionalArgumentConnection?: string | any) => void, 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, UStopServer, WebServerCore as WebServer, envPath };
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 process5 from "node:process";
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 process2 from "node:process";
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
- process2.on(event.beforeExit, (code) => {
25
+ process.on(event.beforeExit, (code) => {
29
26
  setTimeout(() => {
30
27
  serverListenEvent.processBeforeExit(code);
31
28
  }, 100);
32
29
  });
33
- process2.on(event.disconnect, () => {
30
+ process.on(event.disconnect, () => {
34
31
  serverListenEvent.processDisconnected();
35
32
  });
36
- process2.on(event.exit, (code) => {
33
+ process.on(event.exit, (code) => {
37
34
  serverListenEvent.exited(code);
38
35
  });
39
- process2.on(event.rejectionHandled, (promise) => {
36
+ process.on(event.rejectionHandled, (promise) => {
40
37
  serverListenEvent.promiseRejectionHandled(promise);
41
38
  });
42
- process2.on(event.uncaughtException, (error) => {
39
+ process.on(event.uncaughtException, (error) => {
43
40
  serverListenEvent.uncaughtException(error);
44
41
  });
45
- process2.on(event.uncaughtExceptionMonitor, (error) => {
42
+ process.on(event.uncaughtExceptionMonitor, (error) => {
46
43
  serverListenEvent.uncaughtExceptionMonitor(error);
47
44
  });
48
- process2.on(event.unhandledRejection, (reason, promise) => {
45
+ process.on(event.unhandledRejection, (reason, promise) => {
49
46
  serverListenEvent.unhandledRejection(reason, promise);
50
47
  });
51
- process2.on(event.warning, (warning) => {
48
+ process.on(event.warning, (warning) => {
52
49
  serverListenEvent.warning(warning);
53
50
  });
54
- process2.on(event.message, (message) => {
51
+ process.on(event.message, (message) => {
55
52
  serverListenEvent.message(message);
56
53
  });
57
- process2.on(event.multipleResolves, (type, promise, reason) => {
54
+ process.on(event.multipleResolves, (type, promise, reason) => {
58
55
  serverListenEvent.multipleResolves(type, promise, reason);
59
56
  });
60
- process2.on(event.sigint, () => {
57
+ process.on(event.sigint, () => {
61
58
  serverListenEvent.processInterrupted();
62
59
  });
63
- process2.on(event.sigterm, (signal) => {
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 process4 from "node:process";
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 process3 from "process";
214
- var envPath = process3.cwd() + "/config/env/.env";
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 } = process4.versions;
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 = process4.memoryUsage();
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(process4.cpuUsage().user),
271
- [TranslationLoader3.t("memoryUsageSystem", this.localLanguage)]: this.formatMemoryUsage(process4.cpuUsage().system)
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 = process4.hrtime();
287
- const endTime = process4.hrtime(startTime);
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(process4.cwd()),
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(process4.cwd(), filePath);
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
- process4.env[key] = match[2].trim();
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,19 +333,20 @@ 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 = [
340
340
  TranslationLoader3.t("webServerListening", this.localLanguage),
341
- TranslationLoader3.t("webServerUsingNodeVersion", this.localLanguage),
342
- TranslationLoader3.t("startTime", this.localLanguage),
341
+ TranslationLoader3.t("webServerUsingNodeVersion", this.localLanguage, { nodeVersion: this.getVersions().nodeVersion }),
342
+ TranslationLoader3.t("startTime", this.localLanguage, { startTime: this.getProjectInfo().startingTime }),
343
343
  this.getServerRunningMode(TranslationLoader3.t("runningModeDev", this.localLanguage), TranslationLoader3.t("runningModeProd", this.localLanguage)),
344
344
  msg5
345
345
  ];
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(process3.cwd()), "logs", "app.log")})`));
349
350
  const border = chalk.bgGreen.white(" ".repeat(maxLength));
350
351
  console.log(border);
351
352
  messages.forEach((msg) => {
@@ -354,9 +355,10 @@ var CoreService = class {
354
355
  console.log(chalk.bgGreen.white(` ${msg}${" ".repeat(padding)} `));
355
356
  });
356
357
  console.log(border);
358
+ console.log("\n");
357
359
  }
358
360
  coreListenerEventLoaderModuleService(kernelModule) {
359
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
361
+ this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
360
362
  let router = [];
361
363
  let dbCon;
362
364
  kernelModule.forEach((module) => {
@@ -389,18 +391,30 @@ import {
389
391
  CErrorName
390
392
  } from "opticore-catch-exception-error";
391
393
  import { HttpStatusCode as HttpStatusCode2 } from "opticore-http-response";
392
- var SServerStartError = (err) => {
394
+ var SServerStartError = (err, environnementPath) => {
393
395
  if (err.name) {
394
396
  for (const [key, code] of Object.entries(CErrorName)) {
395
397
  if (err.name === code) {
396
- SLogger().error(err.message, code, code, err.stack, HttpStatusCode2.INTERNAL_SERVER_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
+ });
397
405
  break;
398
406
  }
399
407
  }
400
408
  } else {
401
409
  for (const [key, code] of Object.entries(CCodeError)) {
402
410
  if (err.code === code) {
403
- SLogger().error(err.message, code, key, err.stack, HttpStatusCode2.INTERNAL_SERVER_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
+ });
404
418
  break;
405
419
  }
406
420
  }
@@ -412,6 +426,7 @@ import { requestCallsEvent } from "opticore-request-call-event";
412
426
  import { SContainer } from "opticore-inject-dependency";
413
427
  import { HttpStatusCode as HttpStatusCode3 } from "opticore-http-response";
414
428
  import { TranslationLoader as TranslationLoader4 } from "opticore-translator";
429
+ import { OptiCoreMySQLDriver } from "opticore-mysqldb";
415
430
  var WebServerCore = class {
416
431
  serverUtility;
417
432
  expressApp = express2();
@@ -426,7 +441,7 @@ var WebServerCore = class {
426
441
  constructor(app, loggerConfig2, localLanguage, environnementPath, corsOriginOptions) {
427
442
  containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
428
443
  this.translateWebAppCoreLanguageLoader = Inject("TranslateWebAppCoreLanguageLoader");
429
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage);
444
+ this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage, environnementPath);
430
445
  this.stackTraceErrorHandling(localLanguage);
431
446
  this.getEnvironnement = getEnvironnementValue3(environnementPath);
432
447
  this.routerExpressApp = app;
@@ -449,40 +464,41 @@ var WebServerCore = class {
449
464
  });
450
465
  this.dependenciesRegistered = true;
451
466
  }
452
- onStartServer(routers, dbConnexion, dependenciesProvider) {
453
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
454
- if (this.getEnvironnement.appHost === "" && Number(this.getEnvironnement.appPort) === 0) {
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) {
455
471
  this.serverListenEvent.hostPortUndefined(Number(this.getEnvironnement.appPort));
456
472
  } else if (this.getEnvironnement.appHost === "") {
457
473
  this.serverListenEvent.hostUndefined(this.getEnvironnement.appHost);
458
474
  } else if (Number(this.getEnvironnement.appPort) === 0) {
459
475
  this.serverListenEvent.portUndefined();
460
476
  } else if (this.localLanguage === "") {
461
- SLogger().error(
462
- TranslationLoader4.t("noDefaultLocalLang", this.localLanguage),
463
- TranslationLoader4.t("noLocalLang", this.localLanguage),
464
- TranslationLoader4.t("localLangMissing", this.localLanguage),
465
- void 0,
466
- HttpStatusCode3.NOT_FOUND
467
- );
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
+ });
468
484
  } else {
469
485
  return this.expressApp.listen(
470
486
  Number(this.getEnvironnement.appPort),
471
487
  () => {
472
488
  try {
473
- dbConnexion;
489
+ mySQL.databaseConnexionChecker(this.getEnvironnement, optionalArgumentConnection);
474
490
  new SContainer(dependenciesProvider, this.localLanguage);
475
- this.expressApp.use(express2.static(path3.join(process5.cwd(), "public/template")));
491
+ this.expressApp.use(express2.static(path3.join(process4.cwd(), "public/template")));
476
492
  this.registerRoutes(routers);
477
493
  } catch (err) {
478
- SServerStartError(err);
494
+ SServerStartError(err, this.environnementPath);
479
495
  }
480
496
  }
481
497
  );
482
498
  }
483
499
  }
484
500
  onListeningOnServerEvent(serverWeb) {
485
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
501
+ this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
486
502
  serverWeb.on(eventName2.error, (err) => {
487
503
  this.serverListenEvent.onEventError(err);
488
504
  }).on(eventName2.close, () => {
@@ -494,7 +510,7 @@ var WebServerCore = class {
494
510
  });
495
511
  }
496
512
  onRequestOnServerEvent(serverWeb) {
497
- this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
513
+ this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage, this.environnementPath);
498
514
  serverWeb.on(eventName2.request, (req, res) => {
499
515
  requestCallsEvent(
500
516
  req,
@@ -526,28 +542,7 @@ var WebServerCore = class {
526
542
  );
527
543
  }
528
544
  };
529
-
530
- // src/utils/stopServer.utils.ts
531
- import dotenv from "dotenv";
532
- import { execSync } from "child_process";
533
- import { TranslationLoader as TranslationLoader5 } from "opticore-translator";
534
- var UStopServer = () => {
535
- dotenv.config();
536
- const port = process.env.PORT;
537
- try {
538
- const pid = execSync(`lsof -i :${port} -t`, { encoding: "utf-8" }).trim();
539
- if (pid) {
540
- execSync(`kill ${pid}`);
541
- SLogger().success("serverPortKill", TranslationLoader5.t("serverPortKill", "en", { port }));
542
- } else {
543
- SLogger().warn("pidOnPortNotFound", TranslationLoader5.t("pidOnPortNotFound", "en", { port }));
544
- }
545
- } catch (error) {
546
- SLogger().error("noProcessRunningOnPort", TranslationLoader5.t("noProcessRunningOnPort", "en", { port }));
547
- }
548
- };
549
545
  export {
550
- UStopServer,
551
546
  WebServerCore as WebServer,
552
547
  envPath
553
548
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opticore-webapp",
3
- "version": "1.0.42",
3
+ "version": "1.0.44",
4
4
  "description": "wep server",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -33,8 +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.6",
37
- "opticore-logger": "^1.0.15",
36
+ "opticore-inject-dependency": "^1.0.7",
37
+ "opticore-logger": "^1.0.16",
38
+ "opticore-mysqldb": "^1.0.22",
38
39
  "opticore-request-call-event": "^1.0.2",
39
40
  "opticore-router": "^1.0.11",
40
41
  "opticore-translator": "^1.0.10",