opticore-webapp 1.0.41 → 1.0.42
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 +98 -57
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +99 -62
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -36,8 +36,12 @@ __export(index_exports, {
|
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(index_exports);
|
|
38
38
|
|
|
39
|
+
// node_modules/tsup/assets/cjs_shims.js
|
|
40
|
+
var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
41
|
+
var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
42
|
+
|
|
39
43
|
// src/core/webServer.core.ts
|
|
40
|
-
var
|
|
44
|
+
var path3 = __toESM(require("path"), 1);
|
|
41
45
|
var import_node_process3 = __toESM(require("process"), 1);
|
|
42
46
|
var import_cors = __toESM(require("cors"), 1);
|
|
43
47
|
var import_opticore_catch_exception_error4 = require("opticore-catch-exception-error");
|
|
@@ -102,13 +106,13 @@ function eventProcessHandler(localeLanguage) {
|
|
|
102
106
|
// src/application/service/core.service.ts
|
|
103
107
|
var import_node_process2 = __toESM(require("process"), 1);
|
|
104
108
|
var import_chalk = __toESM(require("chalk"), 1);
|
|
105
|
-
var
|
|
109
|
+
var path2 = __toESM(require("path"), 1);
|
|
106
110
|
var fs = __toESM(require("fs"), 1);
|
|
107
111
|
var import_ansi_colors3 = __toESM(require("ansi-colors"), 1);
|
|
108
|
-
var
|
|
109
|
-
var
|
|
112
|
+
var import_opticore_http_response2 = require("opticore-http-response");
|
|
113
|
+
var import_opticore_translator3 = require("opticore-translator");
|
|
110
114
|
var import_opticore_env_access2 = require("opticore-env-access");
|
|
111
|
-
var
|
|
115
|
+
var import_opticore_logger2 = require("opticore-logger");
|
|
112
116
|
|
|
113
117
|
// src/core/helpers/modulesLoaded.utils.ts
|
|
114
118
|
var import_ansi_colors2 = __toESM(require("ansi-colors"), 1);
|
|
@@ -186,6 +190,38 @@ var loggerConfig = (envDir) => {
|
|
|
186
190
|
};
|
|
187
191
|
};
|
|
188
192
|
|
|
193
|
+
// src/core/config/loaders/translateLanguage.loader.ts
|
|
194
|
+
var import_path = __toESM(require("path"), 1);
|
|
195
|
+
var import_module = require("module");
|
|
196
|
+
var import_opticore_translator2 = require("opticore-translator");
|
|
197
|
+
|
|
198
|
+
// src/application/service/logger.service.ts
|
|
199
|
+
var import_opticore_logger = require("opticore-logger");
|
|
200
|
+
var SLogger = () => {
|
|
201
|
+
return new import_opticore_logger.LoggerCore();
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
// src/core/config/loaders/translateLanguage.loader.ts
|
|
205
|
+
var import_opticore_http_response = require("opticore-http-response");
|
|
206
|
+
var TranslateWebAppCoreLanguageLoader = class {
|
|
207
|
+
translateLanguageLoader(localLang) {
|
|
208
|
+
try {
|
|
209
|
+
const require2 = (0, import_module.createRequire)(importMetaUrl);
|
|
210
|
+
const packagePath = import_path.default.dirname(require2.resolve("opticore-webapp"));
|
|
211
|
+
const translateMsgJsonFilePath = import_path.default.join(packagePath, "utils", "translations");
|
|
212
|
+
import_opticore_translator2.TranslationLoader.loadTranslations(translateMsgJsonFilePath);
|
|
213
|
+
} 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
|
+
);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
|
|
189
225
|
// src/core/helpers/container.utils.ts
|
|
190
226
|
var Container = class {
|
|
191
227
|
dependencies = /* @__PURE__ */ new Map();
|
|
@@ -208,6 +244,10 @@ function Inject(key) {
|
|
|
208
244
|
return containerDependency.resolve(key);
|
|
209
245
|
}
|
|
210
246
|
|
|
247
|
+
// src/utils/envPath.utils.ts
|
|
248
|
+
var import_process = __toESM(require("process"), 1);
|
|
249
|
+
var envPath = import_process.default.cwd() + "/config/env/.env";
|
|
250
|
+
|
|
211
251
|
// src/application/service/core.service.ts
|
|
212
252
|
var CoreService = class {
|
|
213
253
|
loggerConfig;
|
|
@@ -215,8 +255,9 @@ var CoreService = class {
|
|
|
215
255
|
environnementPath;
|
|
216
256
|
translateWebAppCoreLanguageLoader;
|
|
217
257
|
constructor(localLang, environnementPath) {
|
|
258
|
+
containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
|
|
218
259
|
this.translateWebAppCoreLanguageLoader = Inject("TranslateWebAppCoreLanguageLoader");
|
|
219
|
-
this.loggerConfig = new
|
|
260
|
+
this.loggerConfig = new import_opticore_logger2.LoggerCore(loggerConfig(environnementPath));
|
|
220
261
|
this.environnementPath = environnementPath;
|
|
221
262
|
this.localLanguage = localLang;
|
|
222
263
|
}
|
|
@@ -257,20 +298,20 @@ var CoreService = class {
|
|
|
257
298
|
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
258
299
|
const memoryData = import_node_process2.default.memoryUsage();
|
|
259
300
|
const data = {
|
|
260
|
-
[
|
|
261
|
-
[
|
|
262
|
-
[
|
|
263
|
-
[
|
|
264
|
-
[
|
|
265
|
-
[
|
|
301
|
+
[import_opticore_translator3.TranslationLoader.t("totalMemoryAllocated", this.localLanguage)]: this.formatMemoryUsage(memoryData.rss),
|
|
302
|
+
[import_opticore_translator3.TranslationLoader.t("sizeAllocatedHeap", this.localLanguage)]: this.formatMemoryUsage(memoryData.heapTotal),
|
|
303
|
+
[import_opticore_translator3.TranslationLoader.t("memoryUsedExecution", this.localLanguage)]: this.formatMemoryUsage(memoryData.heapUsed),
|
|
304
|
+
[import_opticore_translator3.TranslationLoader.t("externalMemory", this.localLanguage)]: this.formatMemoryUsage(memoryData.external),
|
|
305
|
+
[import_opticore_translator3.TranslationLoader.t("memoryUsageUser", this.localLanguage)]: this.formatMemoryUsage(import_node_process2.default.cpuUsage().user),
|
|
306
|
+
[import_opticore_translator3.TranslationLoader.t("memoryUsageSystem", this.localLanguage)]: this.formatMemoryUsage(import_node_process2.default.cpuUsage().system)
|
|
266
307
|
};
|
|
267
308
|
return {
|
|
268
|
-
"rss": data[
|
|
269
|
-
"heapTotal": data[
|
|
270
|
-
"heapUsed": data[
|
|
271
|
-
"external": data[
|
|
272
|
-
"user": data[
|
|
273
|
-
"system": data[
|
|
309
|
+
"rss": data[import_opticore_translator3.TranslationLoader.t("totalMemoryAllocated", this.localLanguage)],
|
|
310
|
+
"heapTotal": data[import_opticore_translator3.TranslationLoader.t("sizeAllocatedHeap", this.localLanguage)],
|
|
311
|
+
"heapUsed": data[import_opticore_translator3.TranslationLoader.t("memoryUsedExecution", this.localLanguage)],
|
|
312
|
+
"external": data[import_opticore_translator3.TranslationLoader.t("externalMemory", this.localLanguage)],
|
|
313
|
+
"user": data[import_opticore_translator3.TranslationLoader.t("memoryUsageUser", this.localLanguage)],
|
|
314
|
+
"system": data[import_opticore_translator3.TranslationLoader.t("memoryUsageSystem", this.localLanguage)]
|
|
274
315
|
};
|
|
275
316
|
}
|
|
276
317
|
/**
|
|
@@ -281,7 +322,7 @@ var CoreService = class {
|
|
|
281
322
|
const endTime = import_node_process2.default.hrtime(startTime);
|
|
282
323
|
const executionTime = (endTime[0] * 1e9 + endTime[1]) / 1e6;
|
|
283
324
|
return {
|
|
284
|
-
"projectPath":
|
|
325
|
+
"projectPath": path2.join(import_node_process2.default.cwd()),
|
|
285
326
|
"startingTime": `${executionTime.toFixed(5)} ms`
|
|
286
327
|
};
|
|
287
328
|
}
|
|
@@ -293,7 +334,7 @@ var CoreService = class {
|
|
|
293
334
|
* Return void
|
|
294
335
|
*/
|
|
295
336
|
getEnvFileLoading(filePath) {
|
|
296
|
-
const fullPath =
|
|
337
|
+
const fullPath = path2.resolve(import_node_process2.default.cwd(), filePath);
|
|
297
338
|
if (fs.existsSync(fullPath)) {
|
|
298
339
|
const env = fs.readFileSync(fullPath, "utf-8");
|
|
299
340
|
const lines = env.split("\n");
|
|
@@ -316,12 +357,14 @@ var CoreService = class {
|
|
|
316
357
|
getServerRunningMode(development, production) {
|
|
317
358
|
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
318
359
|
this.getEnvFileLoading(".env");
|
|
319
|
-
const env = (0, import_opticore_env_access2.getEnvironnementValue)(
|
|
320
|
-
const isDevelopment = env.devEnv === development && env.prodEnv ===
|
|
360
|
+
const env = (0, import_opticore_env_access2.getEnvironnementValue)(path2.join(envPath));
|
|
361
|
+
const isDevelopment = env.devEnv === development && env.prodEnv === "";
|
|
321
362
|
if (isDevelopment) {
|
|
322
|
-
return `${
|
|
363
|
+
return `${import_opticore_translator3.TranslationLoader.t("serverRunning", this.localLanguage)} ${import_ansi_colors3.default.bgBlue(`${import_ansi_colors3.default.bold(`${development}`)}`)} mode`;
|
|
364
|
+
} else if (!isDevelopment) {
|
|
365
|
+
return `${import_opticore_translator3.TranslationLoader.t("serverRunning", this.localLanguage)} ${import_ansi_colors3.default.bgBlue(`${import_ansi_colors3.default.bold(`${production}`)}`)} mode`;
|
|
323
366
|
} else {
|
|
324
|
-
return `${
|
|
367
|
+
return `${import_opticore_translator3.TranslationLoader.t("serverRunning", this.localLanguage)} ${import_ansi_colors3.default.bgBlue(`${import_ansi_colors3.default.bold(`${development}`)}`)} mode`;
|
|
325
368
|
}
|
|
326
369
|
}
|
|
327
370
|
infoServer(nodeVersion, startingTime, host, port) {
|
|
@@ -329,10 +372,10 @@ var CoreService = class {
|
|
|
329
372
|
const getEnvironnement = (0, import_opticore_env_access2.getEnvironnementValue)(this.environnementPath);
|
|
330
373
|
const msg5 = getEnvironnement.protocolTransfert === "" ? `${import_ansi_colors3.default.underline(`http://${host}:${port}`)}` : `${import_ansi_colors3.default.underline(`${getEnvironnement.protocolTransfert}://${host}:${port}`)}`;
|
|
331
374
|
const messages = [
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
this.getServerRunningMode(
|
|
375
|
+
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
|
+
this.getServerRunningMode(import_opticore_translator3.TranslationLoader.t("runningModeDev", this.localLanguage), import_opticore_translator3.TranslationLoader.t("runningModeProd", this.localLanguage)),
|
|
336
379
|
msg5
|
|
337
380
|
];
|
|
338
381
|
const maxLength = Math.max(...messages.map((m) => {
|
|
@@ -365,9 +408,9 @@ var CoreService = class {
|
|
|
365
408
|
})();
|
|
366
409
|
} else {
|
|
367
410
|
const stackTrace = STraceError(
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
411
|
+
import_opticore_translator3.TranslationLoader.t("loadedModulesError", this.localLanguage),
|
|
412
|
+
import_opticore_translator3.TranslationLoader.t("loadedModules", this.localLanguage),
|
|
413
|
+
import_opticore_http_response2.HttpStatusCode.NOT_ACCEPTABLE,
|
|
371
414
|
true
|
|
372
415
|
);
|
|
373
416
|
throw new Error(stackTrace.message);
|
|
@@ -377,27 +420,19 @@ var CoreService = class {
|
|
|
377
420
|
|
|
378
421
|
// src/application/service/serverStartError.service.ts
|
|
379
422
|
var import_opticore_catch_exception_error3 = require("opticore-catch-exception-error");
|
|
380
|
-
|
|
381
|
-
// src/application/service/logger.service.ts
|
|
382
|
-
var import_opticore_logger2 = require("opticore-logger");
|
|
383
|
-
var SLogger = () => {
|
|
384
|
-
return new import_opticore_logger2.LoggerCore();
|
|
385
|
-
};
|
|
386
|
-
|
|
387
|
-
// src/application/service/serverStartError.service.ts
|
|
388
|
-
var import_opticore_http_response2 = require("opticore-http-response");
|
|
423
|
+
var import_opticore_http_response3 = require("opticore-http-response");
|
|
389
424
|
var SServerStartError = (err) => {
|
|
390
425
|
if (err.name) {
|
|
391
426
|
for (const [key, code] of Object.entries(import_opticore_catch_exception_error3.CErrorName)) {
|
|
392
427
|
if (err.name === code) {
|
|
393
|
-
SLogger().error(err.message, code, code, err.stack,
|
|
428
|
+
SLogger().error(err.message, code, code, err.stack, import_opticore_http_response3.HttpStatusCode.INTERNAL_SERVER_ERROR);
|
|
394
429
|
break;
|
|
395
430
|
}
|
|
396
431
|
}
|
|
397
432
|
} else {
|
|
398
433
|
for (const [key, code] of Object.entries(import_opticore_catch_exception_error3.CCodeError)) {
|
|
399
434
|
if (err.code === code) {
|
|
400
|
-
SLogger().error(err.message, code, key, err.stack,
|
|
435
|
+
SLogger().error(err.message, code, key, err.stack, import_opticore_http_response3.HttpStatusCode.INTERNAL_SERVER_ERROR);
|
|
401
436
|
break;
|
|
402
437
|
}
|
|
403
438
|
}
|
|
@@ -407,8 +442,8 @@ var SServerStartError = (err) => {
|
|
|
407
442
|
// src/core/webServer.core.ts
|
|
408
443
|
var import_opticore_request_call_event = require("opticore-request-call-event");
|
|
409
444
|
var import_opticore_inject_dependency = require("opticore-inject-dependency");
|
|
410
|
-
var
|
|
411
|
-
var
|
|
445
|
+
var import_opticore_http_response4 = require("opticore-http-response");
|
|
446
|
+
var import_opticore_translator4 = require("opticore-translator");
|
|
412
447
|
var WebServerCore = class {
|
|
413
448
|
serverUtility;
|
|
414
449
|
expressApp = (0, import_opticore_express2.express)();
|
|
@@ -419,7 +454,9 @@ var WebServerCore = class {
|
|
|
419
454
|
environnementPath;
|
|
420
455
|
serverListenEvent;
|
|
421
456
|
translateWebAppCoreLanguageLoader;
|
|
457
|
+
static dependenciesRegistered = false;
|
|
422
458
|
constructor(app, loggerConfig2, localLanguage, environnementPath, corsOriginOptions) {
|
|
459
|
+
containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
|
|
423
460
|
this.translateWebAppCoreLanguageLoader = Inject("TranslateWebAppCoreLanguageLoader");
|
|
424
461
|
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage);
|
|
425
462
|
this.stackTraceErrorHandling(localLanguage);
|
|
@@ -436,6 +473,14 @@ var WebServerCore = class {
|
|
|
436
473
|
this.serverListenEvent = new import_opticore_catch_exception_error4.ServerListenEventError(localLanguage);
|
|
437
474
|
this.serverUtility = new CoreService(localLanguage, environnementPath);
|
|
438
475
|
}
|
|
476
|
+
static registerDependencies(dependencies) {
|
|
477
|
+
if (this.dependenciesRegistered) return;
|
|
478
|
+
containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
|
|
479
|
+
dependencies.forEach((value, key) => {
|
|
480
|
+
containerDependency.register(key, value);
|
|
481
|
+
});
|
|
482
|
+
this.dependenciesRegistered = true;
|
|
483
|
+
}
|
|
439
484
|
onStartServer(routers, dbConnexion, dependenciesProvider) {
|
|
440
485
|
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
441
486
|
if (this.getEnvironnement.appHost === "" && Number(this.getEnvironnement.appPort) === 0) {
|
|
@@ -446,11 +491,11 @@ var WebServerCore = class {
|
|
|
446
491
|
this.serverListenEvent.portUndefined();
|
|
447
492
|
} else if (this.localLanguage === "") {
|
|
448
493
|
SLogger().error(
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
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),
|
|
452
497
|
void 0,
|
|
453
|
-
|
|
498
|
+
import_opticore_http_response4.HttpStatusCode.NOT_FOUND
|
|
454
499
|
);
|
|
455
500
|
} else {
|
|
456
501
|
return this.expressApp.listen(
|
|
@@ -459,7 +504,7 @@ var WebServerCore = class {
|
|
|
459
504
|
try {
|
|
460
505
|
dbConnexion;
|
|
461
506
|
new import_opticore_inject_dependency.SContainer(dependenciesProvider, this.localLanguage);
|
|
462
|
-
this.expressApp.use(import_opticore_express2.express.static(
|
|
507
|
+
this.expressApp.use(import_opticore_express2.express.static(path3.join(import_node_process3.default.cwd(), "public/template")));
|
|
463
508
|
this.registerRoutes(routers);
|
|
464
509
|
} catch (err) {
|
|
465
510
|
SServerStartError(err);
|
|
@@ -514,14 +559,10 @@ var WebServerCore = class {
|
|
|
514
559
|
}
|
|
515
560
|
};
|
|
516
561
|
|
|
517
|
-
// src/utils/envPath.utils.ts
|
|
518
|
-
var import_process = __toESM(require("process"), 1);
|
|
519
|
-
var envPath = import_process.default.cwd() + "/config/env/.env";
|
|
520
|
-
|
|
521
562
|
// src/utils/stopServer.utils.ts
|
|
522
563
|
var import_dotenv = __toESM(require("dotenv"), 1);
|
|
523
564
|
var import_child_process = require("child_process");
|
|
524
|
-
var
|
|
565
|
+
var import_opticore_translator5 = require("opticore-translator");
|
|
525
566
|
var UStopServer = () => {
|
|
526
567
|
import_dotenv.default.config();
|
|
527
568
|
const port = process.env.PORT;
|
|
@@ -529,12 +570,12 @@ var UStopServer = () => {
|
|
|
529
570
|
const pid = (0, import_child_process.execSync)(`lsof -i :${port} -t`, { encoding: "utf-8" }).trim();
|
|
530
571
|
if (pid) {
|
|
531
572
|
(0, import_child_process.execSync)(`kill ${pid}`);
|
|
532
|
-
SLogger().success("serverPortKill",
|
|
573
|
+
SLogger().success("serverPortKill", import_opticore_translator5.TranslationLoader.t("serverPortKill", "en", { port }));
|
|
533
574
|
} else {
|
|
534
|
-
SLogger().warn("pidOnPortNotFound",
|
|
575
|
+
SLogger().warn("pidOnPortNotFound", import_opticore_translator5.TranslationLoader.t("pidOnPortNotFound", "en", { port }));
|
|
535
576
|
}
|
|
536
577
|
} catch (error) {
|
|
537
|
-
SLogger().error("noProcessRunningOnPort",
|
|
578
|
+
SLogger().error("noProcessRunningOnPort", import_opticore_translator5.TranslationLoader.t("noProcessRunningOnPort", "en", { port }));
|
|
538
579
|
}
|
|
539
580
|
};
|
|
540
581
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import { CorsOptions } from 'cors';
|
|
|
2
2
|
import { Server } from 'http';
|
|
3
3
|
import { Router, express } from 'opticore-express';
|
|
4
4
|
import { LoggerCore } from 'opticore-logger';
|
|
5
|
-
import { TDependency } from 'opticore-inject-dependency';
|
|
5
|
+
import { TDependencyKey, TDependency } from 'opticore-inject-dependency';
|
|
6
6
|
|
|
7
7
|
interface IRouteDefinition {
|
|
8
8
|
path: string;
|
|
@@ -23,7 +23,9 @@ declare class WebServerCore {
|
|
|
23
23
|
private readonly environnementPath;
|
|
24
24
|
private serverListenEvent;
|
|
25
25
|
private translateWebAppCoreLanguageLoader;
|
|
26
|
+
private static dependenciesRegistered;
|
|
26
27
|
constructor(app: express.Application, loggerConfig: LoggerCore, localLanguage: string, environnementPath: any, corsOriginOptions?: Partial<CorsOptions>);
|
|
28
|
+
static registerDependencies(dependencies: Map<TDependencyKey, any>): void;
|
|
27
29
|
onStartServer(routers: TFeatureRoutes[], dbConnexion: (envPath: any, optionalArgumentConnection?: string | any) => void, dependenciesProvider?: TDependency[]): any;
|
|
28
30
|
onListeningOnServerEvent(serverWeb: Server): void;
|
|
29
31
|
onRequestOnServerEvent(serverWeb: Server): void;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { CorsOptions } from 'cors';
|
|
|
2
2
|
import { Server } from 'http';
|
|
3
3
|
import { Router, express } from 'opticore-express';
|
|
4
4
|
import { LoggerCore } from 'opticore-logger';
|
|
5
|
-
import { TDependency } from 'opticore-inject-dependency';
|
|
5
|
+
import { TDependencyKey, TDependency } from 'opticore-inject-dependency';
|
|
6
6
|
|
|
7
7
|
interface IRouteDefinition {
|
|
8
8
|
path: string;
|
|
@@ -23,7 +23,9 @@ declare class WebServerCore {
|
|
|
23
23
|
private readonly environnementPath;
|
|
24
24
|
private serverListenEvent;
|
|
25
25
|
private translateWebAppCoreLanguageLoader;
|
|
26
|
+
private static dependenciesRegistered;
|
|
26
27
|
constructor(app: express.Application, loggerConfig: LoggerCore, localLanguage: string, environnementPath: any, corsOriginOptions?: Partial<CorsOptions>);
|
|
28
|
+
static registerDependencies(dependencies: Map<TDependencyKey, any>): void;
|
|
27
29
|
onStartServer(routers: TFeatureRoutes[], dbConnexion: (envPath: any, optionalArgumentConnection?: string | any) => void, dependenciesProvider?: TDependency[]): any;
|
|
28
30
|
onListeningOnServerEvent(serverWeb: Server): void;
|
|
29
31
|
onRequestOnServerEvent(serverWeb: Server): void;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/core/webServer.core.ts
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as path3 from "path";
|
|
3
|
+
import process5 from "node:process";
|
|
4
4
|
import corsOrigin from "cors";
|
|
5
5
|
import {
|
|
6
6
|
CEventNameError as eventName2,
|
|
@@ -69,15 +69,15 @@ function eventProcessHandler(localeLanguage) {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
// src/application/service/core.service.ts
|
|
72
|
-
import
|
|
72
|
+
import process4 from "node:process";
|
|
73
73
|
import chalk from "chalk";
|
|
74
|
-
import * as
|
|
74
|
+
import * as path2 from "path";
|
|
75
75
|
import * as fs from "fs";
|
|
76
76
|
import colors3 from "ansi-colors";
|
|
77
77
|
import { HttpStatusCode as status } from "opticore-http-response";
|
|
78
|
-
import { TranslationLoader as
|
|
78
|
+
import { TranslationLoader as TranslationLoader3 } from "opticore-translator";
|
|
79
79
|
import { getEnvironnementValue as getEnvironnementValue2 } from "opticore-env-access";
|
|
80
|
-
import { LoggerCore } from "opticore-logger";
|
|
80
|
+
import { LoggerCore as LoggerCore2 } from "opticore-logger";
|
|
81
81
|
|
|
82
82
|
// src/core/helpers/modulesLoaded.utils.ts
|
|
83
83
|
import colors2 from "ansi-colors";
|
|
@@ -155,6 +155,38 @@ var loggerConfig = (envDir) => {
|
|
|
155
155
|
};
|
|
156
156
|
};
|
|
157
157
|
|
|
158
|
+
// src/core/config/loaders/translateLanguage.loader.ts
|
|
159
|
+
import path from "path";
|
|
160
|
+
import { createRequire } from "module";
|
|
161
|
+
import { TranslationLoader as TranslationLoader2 } from "opticore-translator";
|
|
162
|
+
|
|
163
|
+
// src/application/service/logger.service.ts
|
|
164
|
+
import { LoggerCore } from "opticore-logger";
|
|
165
|
+
var SLogger = () => {
|
|
166
|
+
return new LoggerCore();
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
// src/core/config/loaders/translateLanguage.loader.ts
|
|
170
|
+
import { HttpStatusCode } from "opticore-http-response";
|
|
171
|
+
var TranslateWebAppCoreLanguageLoader = class {
|
|
172
|
+
translateLanguageLoader(localLang) {
|
|
173
|
+
try {
|
|
174
|
+
const require2 = createRequire(import.meta.url);
|
|
175
|
+
const packagePath = path.dirname(require2.resolve("opticore-webapp"));
|
|
176
|
+
const translateMsgJsonFilePath = path.join(packagePath, "utils", "translations");
|
|
177
|
+
TranslationLoader2.loadTranslations(translateMsgJsonFilePath);
|
|
178
|
+
} 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
|
+
);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
|
|
158
190
|
// src/core/helpers/container.utils.ts
|
|
159
191
|
var Container = class {
|
|
160
192
|
dependencies = /* @__PURE__ */ new Map();
|
|
@@ -177,6 +209,10 @@ function Inject(key) {
|
|
|
177
209
|
return containerDependency.resolve(key);
|
|
178
210
|
}
|
|
179
211
|
|
|
212
|
+
// src/utils/envPath.utils.ts
|
|
213
|
+
import process3 from "process";
|
|
214
|
+
var envPath = process3.cwd() + "/config/env/.env";
|
|
215
|
+
|
|
180
216
|
// src/application/service/core.service.ts
|
|
181
217
|
var CoreService = class {
|
|
182
218
|
loggerConfig;
|
|
@@ -184,8 +220,9 @@ var CoreService = class {
|
|
|
184
220
|
environnementPath;
|
|
185
221
|
translateWebAppCoreLanguageLoader;
|
|
186
222
|
constructor(localLang, environnementPath) {
|
|
223
|
+
containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
|
|
187
224
|
this.translateWebAppCoreLanguageLoader = Inject("TranslateWebAppCoreLanguageLoader");
|
|
188
|
-
this.loggerConfig = new
|
|
225
|
+
this.loggerConfig = new LoggerCore2(loggerConfig(environnementPath));
|
|
189
226
|
this.environnementPath = environnementPath;
|
|
190
227
|
this.localLanguage = localLang;
|
|
191
228
|
}
|
|
@@ -203,7 +240,7 @@ var CoreService = class {
|
|
|
203
240
|
* Returns an Object containing a node version, openssl, and v0
|
|
204
241
|
*/
|
|
205
242
|
getVersions() {
|
|
206
|
-
const { node, openssl, v8 } =
|
|
243
|
+
const { node, openssl, v8 } = process4.versions;
|
|
207
244
|
const data = {
|
|
208
245
|
"node version": node,
|
|
209
246
|
"openssl": openssl,
|
|
@@ -224,33 +261,33 @@ var CoreService = class {
|
|
|
224
261
|
*/
|
|
225
262
|
getUsageMemory() {
|
|
226
263
|
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
227
|
-
const memoryData =
|
|
264
|
+
const memoryData = process4.memoryUsage();
|
|
228
265
|
const data = {
|
|
229
|
-
[
|
|
230
|
-
[
|
|
231
|
-
[
|
|
232
|
-
[
|
|
233
|
-
[
|
|
234
|
-
[
|
|
266
|
+
[TranslationLoader3.t("totalMemoryAllocated", this.localLanguage)]: this.formatMemoryUsage(memoryData.rss),
|
|
267
|
+
[TranslationLoader3.t("sizeAllocatedHeap", this.localLanguage)]: this.formatMemoryUsage(memoryData.heapTotal),
|
|
268
|
+
[TranslationLoader3.t("memoryUsedExecution", this.localLanguage)]: this.formatMemoryUsage(memoryData.heapUsed),
|
|
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)
|
|
235
272
|
};
|
|
236
273
|
return {
|
|
237
|
-
"rss": data[
|
|
238
|
-
"heapTotal": data[
|
|
239
|
-
"heapUsed": data[
|
|
240
|
-
"external": data[
|
|
241
|
-
"user": data[
|
|
242
|
-
"system": data[
|
|
274
|
+
"rss": data[TranslationLoader3.t("totalMemoryAllocated", this.localLanguage)],
|
|
275
|
+
"heapTotal": data[TranslationLoader3.t("sizeAllocatedHeap", this.localLanguage)],
|
|
276
|
+
"heapUsed": data[TranslationLoader3.t("memoryUsedExecution", this.localLanguage)],
|
|
277
|
+
"external": data[TranslationLoader3.t("externalMemory", this.localLanguage)],
|
|
278
|
+
"user": data[TranslationLoader3.t("memoryUsageUser", this.localLanguage)],
|
|
279
|
+
"system": data[TranslationLoader3.t("memoryUsageSystem", this.localLanguage)]
|
|
243
280
|
};
|
|
244
281
|
}
|
|
245
282
|
/**
|
|
246
283
|
* Return an Object containing a project path and running server time
|
|
247
284
|
*/
|
|
248
285
|
getProjectInfo() {
|
|
249
|
-
const startTime =
|
|
250
|
-
const endTime =
|
|
286
|
+
const startTime = process4.hrtime();
|
|
287
|
+
const endTime = process4.hrtime(startTime);
|
|
251
288
|
const executionTime = (endTime[0] * 1e9 + endTime[1]) / 1e6;
|
|
252
289
|
return {
|
|
253
|
-
"projectPath":
|
|
290
|
+
"projectPath": path2.join(process4.cwd()),
|
|
254
291
|
"startingTime": `${executionTime.toFixed(5)} ms`
|
|
255
292
|
};
|
|
256
293
|
}
|
|
@@ -262,7 +299,7 @@ var CoreService = class {
|
|
|
262
299
|
* Return void
|
|
263
300
|
*/
|
|
264
301
|
getEnvFileLoading(filePath) {
|
|
265
|
-
const fullPath =
|
|
302
|
+
const fullPath = path2.resolve(process4.cwd(), filePath);
|
|
266
303
|
if (fs.existsSync(fullPath)) {
|
|
267
304
|
const env = fs.readFileSync(fullPath, "utf-8");
|
|
268
305
|
const lines = env.split("\n");
|
|
@@ -270,7 +307,7 @@ var CoreService = class {
|
|
|
270
307
|
const match = line.match(/^([^#=]+)=([^#]+)$/);
|
|
271
308
|
if (match) {
|
|
272
309
|
const key = match[1].trim();
|
|
273
|
-
|
|
310
|
+
process4.env[key] = match[2].trim();
|
|
274
311
|
}
|
|
275
312
|
});
|
|
276
313
|
}
|
|
@@ -285,12 +322,14 @@ var CoreService = class {
|
|
|
285
322
|
getServerRunningMode(development, production) {
|
|
286
323
|
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
287
324
|
this.getEnvFileLoading(".env");
|
|
288
|
-
const env = getEnvironnementValue2(
|
|
289
|
-
const isDevelopment = env.devEnv === development && env.prodEnv ===
|
|
325
|
+
const env = getEnvironnementValue2(path2.join(envPath));
|
|
326
|
+
const isDevelopment = env.devEnv === development && env.prodEnv === "";
|
|
290
327
|
if (isDevelopment) {
|
|
291
|
-
return `${
|
|
328
|
+
return `${TranslationLoader3.t("serverRunning", this.localLanguage)} ${colors3.bgBlue(`${colors3.bold(`${development}`)}`)} mode`;
|
|
329
|
+
} else if (!isDevelopment) {
|
|
330
|
+
return `${TranslationLoader3.t("serverRunning", this.localLanguage)} ${colors3.bgBlue(`${colors3.bold(`${production}`)}`)} mode`;
|
|
292
331
|
} else {
|
|
293
|
-
return `${
|
|
332
|
+
return `${TranslationLoader3.t("serverRunning", this.localLanguage)} ${colors3.bgBlue(`${colors3.bold(`${development}`)}`)} mode`;
|
|
294
333
|
}
|
|
295
334
|
}
|
|
296
335
|
infoServer(nodeVersion, startingTime, host, port) {
|
|
@@ -298,10 +337,10 @@ var CoreService = class {
|
|
|
298
337
|
const getEnvironnement = getEnvironnementValue2(this.environnementPath);
|
|
299
338
|
const msg5 = getEnvironnement.protocolTransfert === "" ? `${colors3.underline(`http://${host}:${port}`)}` : `${colors3.underline(`${getEnvironnement.protocolTransfert}://${host}:${port}`)}`;
|
|
300
339
|
const messages = [
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
this.getServerRunningMode(
|
|
340
|
+
TranslationLoader3.t("webServerListening", this.localLanguage),
|
|
341
|
+
TranslationLoader3.t("webServerUsingNodeVersion", this.localLanguage),
|
|
342
|
+
TranslationLoader3.t("startTime", this.localLanguage),
|
|
343
|
+
this.getServerRunningMode(TranslationLoader3.t("runningModeDev", this.localLanguage), TranslationLoader3.t("runningModeProd", this.localLanguage)),
|
|
305
344
|
msg5
|
|
306
345
|
];
|
|
307
346
|
const maxLength = Math.max(...messages.map((m) => {
|
|
@@ -334,8 +373,8 @@ var CoreService = class {
|
|
|
334
373
|
})();
|
|
335
374
|
} else {
|
|
336
375
|
const stackTrace = STraceError(
|
|
337
|
-
|
|
338
|
-
|
|
376
|
+
TranslationLoader3.t("loadedModulesError", this.localLanguage),
|
|
377
|
+
TranslationLoader3.t("loadedModules", this.localLanguage),
|
|
339
378
|
status.NOT_ACCEPTABLE,
|
|
340
379
|
true
|
|
341
380
|
);
|
|
@@ -349,27 +388,19 @@ import {
|
|
|
349
388
|
CCodeError,
|
|
350
389
|
CErrorName
|
|
351
390
|
} from "opticore-catch-exception-error";
|
|
352
|
-
|
|
353
|
-
// src/application/service/logger.service.ts
|
|
354
|
-
import { LoggerCore as LoggerCore2 } from "opticore-logger";
|
|
355
|
-
var SLogger = () => {
|
|
356
|
-
return new LoggerCore2();
|
|
357
|
-
};
|
|
358
|
-
|
|
359
|
-
// src/application/service/serverStartError.service.ts
|
|
360
|
-
import { HttpStatusCode } from "opticore-http-response";
|
|
391
|
+
import { HttpStatusCode as HttpStatusCode2 } from "opticore-http-response";
|
|
361
392
|
var SServerStartError = (err) => {
|
|
362
393
|
if (err.name) {
|
|
363
394
|
for (const [key, code] of Object.entries(CErrorName)) {
|
|
364
395
|
if (err.name === code) {
|
|
365
|
-
SLogger().error(err.message, code, code, err.stack,
|
|
396
|
+
SLogger().error(err.message, code, code, err.stack, HttpStatusCode2.INTERNAL_SERVER_ERROR);
|
|
366
397
|
break;
|
|
367
398
|
}
|
|
368
399
|
}
|
|
369
400
|
} else {
|
|
370
401
|
for (const [key, code] of Object.entries(CCodeError)) {
|
|
371
402
|
if (err.code === code) {
|
|
372
|
-
SLogger().error(err.message, code, key, err.stack,
|
|
403
|
+
SLogger().error(err.message, code, key, err.stack, HttpStatusCode2.INTERNAL_SERVER_ERROR);
|
|
373
404
|
break;
|
|
374
405
|
}
|
|
375
406
|
}
|
|
@@ -379,8 +410,8 @@ var SServerStartError = (err) => {
|
|
|
379
410
|
// src/core/webServer.core.ts
|
|
380
411
|
import { requestCallsEvent } from "opticore-request-call-event";
|
|
381
412
|
import { SContainer } from "opticore-inject-dependency";
|
|
382
|
-
import { HttpStatusCode as
|
|
383
|
-
import { TranslationLoader as
|
|
413
|
+
import { HttpStatusCode as HttpStatusCode3 } from "opticore-http-response";
|
|
414
|
+
import { TranslationLoader as TranslationLoader4 } from "opticore-translator";
|
|
384
415
|
var WebServerCore = class {
|
|
385
416
|
serverUtility;
|
|
386
417
|
expressApp = express2();
|
|
@@ -391,7 +422,9 @@ var WebServerCore = class {
|
|
|
391
422
|
environnementPath;
|
|
392
423
|
serverListenEvent;
|
|
393
424
|
translateWebAppCoreLanguageLoader;
|
|
425
|
+
static dependenciesRegistered = false;
|
|
394
426
|
constructor(app, loggerConfig2, localLanguage, environnementPath, corsOriginOptions) {
|
|
427
|
+
containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
|
|
395
428
|
this.translateWebAppCoreLanguageLoader = Inject("TranslateWebAppCoreLanguageLoader");
|
|
396
429
|
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(localLanguage);
|
|
397
430
|
this.stackTraceErrorHandling(localLanguage);
|
|
@@ -408,6 +441,14 @@ var WebServerCore = class {
|
|
|
408
441
|
this.serverListenEvent = new ServerListenEventError2(localLanguage);
|
|
409
442
|
this.serverUtility = new CoreService(localLanguage, environnementPath);
|
|
410
443
|
}
|
|
444
|
+
static registerDependencies(dependencies) {
|
|
445
|
+
if (this.dependenciesRegistered) return;
|
|
446
|
+
containerDependency.register("TranslateWebAppCoreLanguageLoader", new TranslateWebAppCoreLanguageLoader());
|
|
447
|
+
dependencies.forEach((value, key) => {
|
|
448
|
+
containerDependency.register(key, value);
|
|
449
|
+
});
|
|
450
|
+
this.dependenciesRegistered = true;
|
|
451
|
+
}
|
|
411
452
|
onStartServer(routers, dbConnexion, dependenciesProvider) {
|
|
412
453
|
this.translateWebAppCoreLanguageLoader.translateLanguageLoader(this.localLanguage);
|
|
413
454
|
if (this.getEnvironnement.appHost === "" && Number(this.getEnvironnement.appPort) === 0) {
|
|
@@ -418,11 +459,11 @@ var WebServerCore = class {
|
|
|
418
459
|
this.serverListenEvent.portUndefined();
|
|
419
460
|
} else if (this.localLanguage === "") {
|
|
420
461
|
SLogger().error(
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
462
|
+
TranslationLoader4.t("noDefaultLocalLang", this.localLanguage),
|
|
463
|
+
TranslationLoader4.t("noLocalLang", this.localLanguage),
|
|
464
|
+
TranslationLoader4.t("localLangMissing", this.localLanguage),
|
|
424
465
|
void 0,
|
|
425
|
-
|
|
466
|
+
HttpStatusCode3.NOT_FOUND
|
|
426
467
|
);
|
|
427
468
|
} else {
|
|
428
469
|
return this.expressApp.listen(
|
|
@@ -431,7 +472,7 @@ var WebServerCore = class {
|
|
|
431
472
|
try {
|
|
432
473
|
dbConnexion;
|
|
433
474
|
new SContainer(dependenciesProvider, this.localLanguage);
|
|
434
|
-
this.expressApp.use(express2.static(
|
|
475
|
+
this.expressApp.use(express2.static(path3.join(process5.cwd(), "public/template")));
|
|
435
476
|
this.registerRoutes(routers);
|
|
436
477
|
} catch (err) {
|
|
437
478
|
SServerStartError(err);
|
|
@@ -486,14 +527,10 @@ var WebServerCore = class {
|
|
|
486
527
|
}
|
|
487
528
|
};
|
|
488
529
|
|
|
489
|
-
// src/utils/envPath.utils.ts
|
|
490
|
-
import process5 from "process";
|
|
491
|
-
var envPath = process5.cwd() + "/config/env/.env";
|
|
492
|
-
|
|
493
530
|
// src/utils/stopServer.utils.ts
|
|
494
531
|
import dotenv from "dotenv";
|
|
495
532
|
import { execSync } from "child_process";
|
|
496
|
-
import { TranslationLoader as
|
|
533
|
+
import { TranslationLoader as TranslationLoader5 } from "opticore-translator";
|
|
497
534
|
var UStopServer = () => {
|
|
498
535
|
dotenv.config();
|
|
499
536
|
const port = process.env.PORT;
|
|
@@ -501,12 +538,12 @@ var UStopServer = () => {
|
|
|
501
538
|
const pid = execSync(`lsof -i :${port} -t`, { encoding: "utf-8" }).trim();
|
|
502
539
|
if (pid) {
|
|
503
540
|
execSync(`kill ${pid}`);
|
|
504
|
-
SLogger().success("serverPortKill",
|
|
541
|
+
SLogger().success("serverPortKill", TranslationLoader5.t("serverPortKill", "en", { port }));
|
|
505
542
|
} else {
|
|
506
|
-
SLogger().warn("pidOnPortNotFound",
|
|
543
|
+
SLogger().warn("pidOnPortNotFound", TranslationLoader5.t("pidOnPortNotFound", "en", { port }));
|
|
507
544
|
}
|
|
508
545
|
} catch (error) {
|
|
509
|
-
SLogger().error("noProcessRunningOnPort",
|
|
546
|
+
SLogger().error("noProcessRunningOnPort", TranslationLoader5.t("noProcessRunningOnPort", "en", { port }));
|
|
510
547
|
}
|
|
511
548
|
};
|
|
512
549
|
export {
|