@webda/core 2.4.1 → 3.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 (227) hide show
  1. package/lib/application.d.ts +171 -34
  2. package/lib/application.js +243 -47
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +44 -8
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +113 -54
  7. package/lib/core.js +222 -135
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +87 -43
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/errors.d.ts +65 -0
  12. package/lib/errors.js +113 -0
  13. package/lib/errors.js.map +1 -0
  14. package/lib/errors.spec.d.ts +1 -0
  15. package/lib/errors.spec.js +33 -0
  16. package/lib/errors.spec.js.map +1 -0
  17. package/lib/index.d.ts +3 -0
  18. package/lib/index.js +3 -0
  19. package/lib/index.js.map +1 -1
  20. package/lib/models/aclmodel.d.ts +4 -4
  21. package/lib/models/aclmodel.js +10 -6
  22. package/lib/models/aclmodel.js.map +1 -1
  23. package/lib/models/aclmodel.spec.js +33 -24
  24. package/lib/models/aclmodel.spec.js.map +1 -1
  25. package/lib/models/coremodel.d.ts +284 -92
  26. package/lib/models/coremodel.js +403 -103
  27. package/lib/models/coremodel.js.map +1 -1
  28. package/lib/models/coremodel.spec.js +162 -24
  29. package/lib/models/coremodel.spec.js.map +1 -1
  30. package/lib/models/ident.d.ts +20 -6
  31. package/lib/models/ident.js.map +1 -1
  32. package/lib/models/ownermodel.d.ts +13 -23
  33. package/lib/models/ownermodel.js +24 -51
  34. package/lib/models/ownermodel.js.map +1 -1
  35. package/lib/models/ownermodel.spec.js +23 -11
  36. package/lib/models/ownermodel.spec.js.map +1 -1
  37. package/lib/models/relations.d.ts +167 -0
  38. package/lib/models/relations.js +113 -0
  39. package/lib/models/relations.js.map +1 -0
  40. package/lib/models/rolemodel.d.ts +3 -3
  41. package/lib/models/rolemodel.js +6 -6
  42. package/lib/models/rolemodel.js.map +1 -1
  43. package/lib/models/rolemodel.spec.js +12 -12
  44. package/lib/models/rolemodel.spec.js.map +1 -1
  45. package/lib/models/user.d.ts +40 -24
  46. package/lib/models/user.js +74 -48
  47. package/lib/models/user.js.map +1 -1
  48. package/lib/models/user.spec.js +24 -4
  49. package/lib/models/user.spec.js.map +1 -1
  50. package/lib/queues/memoryqueue.spec.js +9 -5
  51. package/lib/queues/memoryqueue.spec.js.map +1 -1
  52. package/lib/queues/queueservice.js.map +1 -1
  53. package/lib/router.d.ts +17 -8
  54. package/lib/router.js +81 -9
  55. package/lib/router.js.map +1 -1
  56. package/lib/router.spec.js +89 -5
  57. package/lib/router.spec.js.map +1 -1
  58. package/lib/services/asyncevents.spec.js +4 -4
  59. package/lib/services/authentication.d.ts +21 -22
  60. package/lib/services/authentication.js +90 -109
  61. package/lib/services/authentication.js.map +1 -1
  62. package/lib/services/authentication.spec.js +51 -65
  63. package/lib/services/authentication.spec.js.map +1 -1
  64. package/lib/services/binary.d.ts +132 -31
  65. package/lib/services/binary.js +257 -72
  66. package/lib/services/binary.js.map +1 -1
  67. package/lib/services/binary.spec.d.ts +16 -6
  68. package/lib/services/binary.spec.js +44 -117
  69. package/lib/services/binary.spec.js.map +1 -1
  70. package/lib/services/cloudbinary.d.ts +9 -10
  71. package/lib/services/cloudbinary.js +14 -15
  72. package/lib/services/cloudbinary.js.map +1 -1
  73. package/lib/services/cloudbinary.spec.d.ts +2 -2
  74. package/lib/services/cloudbinary.spec.js +13 -12
  75. package/lib/services/cloudbinary.spec.js.map +1 -1
  76. package/lib/services/configuration.js +9 -9
  77. package/lib/services/configuration.js.map +1 -1
  78. package/lib/services/configuration.spec.js +5 -7
  79. package/lib/services/configuration.spec.js.map +1 -1
  80. package/lib/services/cron.spec.js +3 -4
  81. package/lib/services/cron.spec.js.map +1 -1
  82. package/lib/services/cryptoservice.d.ts +2 -2
  83. package/lib/services/cryptoservice.js +5 -2
  84. package/lib/services/cryptoservice.js.map +1 -1
  85. package/lib/services/domainservice.d.ts +113 -0
  86. package/lib/services/domainservice.js +357 -0
  87. package/lib/services/domainservice.js.map +1 -0
  88. package/lib/services/domainservice.spec.d.ts +1 -0
  89. package/lib/services/domainservice.spec.js +334 -0
  90. package/lib/services/domainservice.spec.js.map +1 -0
  91. package/lib/services/echo.d.ts +2 -2
  92. package/lib/services/echo.js.map +1 -1
  93. package/lib/services/echo.spec.js +9 -2
  94. package/lib/services/echo.spec.js.map +1 -1
  95. package/lib/services/filebinary.d.ts +13 -14
  96. package/lib/services/filebinary.js +79 -73
  97. package/lib/services/filebinary.js.map +1 -1
  98. package/lib/services/filebinary.spec.d.ts +5 -0
  99. package/lib/services/filebinary.spec.js +222 -11
  100. package/lib/services/filebinary.spec.js.map +1 -1
  101. package/lib/services/fileconfiguration.js +7 -7
  102. package/lib/services/fileconfiguration.js.map +1 -1
  103. package/lib/services/fileconfiguration.spec.js +23 -24
  104. package/lib/services/fileconfiguration.spec.js.map +1 -1
  105. package/lib/services/invitationservice.d.ts +11 -9
  106. package/lib/services/invitationservice.js +17 -23
  107. package/lib/services/invitationservice.js.map +1 -1
  108. package/lib/services/invitationservice.spec.js +43 -40
  109. package/lib/services/invitationservice.spec.js.map +1 -1
  110. package/lib/services/kubernetesconfiguration.js +12 -22
  111. package/lib/services/kubernetesconfiguration.js.map +1 -1
  112. package/lib/services/kubernetesconfiguration.spec.js +1 -6
  113. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  114. package/lib/services/mailer.js +1 -1
  115. package/lib/services/mailer.js.map +1 -1
  116. package/lib/services/mailer.spec.js +4 -1
  117. package/lib/services/mailer.spec.js.map +1 -1
  118. package/lib/services/oauth.d.ts +17 -9
  119. package/lib/services/oauth.js +30 -4
  120. package/lib/services/oauth.js.map +1 -1
  121. package/lib/services/oauth.spec.js +32 -15
  122. package/lib/services/oauth.spec.js.map +1 -1
  123. package/lib/services/prometheus.spec.js.map +1 -1
  124. package/lib/services/proxy.d.ts +9 -8
  125. package/lib/services/proxy.js +65 -36
  126. package/lib/services/proxy.js.map +1 -1
  127. package/lib/services/proxy.spec.js +28 -2
  128. package/lib/services/proxy.spec.js.map +1 -1
  129. package/lib/services/resource.d.ts +3 -3
  130. package/lib/services/resource.js +4 -3
  131. package/lib/services/resource.js.map +1 -1
  132. package/lib/services/resource.spec.js +3 -3
  133. package/lib/services/resource.spec.js.map +1 -1
  134. package/lib/services/service.d.ts +10 -13
  135. package/lib/services/service.js +29 -13
  136. package/lib/services/service.js.map +1 -1
  137. package/lib/services/service.spec.js +49 -11
  138. package/lib/services/service.spec.js.map +1 -1
  139. package/lib/services/version.d.ts +2 -2
  140. package/lib/services/version.js.map +1 -1
  141. package/lib/stores/aggregator.js +1 -0
  142. package/lib/stores/aggregator.js.map +1 -1
  143. package/lib/stores/aliasstore.d.ts +2 -2
  144. package/lib/stores/aliasstore.js +15 -4
  145. package/lib/stores/aliasstore.js.map +1 -1
  146. package/lib/stores/aliasstore.spec.js +4 -2
  147. package/lib/stores/aliasstore.spec.js.map +1 -1
  148. package/lib/stores/file.d.ts +5 -2
  149. package/lib/stores/file.js +11 -8
  150. package/lib/stores/file.js.map +1 -1
  151. package/lib/stores/file.spec.js +21 -34
  152. package/lib/stores/file.spec.js.map +1 -1
  153. package/lib/stores/mapper.d.ts +4 -2
  154. package/lib/stores/mapper.js +18 -11
  155. package/lib/stores/mapper.js.map +1 -1
  156. package/lib/stores/mapper.spec.js +6 -3
  157. package/lib/stores/mapper.spec.js.map +1 -1
  158. package/lib/stores/memory.d.ts +5 -2
  159. package/lib/stores/memory.js +11 -9
  160. package/lib/stores/memory.js.map +1 -1
  161. package/lib/stores/memory.spec.d.ts +3 -0
  162. package/lib/stores/memory.spec.js +100 -11
  163. package/lib/stores/memory.spec.js.map +1 -1
  164. package/lib/stores/store.d.ts +177 -87
  165. package/lib/stores/store.js +312 -141
  166. package/lib/stores/store.js.map +1 -1
  167. package/lib/stores/store.spec.d.ts +2 -2
  168. package/lib/stores/store.spec.js +54 -38
  169. package/lib/stores/store.spec.js.map +1 -1
  170. package/lib/stores/webdaql/WebdaQLLexer.d.ts +14 -13
  171. package/lib/stores/webdaql/WebdaQLLexer.js +121 -112
  172. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  173. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +14 -13
  174. package/lib/stores/webdaql/WebdaQLParserLexer.js +121 -112
  175. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  176. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +15 -3
  177. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +23 -13
  178. package/lib/stores/webdaql/WebdaQLParserParser.js +149 -94
  179. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  180. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +9 -2
  181. package/lib/stores/webdaql/query.d.ts +6 -2
  182. package/lib/stores/webdaql/query.js +14 -1
  183. package/lib/stores/webdaql/query.js.map +1 -1
  184. package/lib/stores/webdaql/query.spec.js +10 -1
  185. package/lib/stores/webdaql/query.spec.js.map +1 -1
  186. package/lib/test.d.ts +48 -19
  187. package/lib/test.js +171 -63
  188. package/lib/test.js.map +1 -1
  189. package/lib/unpackedapplication.d.ts +5 -0
  190. package/lib/unpackedapplication.js +58 -10
  191. package/lib/unpackedapplication.js.map +1 -1
  192. package/lib/utils/context.d.ts +76 -29
  193. package/lib/utils/context.js +91 -55
  194. package/lib/utils/context.js.map +1 -1
  195. package/lib/utils/context.spec.d.ts +9 -1
  196. package/lib/utils/context.spec.js +73 -8
  197. package/lib/utils/context.spec.js.map +1 -1
  198. package/lib/utils/cookie.d.ts +4 -5
  199. package/lib/utils/cookie.js +1 -2
  200. package/lib/utils/cookie.js.map +1 -1
  201. package/lib/utils/cookie.spec.js +5 -3
  202. package/lib/utils/cookie.spec.js.map +1 -1
  203. package/lib/utils/httpcontext.spec.js +9 -3
  204. package/lib/utils/httpcontext.spec.js.map +1 -1
  205. package/lib/utils/serializers.d.ts +46 -17
  206. package/lib/utils/serializers.js +116 -2
  207. package/lib/utils/serializers.js.map +1 -1
  208. package/lib/utils/serializers.spec.js +84 -20
  209. package/lib/utils/serializers.spec.js.map +1 -1
  210. package/lib/utils/session.d.ts +14 -8
  211. package/lib/utils/session.js +14 -3
  212. package/lib/utils/session.js.map +1 -1
  213. package/lib/utils/session.spec.js +6 -1
  214. package/lib/utils/session.spec.js.map +1 -1
  215. package/package.json +16 -10
  216. package/test/cachedapp/webda.config.json +6 -1
  217. package/test/config-cached.json +5 -0
  218. package/test/config-file-missing-file.json +5 -7
  219. package/test/config-file-no-reload.json +5 -7
  220. package/test/config-file-reload.json +5 -7
  221. package/test/config-kube-reload.json +5 -11
  222. package/test/config-reload.json +2 -4
  223. package/test/config.json +12 -2
  224. package/test/moddas/voidstore.js +1 -1
  225. package/test/models/ident.js +6 -4
  226. package/test/models/task.js +4 -4
  227. package/webda.module.json +1587 -1266
