@webda/core 2.0.0-beta.1 → 2.0.0

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.
Files changed (279) hide show
  1. package/lib/application.d.ts +9 -21
  2. package/lib/application.js +71 -84
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +121 -140
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +86 -46
  7. package/lib/core.js +254 -316
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +326 -391
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +49 -45
  12. package/lib/index.js +54 -67
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +2 -2
  15. package/lib/models/aclmodel.js +63 -90
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +127 -151
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +84 -11
  20. package/lib/models/coremodel.js +104 -103
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +91 -91
  23. package/lib/models/coremodel.spec.js.map +1 -1
  24. package/lib/models/deployment.js +1 -2
  25. package/lib/models/ident.d.ts +5 -3
  26. package/lib/models/ident.js +4 -9
  27. package/lib/models/ident.js.map +1 -1
  28. package/lib/models/ident.spec.js +9 -11
  29. package/lib/models/ident.spec.js.map +1 -1
  30. package/lib/models/ownermodel.d.ts +12 -2
  31. package/lib/models/ownermodel.js +54 -62
  32. package/lib/models/ownermodel.js.map +1 -1
  33. package/lib/models/ownermodel.spec.js +129 -152
  34. package/lib/models/ownermodel.spec.js.map +1 -1
  35. package/lib/models/rolemodel.d.ts +2 -2
  36. package/lib/models/rolemodel.js +24 -40
  37. package/lib/models/rolemodel.js.map +1 -1
  38. package/lib/models/rolemodel.spec.js +44 -61
  39. package/lib/models/rolemodel.spec.js.map +1 -1
  40. package/lib/models/user.d.ts +5 -5
  41. package/lib/models/user.js +3 -8
  42. package/lib/models/user.js.map +1 -1
  43. package/lib/models/user.spec.js +14 -16
  44. package/lib/models/user.spec.js.map +1 -1
  45. package/lib/queues/filequeue.d.ts +2 -2
  46. package/lib/queues/filequeue.js +72 -93
  47. package/lib/queues/filequeue.js.map +1 -1
  48. package/lib/queues/filequeue.spec.js +53 -70
  49. package/lib/queues/filequeue.spec.js.map +1 -1
  50. package/lib/queues/memoryqueue.d.ts +2 -2
  51. package/lib/queues/memoryqueue.js +37 -61
  52. package/lib/queues/memoryqueue.js.map +1 -1
  53. package/lib/queues/memoryqueue.spec.js +142 -165
  54. package/lib/queues/memoryqueue.spec.js.map +1 -1
  55. package/lib/queues/pubsubservice.d.ts +2 -2
  56. package/lib/queues/pubsubservice.js +3 -7
  57. package/lib/queues/pubsubservice.js.map +1 -1
  58. package/lib/queues/queue.spec.d.ts +1 -1
  59. package/lib/queues/queue.spec.js +42 -56
  60. package/lib/queues/queue.spec.js.map +1 -1
  61. package/lib/queues/queueservice.d.ts +4 -4
  62. package/lib/queues/queueservice.js +52 -67
  63. package/lib/queues/queueservice.js.map +1 -1
  64. package/lib/router.d.ts +7 -3
  65. package/lib/router.js +49 -48
  66. package/lib/router.js.map +1 -1
  67. package/lib/router.spec.js +64 -61
  68. package/lib/router.spec.js.map +1 -1
  69. package/lib/services/asyncevents.d.ts +2 -2
  70. package/lib/services/asyncevents.js +44 -64
  71. package/lib/services/asyncevents.js.map +1 -1
  72. package/lib/services/asyncevents.spec.js +81 -98
  73. package/lib/services/asyncevents.spec.js.map +1 -1
  74. package/lib/services/authentication.d.ts +28 -19
  75. package/lib/services/authentication.js +539 -571
  76. package/lib/services/authentication.js.map +1 -1
  77. package/lib/services/authentication.spec.js +411 -447
  78. package/lib/services/authentication.spec.js.map +1 -1
  79. package/lib/services/binary.d.ts +8 -6
  80. package/lib/services/binary.js +212 -244
  81. package/lib/services/binary.js.map +1 -1
  82. package/lib/services/binary.spec.d.ts +3 -3
  83. package/lib/services/binary.spec.js +390 -443
  84. package/lib/services/binary.spec.js.map +1 -1
  85. package/lib/services/cloudbinary.d.ts +3 -3
  86. package/lib/services/cloudbinary.js +46 -71
  87. package/lib/services/cloudbinary.js.map +1 -1
  88. package/lib/services/cloudbinary.spec.d.ts +3 -3
  89. package/lib/services/cloudbinary.spec.js +133 -162
  90. package/lib/services/cloudbinary.spec.js.map +1 -1
  91. package/lib/services/configuration.d.ts +6 -3
  92. package/lib/services/configuration.js +78 -103
  93. package/lib/services/configuration.js.map +1 -1
  94. package/lib/services/configuration.spec.js +63 -83
  95. package/lib/services/configuration.spec.js.map +1 -1
  96. package/lib/services/cron.d.ts +3 -2
  97. package/lib/services/cron.js +9 -13
  98. package/lib/services/cron.js.map +1 -1
  99. package/lib/services/cron.spec.js +18 -21
  100. package/lib/services/cron.spec.js.map +1 -1
  101. package/lib/services/cryptoservice.d.ts +258 -0
  102. package/lib/services/cryptoservice.js +312 -0
  103. package/lib/services/cryptoservice.js.map +1 -0
  104. package/lib/services/cryptoservice.spec.d.ts +1 -0
  105. package/lib/services/cryptoservice.spec.js +137 -0
  106. package/lib/services/cryptoservice.spec.js.map +1 -0
  107. package/lib/services/debugmailer.d.ts +1 -1
  108. package/lib/services/debugmailer.js +13 -34
  109. package/lib/services/debugmailer.js.map +1 -1
  110. package/lib/services/debugmailer.spec.js +16 -29
  111. package/lib/services/debugmailer.spec.js.map +1 -1
  112. package/lib/services/echo.d.ts +2 -2
  113. package/lib/services/echo.js +15 -31
  114. package/lib/services/echo.js.map +1 -1
  115. package/lib/services/echo.spec.js +27 -40
  116. package/lib/services/echo.spec.js.map +1 -1
  117. package/lib/services/filebinary.d.ts +15 -5
  118. package/lib/services/filebinary.js +171 -200
  119. package/lib/services/filebinary.js.map +1 -1
  120. package/lib/services/filebinary.spec.d.ts +2 -1
  121. package/lib/services/filebinary.spec.js +106 -117
  122. package/lib/services/filebinary.spec.js.map +1 -1
  123. package/lib/services/fileconfiguration.d.ts +2 -2
  124. package/lib/services/fileconfiguration.js +25 -43
  125. package/lib/services/fileconfiguration.js.map +1 -1
  126. package/lib/services/fileconfiguration.spec.js +79 -109
  127. package/lib/services/fileconfiguration.spec.js.map +1 -1
  128. package/lib/services/invitationservice.d.ts +9 -9
  129. package/lib/services/invitationservice.js +275 -313
  130. package/lib/services/invitationservice.js.map +1 -1
  131. package/lib/services/invitationservice.spec.js +442 -448
  132. package/lib/services/invitationservice.spec.js.map +1 -1
  133. package/lib/services/kubernetesconfiguration.d.ts +2 -2
  134. package/lib/services/kubernetesconfiguration.js +41 -59
  135. package/lib/services/kubernetesconfiguration.js.map +1 -1
  136. package/lib/services/kubernetesconfiguration.spec.js +80 -98
  137. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  138. package/lib/services/mailer.d.ts +4 -4
  139. package/lib/services/mailer.js +62 -86
  140. package/lib/services/mailer.js.map +1 -1
  141. package/lib/services/mailer.spec.js +86 -127
  142. package/lib/services/mailer.spec.js.map +1 -1
  143. package/lib/services/notificationservice.d.ts +4 -4
  144. package/lib/services/notificationservice.js +23 -42
  145. package/lib/services/notificationservice.js.map +1 -1
  146. package/lib/services/notificationservice.spec.js +47 -73
  147. package/lib/services/notificationservice.spec.js.map +1 -1
  148. package/lib/services/oauth.d.ts +32 -6
  149. package/lib/services/oauth.js +73 -78
  150. package/lib/services/oauth.js.map +1 -1
  151. package/lib/services/oauth.spec.js +128 -147
  152. package/lib/services/oauth.spec.js.map +1 -1
  153. package/lib/services/proxy.d.ts +74 -0
  154. package/lib/services/proxy.js +126 -0
  155. package/lib/services/proxy.js.map +1 -0
  156. package/lib/services/proxy.spec.d.ts +1 -0
  157. package/lib/services/proxy.spec.js +59 -0
  158. package/lib/services/proxy.spec.js.map +1 -0
  159. package/lib/services/resource.d.ts +2 -2
  160. package/lib/services/resource.js +12 -18
  161. package/lib/services/resource.js.map +1 -1
  162. package/lib/services/resource.spec.js +67 -99
  163. package/lib/services/resource.spec.js.map +1 -1
  164. package/lib/services/service.d.ts +33 -7
  165. package/lib/services/service.js +74 -42
  166. package/lib/services/service.js.map +1 -1
  167. package/lib/services/service.spec.js +62 -67
  168. package/lib/services/service.spec.js.map +1 -1
  169. package/lib/services/version.d.ts +1 -1
  170. package/lib/services/version.js +3 -8
  171. package/lib/services/version.js.map +1 -1
  172. package/lib/services/version.spec.js +11 -24
  173. package/lib/services/version.spec.js.map +1 -1
  174. package/lib/stores/aggregator.d.ts +3 -3
  175. package/lib/stores/aggregator.js +37 -57
  176. package/lib/stores/aggregator.js.map +1 -1
  177. package/lib/stores/file.d.ts +3 -3
  178. package/lib/stores/file.js +93 -131
  179. package/lib/stores/file.js.map +1 -1
  180. package/lib/stores/file.spec.d.ts +2 -2
  181. package/lib/stores/file.spec.js +261 -289
  182. package/lib/stores/file.spec.js.map +1 -1
  183. package/lib/stores/mapper.d.ts +4 -4
  184. package/lib/stores/mapper.js +112 -137
  185. package/lib/stores/mapper.js.map +1 -1
  186. package/lib/stores/mapper.spec.js +131 -150
  187. package/lib/stores/mapper.spec.js.map +1 -1
  188. package/lib/stores/memory.d.ts +67 -6
  189. package/lib/stores/memory.js +155 -117
  190. package/lib/stores/memory.js.map +1 -1
  191. package/lib/stores/memory.spec.d.ts +3 -2
  192. package/lib/stores/memory.spec.js +127 -105
  193. package/lib/stores/memory.spec.js.map +1 -1
  194. package/lib/stores/store.d.ts +35 -15
  195. package/lib/stores/store.js +839 -821
  196. package/lib/stores/store.js.map +1 -1
  197. package/lib/stores/store.spec.d.ts +6 -4
  198. package/lib/stores/store.spec.js +627 -647
  199. package/lib/stores/store.spec.js.map +1 -1
  200. package/lib/stores/webdaql/WebdaQLLexer.d.ts +4 -4
  201. package/lib/stores/webdaql/WebdaQLLexer.js +9 -13
  202. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  203. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +4 -4
  204. package/lib/stores/webdaql/WebdaQLParserLexer.js +9 -13
  205. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  206. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +2 -2
  207. package/lib/stores/webdaql/WebdaQLParserListener.js +1 -2
  208. package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -1
  209. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +10 -10
  210. package/lib/stores/webdaql/WebdaQLParserParser.js +62 -91
  211. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  212. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +2 -2
  213. package/lib/stores/webdaql/WebdaQLParserVisitor.js +1 -2
  214. package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -1
  215. package/lib/stores/webdaql/query.d.ts +4 -5
  216. package/lib/stores/webdaql/query.js +16 -19
  217. package/lib/stores/webdaql/query.js.map +1 -1
  218. package/lib/stores/webdaql/query.spec.js +30 -32
  219. package/lib/stores/webdaql/query.spec.js.map +1 -1
  220. package/lib/test.d.ts +3 -3
  221. package/lib/test.js +74 -94
  222. package/lib/test.js.map +1 -1
  223. package/lib/unpackedapplication.d.ts +1 -1
  224. package/lib/unpackedapplication.js +25 -31
  225. package/lib/unpackedapplication.js.map +1 -1
  226. package/lib/utils/abstractdeployer.js +1 -5
  227. package/lib/utils/abstractdeployer.js.map +1 -1
  228. package/lib/utils/abstractdeployer.spec.js +6 -8
  229. package/lib/utils/abstractdeployer.spec.js.map +1 -1
  230. package/lib/utils/context.d.ts +61 -29
  231. package/lib/utils/context.js +133 -127
  232. package/lib/utils/context.js.map +1 -1
  233. package/lib/utils/context.spec.js +147 -153
  234. package/lib/utils/context.spec.js.map +1 -1
  235. package/lib/utils/cookie.d.ts +66 -45
  236. package/lib/utils/cookie.js +69 -158
  237. package/lib/utils/cookie.js.map +1 -1
  238. package/lib/utils/cookie.spec.js +220 -238
  239. package/lib/utils/cookie.spec.js.map +1 -1
  240. package/lib/utils/esm.d.ts +4 -0
  241. package/lib/utils/esm.js +10 -0
  242. package/lib/utils/esm.js.map +1 -0
  243. package/lib/utils/httpcontext.d.ts +37 -9
  244. package/lib/utils/httpcontext.js +86 -57
  245. package/lib/utils/httpcontext.js.map +1 -1
  246. package/lib/utils/httpcontext.spec.js +37 -48
  247. package/lib/utils/httpcontext.spec.js.map +1 -1
  248. package/lib/utils/logger.d.ts +2 -2
  249. package/lib/utils/logger.js +15 -28
  250. package/lib/utils/logger.js.map +1 -1
  251. package/lib/utils/logger.spec.js +9 -11
  252. package/lib/utils/logger.spec.js.map +1 -1
  253. package/lib/utils/serializers.js +17 -20
  254. package/lib/utils/serializers.js.map +1 -1
  255. package/lib/utils/serializers.spec.js +43 -44
  256. package/lib/utils/serializers.spec.js.map +1 -1
  257. package/lib/utils/session.d.ts +120 -0
  258. package/lib/utils/session.js +155 -0
  259. package/lib/utils/session.js.map +1 -0
  260. package/lib/utils/session.spec.d.ts +1 -0
  261. package/lib/utils/session.spec.js +66 -0
  262. package/lib/utils/session.spec.js.map +1 -0
  263. package/lib/utils/waiter.d.ts +1 -1
  264. package/lib/utils/waiter.js +32 -52
  265. package/lib/utils/waiter.js.map +1 -1
  266. package/lib/utils/waiter.spec.js +75 -92
  267. package/lib/utils/waiter.spec.js.map +1 -1
  268. package/package.json +22 -14
  269. package/test/config-invitation.json +1 -3
  270. package/test/config.json +3 -3
  271. package/test/config.old.json +1 -2
  272. package/test/moddas/annotatedservice.js +5 -5
  273. package/test/moddas/debugmailer.js +2 -3
  274. package/test/moddas/fakeservice.js +2 -3
  275. package/test/moddas/voidstore.js +6 -4
  276. package/test/models/ident.js +2 -6
  277. package/test/models/task.js +3 -7
  278. package/test/package.json +2 -1
  279. package/webda.module.json +956 -188