@@ -1,10 +1,100 @@
1
- import { existsSync, readFileSync, writeFileSync } from "fs";
1
+ import { createReadStream, createWriteStream, existsSync, lstatSync, readdirSync, readFileSync, realpathSync, unlinkSync, writeFileSync } from "fs";
2
2
  import * as jsonc from "jsonc-parser";
3
+ import { join } from "path";
3
4
  import * as yaml from "yaml";
5
+ import { Core } from "../core.js";
4
6
  /**
5
7
  * Allow save/load of yaml or json file
6
8
  */
7
9
  export const FileUtils = {
10
+ /**
11
+ * @override
12
+ */
13
+ getWriteStream: (path) => {
14
+ return createWriteStream(path);
15
+ },
16
+ getReadStream: (path) => {
17
+ return createReadStream(path);
18
+ },
19
+ /**
20
+ * Recursively run a process through all descendant files under a path
21
+ *
22
+ * @param {string} path
23
+ * @param {Function} processor Processing function, eg: (filepath: string) => void
24
+ * @param {string} currentPath Path to dig
25
+ * @param {boolean} options.followSymlinks Follow symlinks which targets a folder
26
+ * @param {boolean} options.includeDir Include folders to results transmitted to the processor function
27
+ * @param {number} options.maxDepth Maximum depth level to investigate, default is 100 to prevent infinite loops
28
+ * @param {number} state.depth Starting level counter
29
+ */
30
+ walk: (path, processor, options = { maxDepth: 100 }, state = { depth: 0 }) => {
31
+ state.depth++;
32
+ let files = readdirSync(path);
33
+ const fileItemCallback = p => {
34
+ try {
35
+ const stat = lstatSync(p);
36
+ if (stat.isDirectory()) {
37
+ if (options.includeDir) {
38
+ processor(p);
39
+ }
40
+ // folder found, trying to dig further
41
+ if (!options.maxDepth || state.depth < options.maxDepth) {
42
+ // unless we reached the maximum depth
43
+ FileUtils.walk(p, processor, options, state);
44
+ }
45
+ }
46
+ else if (stat.isSymbolicLink()) {
47
+ const realPath = realpathSync(p);
48
+ const stat = lstatSync(realPath);
49
+ if (stat.isDirectory()) {
50
+ // symlink targets a folder
51
+ if (options.followSymlinks) {
52
+ // following below
53
+ if (!options.maxDepth || state.depth < options.maxDepth) {
54
+ // unless we reached the maximum depth
55
+ FileUtils.walk(realPath, processor, options, state);
56
+ }
57
+ }
58
+ }
59
+ else {
60
+ // symlink targets a file
61
+ processor(realPath);
62
+ }
63
+ }
64
+ else if (stat.isFile()) {
65
+ processor(p);
66
+ }
67
+ /* c8 ignore start */
68
+ }
69
+ catch (err) {
70
+ Core.get()?.log("ERROR", "FileUtils.find: Error while reading file", p, err);
71
+ }
72
+ /* c8 ignore stop */
73
+ };
74
+ files.map(f => join(path, f)).forEach(fileItemCallback);
75
+ },
76
+ /**
77
+ * Find files below a provided path, optionally filtered by a RegExp pattern
78
+ * Without pattern provided, ALL FOUND FILES will be returned by default
79
+ *
80
+ * @param {string} currentPath Path to explore
81
+ * @param {boolean} options.followSymlinks Follow symlinks which targets a folder
82
+ * @param {boolean} options.includeDir Include folders to results transmitted to the processor function
83
+ * @param {number} options.maxDepth Maximum depth level to investigate
84
+ * @param {RegExp} options.filterPattern RegExp pattern to filter, no filter will find all files
85
+ * @returns
86
+ */
87
+ find: (currentPath, options = { maxDepth: 3 }) => {
88
+ let found = [];
89
+ const processor = (filepath) => {
90
+ if (!options.filterPattern || options.filterPattern.test(filepath)) {
91
+ // unless an existing regexp filter forces to skip
92
+ found.push(filepath);
93
+ }
94
+ };
95
+ FileUtils.walk(currentPath, processor, options);
96
+ return found;
97
+ },
8
98
  /**
9
99
  * Load a YAML or JSON file based on its extension
10
100
  *
@@ -46,6 +136,13 @@ export const FileUtils = {
46
136
  return writeFileSync(filename, JSONUtils.stringify(object, undefined, 2, publicAudience));
47
137
  }
48
138
  throw new Error("Unknown format");
139
+ },
140
+ /**
141
+ * Delete files if exists
142
+ * @param files
143
+ */
144
+ clean: (...files) => {
145
+ files.filter(f => existsSync(f)).forEach(f => unlinkSync(f));
49
146
  }
50
147
  };
51
148
  /**
@@ -131,7 +228,24 @@ export const JSONUtils = {
131
228
  /**
132
229
  * Helper to FileUtils.save
133
230
  */
134
- saveFile: FileUtils.save
231
+ saveFile: FileUtils.save,
232
+ /**
233
+ * Sort object keys
234
+ * @param unordered
235
+ * @returns
236
+ */
237
+ sortObject: (unordered, transformer = a => a) => {
238
+ return Object.keys(unordered)
239
+ .sort()
240
+ .reduce((obj, key) => {
241
+ let res = transformer(unordered[key]);
242
+ if (!res) {
243
+ return obj;
244
+ }
245
+ obj[key] = res;
246
+ return obj;
247
+ }, {});
248
+ }
135
249
  };
136
250
  /**
137
251
  * Expose basic YAML function
@@ -1 +1 @@
1
- {"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../src/utils/serializers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,mBAAmB,CAAC,CAAC;SACvD;QACD,IAAI,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpB,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;aAC3B;YACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACjC;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1B,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC5B;QACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IACD;;;;;;OAMG;IACH,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,iBAA0B,KAAK,EAAE,EAAE;QAC/D,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAC/B,OAAO,aAAa,CAClB,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CACtF,CAAC;SACH;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YACrC,OAAO,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;SAC3F;QACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;;;;;;;;OAQG;IACH,aAAa,EAAE,CACb,KAAK,EACL,WAA6C,SAAS,EACtD,QAAyB,CAAC,EAC1B,iBAA0B,KAAK,EAC/B,EAAE;QACF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,EACL,UAAU,GAAW,EAAE,GAAQ;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,EAAE;gBAC1G,OAAO,SAAS,CAAC;aAClB;YACD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,QAAQ,EAAE;gBACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;aACxC;YACD,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,OAAO;aACR;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IACD;;;;;;;OAOG;IACH,SAAS,EAAE,CACT,KAAK,EACL,WAA6C,SAAS,EACtD,QAAyB,CAAC,EAC1B,iBAA0B,KAAK,EAC/B,EAAE;QACF,4DAA4D;QAC5D,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,EACL,CAAC,GAAW,EAAE,GAAQ,EAAE,EAAE;gBACxB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE;oBAC1C,OAAO,SAAS,CAAC;iBAClB;gBACD,IAAI,QAAQ,EAAE;oBACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;iBACxC;gBACD,IAAI,GAAG,KAAK,IAAI,EAAE;oBAChB,OAAO;iBACR;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EACD,KAAK,CACN,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,uCAAuC,CAAC,EAAE;gBAClF,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;aACxE;YACD,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IACD;;;;;OAKG;IACH,KAAK,EAAE,KAAK,CAAC,EAAE;QACb,uBAAuB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD;;OAEG;IACH,SAAS,EAAE,KAAK,CAAC,EAAE;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IACD;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC,IAAI;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC,SAAS;IAC9B;;;;;OAKG;IACH,KAAK,EAAE,KAAK,CAAC,EAAE;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD;;;;;OAKG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../src/utils/serializers.ts"],"names":[],"mappings":"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"}
@@ -6,16 +6,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { suite, test } from "@testdeck/mocha";
8
8
  import * as assert from "assert";
9
- import { readFileSync } from "fs";
9
+ import { existsSync, readFileSync, symlinkSync } from "fs";
10
10
  import * as path from "path";
11
11
  import { fileURLToPath } from "url";
12
12
  import { FileUtils, JSONUtils, YAMLUtils } from "./serializers.js";
13
13
  const TEST_FOLDER = path.dirname(fileURLToPath(import.meta.url)) + "/../../test/jsonutils/";
14
14
  let UtilsTest = class UtilsTest {
15
15
  fileJson() {
16
- assert.deepStrictEqual(JSONUtils.loadFile(TEST_FOLDER + "test.json"), { test: "ok" });
17
- assert.deepStrictEqual(YAMLUtils.loadFile(TEST_FOLDER + "test.json"), { test: "ok" });
18
- assert.deepStrictEqual(FileUtils.load(TEST_FOLDER + "test.json"), { test: "ok" });
16
+ assert.deepStrictEqual(JSONUtils.loadFile(TEST_FOLDER + "test.json"), {
17
+ test: "ok"
18
+ });
19
+ assert.deepStrictEqual(YAMLUtils.loadFile(TEST_FOLDER + "test.json"), {
20
+ test: "ok"
21
+ });
22
+ assert.deepStrictEqual(FileUtils.load(TEST_FOLDER + "test.json"), {
23
+ test: "ok"
24
+ });
19
25
  assert.throws(() => JSONUtils.loadFile("/none"), /File '\/none' does not exist/);
20
26
  assert.throws(() => JSONUtils.loadFile("./Dockerfile"), /Unknown format/);
21
27
  }
@@ -53,24 +59,38 @@ let UtilsTest = class UtilsTest {
53
59
  __test: true
54
60
  };
55
61
  a.d = a.c;
56
- assert.deepStrictEqual(JSONUtils.stringify(a), JSON.stringify({ b: "test", c: { plop: "bouzouf" }, __test: true, d: { plop: "bouzouf" } }, undefined, 2));
62
+ assert.deepStrictEqual(JSONUtils.stringify(a), JSON.stringify({
63
+ b: "test",
64
+ c: { plop: "bouzouf" },
65
+ __test: true,
66
+ d: { plop: "bouzouf" }
67
+ }, undefined, 2));
68
+ }
69
+ sortObject() {
70
+ assert.deepStrictEqual(JSONUtils.sortObject({ a: 1, c: 2, b: 3 }), { a: 1, b: 3, c: 2 });
71
+ assert.deepStrictEqual(JSONUtils.sortObject({ a: 1, c: 2, b: 3 }, p => (p < 3 ? p + 2 : undefined)), { a: 3, c: 4 });
57
72
  }
58
73
  writeJSON() {
59
- let file = path.join(TEST_FOLDER, "writeTest.json");
60
- JSONUtils.saveFile({ test: "plop" }, file);
61
- assert.strictEqual(readFileSync(file).toString(), '{\n "test": "plop"\n}');
62
- file = path.join(TEST_FOLDER, "writeTest.yaml");
63
- JSONUtils.saveFile({ test: "plop" }, file);
64
- assert.strictEqual(readFileSync(file).toString(), `test: plop\n`);
65
- // Yaml alias
66
- file = path.join(TEST_FOLDER, "writeTest.json");
67
- YAMLUtils.saveFile({ test: "plop" }, file);
68
- assert.strictEqual(readFileSync(file).toString(), '{\n "test": "plop"\n}');
69
- // True implem
70
- file = path.join(TEST_FOLDER, "writeTest.json");
71
- FileUtils.save({ test: "plop" }, file);
72
- assert.strictEqual(readFileSync(file).toString(), '{\n "test": "plop"\n}');
73
- assert.throws(() => JSONUtils.saveFile({}, "./Dockerfile.zzz"), /Unknown format/);
74
+ try {
75
+ let file = path.join(TEST_FOLDER, "writeTest.json");
76
+ JSONUtils.saveFile({ test: "plop" }, file);
77
+ assert.strictEqual(readFileSync(file).toString(), '{\n "test": "plop"\n}');
78
+ file = path.join(TEST_FOLDER, "writeTest.yaml");
79
+ JSONUtils.saveFile({ test: "plop" }, file);
80
+ assert.strictEqual(readFileSync(file).toString(), `test: plop\n`);
81
+ // Yaml alias
82
+ file = path.join(TEST_FOLDER, "writeTest.json");
83
+ YAMLUtils.saveFile({ test: "plop" }, file);
84
+ assert.strictEqual(readFileSync(file).toString(), '{\n "test": "plop"\n}');
85
+ // True implem
86
+ file = path.join(TEST_FOLDER, "writeTest.json");
87
+ FileUtils.save({ test: "plop" }, file);
88
+ assert.strictEqual(readFileSync(file).toString(), '{\n "test": "plop"\n}');
89
+ assert.throws(() => JSONUtils.saveFile({}, "./Dockerfile.zzz"), /Unknown format/);
90
+ }
91
+ finally {
92
+ FileUtils.clean("test/jsonutils/writeTest.json", "test/jsonutils/writeTest.yaml");
93
+ }
74
94
  }
75
95
  duplicate() {
76
96
  let obj = { plop: "test" };
@@ -98,6 +118,38 @@ plop: 0o600
98
118
  plop: test
99
119
  `), { plop: "test" });
100
120
  }
121
+ walker() {
122
+ try {
123
+ let res = [];
124
+ if (!existsSync("./test/link")) {
125
+ symlinkSync("../templates", "test/link");
126
+ }
127
+ FileUtils.walk("test", f => res.push(f));
128
+ assert.ok(["test/models/ident.js", "test/jsonutils/mdocs.yaml", "test/data/test.png"]
129
+ .map(c => res.includes(c))
130
+ .reduce((v, c) => v && c, true));
131
+ res = [];
132
+ FileUtils.walk("test", f => res.push(f), {
133
+ includeDir: true,
134
+ followSymlinks: true
135
+ });
136
+ assert.ok(res.filter(r => r.includes("PASSPORT_EMAIL_RECOVERY")).length > 0);
137
+ }
138
+ finally {
139
+ FileUtils.clean("test/link");
140
+ }
141
+ }
142
+ finder() {
143
+ let res = FileUtils.find("test", { filterPattern: /Dockerfile/ });
144
+ assert.ok(res.includes("test/Dockerfile"));
145
+ }
146
+ async streams() {
147
+ const st = FileUtils.getWriteStream("/tmp/webda.stream");
148
+ let p = new Promise(resolve => st.on("finish", resolve));
149
+ st.end();
150
+ await p;
151
+ FileUtils.getReadStream("/tmp/webda.stream");
152
+ }
101
153
  };
102
154
  __decorate([
103
155
  test("LoadJSON File")
@@ -114,6 +166,9 @@ __decorate([
114
166
  __decorate([
115
167
  test("DuplicateJSON")
116
168
  ], UtilsTest.prototype, "duplicatedJSON", null);
169
+ __decorate([
170
+ test
171
+ ], UtilsTest.prototype, "sortObject", null);
117
172
  __decorate([
118
173
  test("Write JSON/YAML")
119
174
  ], UtilsTest.prototype, "writeJSON", null);
@@ -129,6 +184,15 @@ __decorate([
129
184
  __decorate([
130
185
  test("YAML stringify")
131
186
  ], UtilsTest.prototype, "yaml", null);
187
+ __decorate([
188
+ test
189
+ ], UtilsTest.prototype, "walker", null);
190
+ __decorate([
191
+ test
192
+ ], UtilsTest.prototype, "finder", null);
193
+ __decorate([
194
+ test
195
+ ], UtilsTest.prototype, "streams", null);
132
196
  UtilsTest = __decorate([
133
197
  suite
134
198
  ], UtilsTest);
@@ -1 +1 @@
1
- {"version":3,"file":"serializers.spec.js","sourceRoot":"","sources":["../../src/utils/serializers.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializers.spec.js","sourceRoot":"","sources":["../../src/utils/serializers.spec.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CoreModel } from "../models/coremodel.js";
2
2
  import CryptoService, { JWTOptions } from "../services/cryptoservice.js";
3
3
  import { DeepPartial, Service, ServiceParameters } from "../services/service.js";
4
4
  import { Store } from "../stores/store.js";
5
- import { Context } from "./context.js";
5
+ import { OperationContext } from "./context.js";
6
6
  import { CookieOptions } from "./cookie.js";
7
7
  /**
8
8
  * Manage load and save of sessions
@@ -12,13 +12,17 @@ export declare abstract class SessionManager<T extends ServiceParameters = Servi
12
12
  * Load a session based on context
13
13
  * @param context
14
14
  */