@@ -1,7 +1,7 @@
1
1
  import { WorkerLogLevel, WorkerOutput } from "@webda/workout";
2
2
  import { JSONSchema7 } from "json-schema";
3
3
  import { OpenAPIV3 } from "openapi-types";
4
- import { Context, Core, CoreModelDefinition, Service } from "./index";
4
+ import { Constructor, Context, Core, CoreModelDefinition, Service } from "./index.js";
5
5
  export declare type PackageDescriptorAuthor = string | {
6
6
  name?: string;
7
7
  email?: string;
@@ -136,6 +136,10 @@ export declare type UnpackedConfiguration = {
136
136
  * Global parameters
137
137
  */
138
138
  parameters?: {
139
+ /**
140
+ * Trust this reverse proxies
141
+ */
142
+ trustedProxies?: string | string[];
139
143
  /**
140
144
  * Allowed origin for referer that match
141
145
  * any of this regexp
@@ -155,26 +159,10 @@ export declare type UnpackedConfiguration = {
155
159
  * Serve statically a website
156
160
  */
157
161
  static?: StaticWebsite;
158
- /**
159
- * Cookie configuration for session
160
- */
161
- cookie?: {
162
- sameSite: "None" | "Strict" | "Lax";
163
- domain: string;
164
- /**
165
- * @minimum 1
166
- */
167
- maxAge: number;
168
- path: string;
169
- };
170
162
  /**
171
163
  * Read from the configuration service before init
172
164
  */
173
165
  configurationService?: string;
174
- /**
175
- * Application salt
176
- */
177
- salt?: string;
178
166
  /**
179
167
  * Define the api url
180
168
  */
@@ -496,7 +484,7 @@ export declare class Application {
496
484
  * @param name
497
485
  * @returns
498
486
  */
499
- getWebdaObject(section: Section, name: any): any;
487
+ getWebdaObject(section: Section, name: string): any;
500
488
  /**
501
489
  * Get a service based on name
502
490
  *
@@ -520,12 +508,12 @@ export declare class Application {
520
508
  *
521
509
  * @param name model to retrieve
522
510
  */
523
- getModel(name: string): Context | CoreModelDefinition;
511
+ getModel<T extends CoreModelDefinition | Constructor<any> = CoreModelDefinition>(name: string): T;
524
512
  /**
525
513
  * Get all models definitions
526
514
  */
527
515
  getModels(): {
528
- [key: string]: Context | CoreModelDefinition;
516
+ [key: string]: Constructor<Context> | CoreModelDefinition;
529
517
  };
530
518
  /**
531
519
  * Return all deployers
@@ -638,7 +626,7 @@ export declare class Application {
638
626
  *
639
627
  * @param info
640
628
  */
641
- importFile(info: string): Promise<any>;
629
+ importFile(info: string, withExport?: boolean): Promise<any>;
642
630
  /**
643
631
  * Load local module
644
632
  */
@@ -1,28 +1,18 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Application = exports.SectionEnum = void 0;
13
- const workout_1 = require("@webda/workout");
14
- const fs = require("fs");
15
- const path = require("path");
16
- const path_1 = require("path");
17
- const index_1 = require("./index");
18
- const serializers_1 = require("./utils/serializers");
19
- var SectionEnum;
1
+ import { WorkerOutput } from "@webda/workout";
2
+ import * as fs from "fs";
3
+ import * as path from "path";
4
+ import { join } from "path";
5
+ import { WebdaError } from "./index.js";
6
+ import { getCommonJS } from "./utils/esm.js";
7
+ import { FileUtils } from "./utils/serializers.js";
8
+ const { __dirname } = getCommonJS(import.meta.url);
9
+ export var SectionEnum;
20
10
  (function (SectionEnum) {
21
11
  SectionEnum["Moddas"] = "moddas";
22
12
  SectionEnum["Deployers"] = "deployers";
23
13
  SectionEnum["Models"] = "models";
24
14
  SectionEnum["Beans"] = "beans";
25
- })(SectionEnum = exports.SectionEnum || (exports.SectionEnum = {}));
15
+ })(SectionEnum || (SectionEnum = {}));
26
16
  /**
27
17
  * Map a Webda Application
28
18
  *
@@ -36,7 +26,7 @@ var SectionEnum;
36
26
  *
37
27
  * @category CoreFeatures
38
28
  */
39
- class Application {
29
+ export class Application {
40
30
  /**
41
31
  *
42
32
  * @param {string} fileOrFolder to load Webda Application from
@@ -71,10 +61,10 @@ class Application {
71
61
  * Detect if running as workspace
72
62
  */
73
63
  this.workspacesPath = "";
74
- this.logger = logger || new workout_1.WorkerOutput();
64
+ this.logger = logger || new WorkerOutput();
75
65
  this.initTime = Date.now();
76
66
  if (!fs.existsSync(file)) {
77
- throw new index_1.WebdaError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: unexisting ${file}`);
67
+ throw new WebdaError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: unexisting ${file}`);
78
68
  }
79
69
  if (fs.lstatSync(file).isDirectory()) {
80
70
  file = path.join(file, "webda.config.jsonc");
@@ -88,12 +78,10 @@ class Application {
88
78
  /**
89
79
  * Import all required modules
90
80
  */
91
- load() {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- this.loadConfiguration(this.configurationFile);
94
- yield this.loadModule(this.baseConfiguration.cachedModules);
95
- return this;
96
- });
81
+ async load() {
82
+ this.loadConfiguration(this.configurationFile);
83
+ await this.loadModule(this.baseConfiguration.cachedModules);
84
+ return this;
97
85
  }
98
86
  /**
99
87
  * Allow subclass to implement migration
@@ -104,16 +92,16 @@ class Application {
104
92
  loadConfiguration(file) {
105
93
  // Check if file is a file or folder
106
94
  if (!fs.existsSync(file)) {
107
- throw new index_1.WebdaError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: ${file}`);
95
+ throw new WebdaError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: ${file}`);
108
96
  }
109
97
  try {
110
- this.baseConfiguration = serializers_1.FileUtils.load(file);
98
+ this.baseConfiguration = FileUtils.load(file);
111
99
  if (this.baseConfiguration.version !== 3) {
112
100
  this.log("ERROR", "Your configuration file should use version 3, see https://docs.webda.io/");
113
101
  }
114
102
  }
115
103
  catch (err) {
116
- throw new index_1.WebdaError("INVALID_WEBDA_CONFIG", `Cannot parse JSON of: ${file}`);
104
+ throw new WebdaError("INVALID_WEBDA_CONFIG", `Cannot parse JSON of: ${file}`);
117
105
  }
118
106
  }
119
107
  /**
@@ -155,8 +143,7 @@ class Application {
155
143
  * In case of workspaces the object is combined
156
144
  */
157
145
  getPackageWebda() {
158
- var _a;
159
- return (((_a = this.baseConfiguration.cachedModules.project) === null || _a === void 0 ? void 0 : _a.webda) || {
146
+ return (this.baseConfiguration.cachedModules.project?.webda || {
160
147
  namespace: "Webda"
161
148
  });
162
149
  }
@@ -164,8 +151,7 @@ class Application {
164
151
  * Retrieve content of package.json
165
152
  */
166
153
  getPackageDescription() {
167
- var _a, _b;
168
- return ((_b = (_a = this.baseConfiguration.cachedModules) === null || _a === void 0 ? void 0 : _a.project) === null || _b === void 0 ? void 0 : _b.package) || {};
154
+ return this.baseConfiguration.cachedModules?.project?.package || {};
169
155
  }
170
156
  /**
171
157
  * Log information
@@ -304,8 +290,7 @@ class Application {
304
290
  * @return the git information
305
291
  */
306
292
  getGitInformation(_packageName, _version) {
307
- var _a;
308
- return (_a = this.baseConfiguration.cachedModules.project) === null || _a === void 0 ? void 0 : _a.git;
293
+ return this.baseConfiguration.cachedModules.project?.git;
309
294
  }
310
295
  /**
311
296
  * Allow variable inside of string
@@ -332,7 +317,11 @@ class Application {
332
317
  throw new Error("Too many variables");
333
318
  }
334
319
  }
335
- return new Function("return `" + templateString.replace(/\$\{([^\}\{]+)}/g, "${this.$1}") + "`;").call(Object.assign(Object.assign(Object.assign({}, this.baseConfiguration.cachedModules.project), { now: this.initTime }), replacements));
320
+ return new Function("return `" + templateString.replace(/\$\{([^\}\{]+)}/g, "${this.$1}") + "`;").call({
321
+ ...this.baseConfiguration.cachedModules.project,
322
+ now: this.initTime,
323
+ ...replacements
324
+ });
336
325
  }
337
326
  /**
338
327
  * Allow variable inside object strings
@@ -423,35 +412,38 @@ class Application {
423
412
  *
424
413
  * @param info
425
414
  */
426
- importFile(info) {
427
- return __awaiter(this, void 0, void 0, function* () {
428
- if (info.startsWith(".")) {
429
- info = (0, path_1.join)(this.appPath, ...info.split("/"));
415
+ async importFile(info, withExport = true) {
416
+ if (info.startsWith(".")) {
417
+ info = join(this.appPath, ...info.split("/"));
418
+ }
419
+ try {
420
+ this.log("TRACE", "Load file", info);
421
+ let [importFilename, importName = "default"] = info.split(":");
422
+ if (!importFilename.endsWith(".js")) {
423
+ importFilename += ".js";
430
424
  }
431
- try {
432
- this.log("TRACE", "Load file", info);
433
- const [importFilename, importName = "default"] = info.split(":");
434
- const importObject = (yield Promise.resolve().then(() => require(importFilename)))[importName];
435
- if (!importObject) {
436
- this.log("WARN", `Module ${importFilename} does not have export named ${importName}`);
437
- }
438
- return importObject;
425
+ const importedFile = await import(importFilename);
426
+ if (!withExport) {
427
+ return;
439
428
  }
440
- catch (err) {
441
- this.log("WARN", "Cannot resolve require", info, err.message);
429
+ const importObject = importedFile[importName];
430
+ if (!importObject) {
431
+ this.log("WARN", `Module ${importFilename} does not have export named ${importName}`);
442
432
  }
443
- });
433
+ return importObject;
434
+ }
435
+ catch (err) {
436
+ this.log("WARN", "Cannot resolve require", info, err.message);
437
+ }
444
438
  }
445
439
  /**
446
440
  * Load local module
447
441
  */
448
- loadLocalModule() {
449
- return __awaiter(this, void 0, void 0, function* () {
450
- let moduleFile = path.join(process.cwd(), "webda.module.json");
451
- if (fs.existsSync(moduleFile)) {
452
- yield this.loadModule(serializers_1.FileUtils.load(moduleFile), process.cwd());
453
- }
454
- });
442
+ async loadLocalModule() {
443
+ let moduleFile = path.join(process.cwd(), "webda.module.json");
444
+ if (fs.existsSync(moduleFile)) {
445
+ await this.loadModule(FileUtils.load(moduleFile), process.cwd());
446
+ }
455
447
  }
456
448
  /**
457
449
  * Load the module,
@@ -459,26 +451,23 @@ class Application {
459
451
  * @protected
460
452
  * @ignore Useless for documentation
461
453
  */
462
- loadModule(module, parent = this.appPath) {
463
- return __awaiter(this, void 0, void 0, function* () {
464
- const info = Object.assign({ beans: {} }, module);
465
- const sectionLoader = (section) => __awaiter(this, void 0, void 0, function* () {
466
- var _a;
467
- var _b, _c;
468
- for (let key in info[section]) {
469
- (_a = (_b = this[section])[_c = key.toLowerCase()]) !== null && _a !== void 0 ? _a : (_b[_c] = yield this.importFile(path.join(parent, info[section][key])));
470
- }
471
- });
472
- yield Promise.all([
473
- sectionLoader("moddas"),
474
- sectionLoader("deployers"),
475
- sectionLoader("models"),
476
- ...Object.keys(info.beans).map(f => {
477
- this.baseConfiguration.cachedModules.beans[f] = info.beans[f];
478
- return Promise.resolve().then(() => require(path.join(parent, info.beans[f]))).catch(this.log.bind(this, "WARN"));
479
- })
480
- ]);
481
- });
454
+ async loadModule(module, parent = this.appPath) {
455
+ const info = { beans: {}, ...module };
456
+ const sectionLoader = async (section) => {
457
+ var _a, _b;
458
+ for (let key in info[section]) {
459
+ (_a = this[section])[_b = key.toLowerCase()] ?? (_a[_b] = await this.importFile(path.join(parent, info[section][key])));
460
+ }
461
+ };
462
+ await Promise.all([
463
+ sectionLoader("moddas"),
464
+ sectionLoader("deployers"),
465
+ sectionLoader("models"),
466
+ ...Object.keys(info.beans).map(f => {
467
+ this.baseConfiguration.cachedModules.beans[f] = info.beans[f];
468
+ return this.importFile(path.join(parent, info.beans[f]), false).catch(this.log.bind(this, "WARN"));
469
+ })
470
+ ]);
482
471
  }
483
472
  /**
484
473
  * Return the full name including namespace
@@ -490,12 +479,11 @@ class Application {
490
479
  * @param name
491
480
  */
492
481
  completeNamespace(name = "") {
493
- var _a, _b;
494
482
  // Do not add a namespace if already present
495
483
  if (name.indexOf("/") >= 0) {
496
484
  return name.toLowerCase();
497
485
  }
498
- return `${((_b = (_a = this.baseConfiguration.cachedModules.project) === null || _a === void 0 ? void 0 : _a.webda) === null || _b === void 0 ? void 0 : _b.namespace) || "webda"}/${name}`.toLowerCase();
486
+ return `${this.baseConfiguration.cachedModules.project?.webda?.namespace || "webda"}/${name}`.toLowerCase();
499
487
  }
500
488
  /**
501
489
  * Check if object extends a class
@@ -517,5 +505,4 @@ class Application {
517
505
  return false;
518
506
  }
519
507
  }
520
- exports.Application = Application;
521
508
  //# sourceMappingURL=application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}