15
- abstract load(context: Context): Promise<Session>;
15
+ abstract load(context: OperationContext): Promise<Session>;
16
16
  /**
17
17
  * Save the session within the context
18
18
  * @param context
19
19
  * @param session
20
20
  */
21
- abstract save(context: Context, session: Session): Promise<void>;
21
+ abstract save(context: OperationContext, session: Session): Promise<void>;
22
+ /**
23
+ * Create a new session
24
+ */
25
+ abstract newSession(context: OperationContext): Promise<Session>;
22
26
  }
23
27
  export declare class CookieSessionParameters extends ServiceParameters {
24
28
  /**
@@ -55,16 +59,18 @@ export declare class CookieSessionManager<T extends CookieSessionParameters = Co
55
59
  /**
56
60
  * @override
57
61
  */
58
- load(context: Context): Promise<Session>;
62
+ load(context: OperationContext): Promise<Session>;
63
+ /**
64
+ * @override
65
+ */
66
+ newSession(context: OperationContext<any, any>): Promise<Session>;
59
67
  /**
60
68
  * @override
61
69
  */
62
- save(context: Context, session: Session): Promise<void>;
70
+ save(context: OperationContext, session: Session): Promise<void>;
63
71
  }
64
72
  /**
65
- * Session model
66
- *
67
- * @WebdaModel
73
+ * Session
68
74
  */
69
75
  export declare class Session {
70
76
  protected changed: boolean;
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { NotEnumerable } from "../models/coremodel.js";
8
8
  import { Inject, Service, ServiceParameters } from "../services/service.js";
9
+ import { WebContext } from "./context.js";
9
10
  import { CookieOptions, SecureCookie } from "./cookie.js";
10
11
  /**
11
12
  * Manage load and save of sessions
@@ -47,6 +48,9 @@ export class CookieSessionManager extends SessionManager {
47
48
  * @override
48
49
  */
49
50
  async load(context) {
51
+ if (!(context instanceof WebContext)) {
52
+ return new Session();
53
+ }
50
54
  const session = new Session();
51
55
  let cookie = await SecureCookie.load(this.parameters.cookie.name, context, this.parameters.jwt);
52
56
  if (this.sessionStore) {
@@ -61,10 +65,19 @@ export class CookieSessionManager extends SessionManager {
61
65
  }
62
66
  return session;
63
67
  }
68
+ /**
69
+ * @override
70
+ */
71
+ async newSession(context) {
72
+ return new Session();
73
+ }
64
74
  /**
65
75
  * @override
66
76
  */
67
77
  async save(context, session) {
78
+ if (!(context instanceof WebContext)) {
79
+ return;
80
+ }
68
81
  // If store is found session info are stored in db
69
82
  if (this.sessionStore) {
70
83
  await this.sessionStore.save({
@@ -85,9 +98,7 @@ __decorate([
85
98
  Inject("SessionStore", true)
86
99
  ], CookieSessionManager.prototype, "sessionStore", void 0);
87
100
  /**
88
- * Session model
89
- *
90
- * @WebdaModel
101
+ * Session
91
102
  */
92
103
  export class Session {
93
104
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { suite, test } from "@testdeck/mocha";
8
8
  import * as assert from "assert";
9
9
  import { MemoryStore } from "../stores/memory.js";
10
10
  import { WebdaTest } from "../test.js";
11
+ import { OperationContext } from "./context.js";
11
12
  import { UnknownSession } from "./session.js";
12
13
  let SessionTest = class SessionTest {
13
14
  basic() {
@@ -30,7 +31,7 @@ SessionTest = __decorate([
30
31
  let SessionStoreTest = class SessionStoreTest extends WebdaTest {
31
32
  async sessionStore() {
32
33
  // Test MemoryStore
33
- const store = (this.webda.getServices()["sessionstore"] = await new MemoryStore(this.webda, "SessionStore", {})
34
+ const store = (this.webda.getServices()["SessionStore"] = await new MemoryStore(this.webda, "SessionStore", {})
34
35
  .resolve()
35
36
  .init());
36
37
  store.getParameters().expose = { url: "url" };
@@ -55,6 +56,10 @@ let SessionStoreTest = class SessionStoreTest extends WebdaTest {
55
56
  assert.strictEqual(session.uuid, sessions[0].getUuid());
56
57
  assert.strictEqual(session.identUsed, "bouzouf");
57
58
  assert.strictEqual(session.sub, undefined);
59
+ let opCtx = new OperationContext(this.webda);
60
+ // cov
61
+ await this.getService("SessionManager").load(opCtx);
62
+ await this.getService("SessionManager").save(opCtx, undefined);
58
63
  }
59
64
  };
60
65
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"session.spec.js","sourceRoot":"","sources":["../../src/utils/session.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAwB,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEf,KAAK;QACH,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AAVC;IADC,IAAI;wCAUJ;AAXG,WAAW;IADhB,KAAK;GACA,WAAW,CAYhB;AAGD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,SAAS;IAEhC,AAAN,KAAK,CAAC,YAAY;QAChB,mBAAmB;QACnB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,GAAG,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;aAC5G,OAAO,EAAE;aACT,IAAI,EAAE,CAAC,CAAC;QACX,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAuB,gBAAgB,CAAC,CAAC,OAAO,EAAE,EACvE,oCAAoC,CACrC,CAAC;QACF,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;QACzC,IAAI,CAAC,UAAU,CAAuB,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC;QAClE,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAEtD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,GAAG;YAC9B,IAAI,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK;SAC7C,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAkB,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AAhCO;IADL,IAAI;oDAgCJ;AAjCG,gBAAgB;IADrB,KAAK;GACA,gBAAgB,CAkCrB"}
1
+ {"version":3,"file":"session.spec.js","sourceRoot":"","sources":["../../src/utils/session.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webda/core",
3
- "version": "2.4.1",
3
+ "version": "3.0.0",
4
4
  "description": "Expose API with Lambda",
5
5
  "keywords": [
6
6
  "aws",
@@ -19,11 +19,12 @@
19
19
  "pretest": "npm run build",
20
20
  "lint": "prettier --check src/**/*",
21
21
  "lint:fix": "prettier --write src/**/*",
22
- "test": "c8 mocha --recursive --exit --timeout=30000 src/**/*.spec.ts src/*.spec.ts src/**/**/*.spec.ts"
22
+ "test": "c8 mocha --recursive --exit --timeout=30000 src/**/*.spec.ts src/*.spec.ts src/**/**/*.spec.ts",
23
+ "test:debug": "mocha --recursive --exit --timeout=30000 src/**/*.spec.ts src/*.spec.ts src/**/**/*.spec.ts"
23
24
  },
24
25
  "dependencies": {
25
26
  "@types/json-schema": "^7.0.8",
26
- "@webda/workout": "^2.3.0",
27
+ "@webda/workout": "^3.0.0",
27
28
  "accept-language": "^3.0.18",
28
29
  "ajv": "^8.6.2",
29
30
  "ajv-formats": "^2.1.1",
@@ -31,10 +32,9 @@
31
32
  "bcryptjs": "^2.4.3",
32
33
  "cookie": "^0.5.0",
33
34
  "dateformat": "^5.0.3",
34
- "deepmerge-ts": "^4.0.3",
35
- "email-templates": "^10.0.1",
36
- "fs-finder": "^1.8.1",
37
- "glob": "^8.0.1",
35
+ "deepmerge-ts": "^5.1.0",
36
+ "email-templates": "^11.0.3",
37
+ "glob": "^10.0.0",
38
38
  "global": "^4.4.0",
39
39
  "jsonc-parser": "^3.0.0",
40
40
  "jsonpath": "^1.1.1",
@@ -60,7 +60,7 @@
60
60
  "@testdeck/mocha": "^0.3.2",
61
61
  "@types/node": "14.6.0",
62
62
  "@types/nodemailer": "^6.4.4",
63
- "@webda/tsc-esm": "^1.0.2",
63
+ "@webda/tsc-esm": "^1.0.3",
64
64
  "antlr4ts-cli": "^0.5.0-alpha.4",
65
65
  "axios": "^1.1.3",
66
66
  "c8": "^7.11.3",
@@ -97,12 +97,18 @@
97
97
  "publishConfig": {
98
98
  "access": "public"
99
99
  },
100
+ "nx": {
101
+ "implicitDependencies": [
102
+ "@webda/tsc-esm",
103
+ "@webda/workout"
104
+ ]
105
+ },
100
106
  "webda": {
101
107
  "namespace": "Webda"
102
108
  },
103
109
  "type": "module",
104
110
  "engines": {
105
- "node": ">=14.6.0"
111
+ "node": ">=16.0.0"
106
112
  },
107
- "gitHead": "82146b9c298146d227d4c9d17b88b4fa3ee43606"
113
+ "gitHead": "67704355e1216df11dce10e4e509e4a72a1c4bf2"
108
114
  }
@@ -2,6 +2,11 @@
2
2
  "version": 2,
3
3
  "module": {},
4
4
  "cachedModules": {
5
- "sources": ["./test/moddas/fakeservice.js", "./test/models/task.js"]
5
+ "sources": ["./test/moddas/fakeservice.js", "./test/models/task.js"],
6
+ "models": {
7
+ "list": {},
8
+ "graph": {},
9
+ "tree": {}
10
+ }
6
11
  }
7
12
  }
@@ -15,6 +15,11 @@
15
15
  "schemas": {
16
16
  "WebdaTest/Mailer": "./moddas/debugmailer",
17
17
  "WebdaTest/VoidStore": "./moddas/voidstore"
18
+ },
19
+ "models": {
20
+ "list": {},
21
+ "graph": {},
22
+ "tree": {}
18
23
  }
19
24
  },
20
25
  "services": {
@@ -40,13 +40,11 @@
40
40
  "type": "Webda/FileConfiguration",
41
41
  "source": "./my-missing-file.json",
42
42
  "default": {
43
- "webda": {
44
- "services": {
45
- "Authentication": {
46
- "providers": {
47
- "email": {
48
- "text": "MissingTextAutoGenerated"
49
- }
43
+ "services": {
44
+ "Authentication": {
45
+ "providers": {
46
+ "email": {
47
+ "text": "MissingTextAutoGenerated"
50
48
  }
51
49
  }
52
50
  }
@@ -54,13 +54,11 @@
54
54
  "type": "Webda/FileConfiguration",
55
55
  "source": "./my-cnf.json",
56
56
  "default": {
57
- "webda": {
58
- "services": {
59
- "Authentication": {
60
- "providers": {
61
- "email": {
62
- "text": "Test"
63
- }
57
+ "services": {
58
+ "Authentication": {
59
+ "providers": {
60
+ "email": {
61
+ "text": "Test"
64
62
  }
65
63
  }
66
64
  }