nesoi 3.2.9 → 3.3.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 (291) hide show
  1. package/README.md +33 -2
  2. package/lib/bundler/browser/browser.app.d.ts +32 -0
  3. package/lib/bundler/browser/browser.app.js +51 -0
  4. package/lib/bundler/browser/browser.bundler.d.ts +5 -0
  5. package/lib/bundler/browser/browser.bundler.js +27 -0
  6. package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.d.ts +13 -0
  7. package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.js +74 -0
  8. package/lib/bundler/distributed/distributed.app.config.d.ts +43 -0
  9. package/lib/{engine/apps → bundler}/distributed/distributed.app.config.js +1 -1
  10. package/lib/{engine/apps → bundler}/distributed/distributed.app.d.ts +14 -14
  11. package/lib/{engine/apps → bundler}/distributed/distributed.app.js +8 -3
  12. package/lib/{compiler/apps/distributed/distributed_compiler.d.ts → bundler/distributed/distributed.bundler.d.ts} +7 -7
  13. package/lib/{compiler/apps/distributed/distributed_compiler.js → bundler/distributed/distributed.bundler.js} +11 -11
  14. package/lib/{engine/apps → bundler}/distributed/distributed_node.app.d.ts +14 -20
  15. package/lib/{engine/apps → bundler}/distributed/distributed_node.app.js +18 -50
  16. package/lib/bundler/distributed/stages/1_mkdir_stage.d.ts +15 -0
  17. package/lib/{compiler/apps → bundler}/distributed/stages/1_mkdir_stage.js +6 -6
  18. package/lib/bundler/distributed/stages/2_build_typescript_stage.d.ts +15 -0
  19. package/lib/{compiler/apps → bundler}/distributed/stages/2_build_typescript_stage.js +7 -7
  20. package/lib/bundler/distributed/stages/3_copy_types_stage.d.ts +15 -0
  21. package/lib/{compiler/apps → bundler}/distributed/stages/3_copy_types_stage.js +7 -7
  22. package/lib/bundler/distributed/stages/4_dump_modules_stage.d.ts +16 -0
  23. package/lib/{compiler/apps → bundler}/distributed/stages/4_dump_modules_stage.js +5 -5
  24. package/lib/{compiler/apps → bundler}/distributed/stages/5_copy_static_stage.js +3 -3
  25. package/lib/{compiler/apps → bundler}/distributed/stages/6_dump_cli_stage.js +3 -3
  26. package/lib/{compiler/apps → bundler}/distributed/stages/7_dump_package_json_stage.js +3 -3
  27. package/lib/{engine/apps → bundler}/monolyth/monolyth.app.d.ts +13 -13
  28. package/lib/{engine/apps → bundler}/monolyth/monolyth.app.js +13 -10
  29. package/lib/{compiler/apps/monolyth/monolyth_compiler.d.ts → bundler/monolyth/monolyth.bundler.d.ts} +9 -7
  30. package/lib/{compiler/apps/monolyth/monolyth_compiler.js → bundler/monolyth/monolyth.bundler.js} +13 -12
  31. package/lib/bundler/monolyth/stages/1_mkdir_stage.d.ts +15 -0
  32. package/lib/{compiler/apps → bundler}/monolyth/stages/1_mkdir_stage.js +6 -6
  33. package/lib/bundler/monolyth/stages/2_build_typescript_stage.d.ts +15 -0
  34. package/lib/{compiler/apps → bundler}/monolyth/stages/2_build_typescript_stage.js +8 -7
  35. package/lib/bundler/monolyth/stages/3_copy_types_stage.d.ts +15 -0
  36. package/lib/{compiler/apps → bundler}/monolyth/stages/3_copy_types_stage.js +7 -7
  37. package/lib/{compiler/apps → bundler}/monolyth/stages/4_dump_modules_stage.d.ts +4 -4
  38. package/lib/{compiler/apps → bundler}/monolyth/stages/4_dump_modules_stage.js +29 -16
  39. package/lib/{compiler/apps → bundler}/monolyth/stages/5_copy_static_stage.d.ts +4 -4
  40. package/lib/{compiler/apps → bundler}/monolyth/stages/5_copy_static_stage.js +7 -7
  41. package/lib/bundler/monolyth/stages/6_dump_cli_stage.d.ts +15 -0
  42. package/lib/{compiler/apps → bundler}/monolyth/stages/6_dump_cli_stage.js +4 -4
  43. package/lib/{compiler/apps → bundler}/monolyth/stages/7_dump_package_json_stage.d.ts +4 -4
  44. package/lib/{compiler/apps → bundler}/monolyth/stages/7_dump_package_json_stage.js +13 -10
  45. package/lib/compiler/compiler.d.ts +1 -6
  46. package/lib/compiler/compiler.js +1 -1
  47. package/lib/compiler/elements/bucket.element.d.ts +2 -1
  48. package/lib/compiler/elements/bucket.element.js +16 -21
  49. package/lib/compiler/elements/cached.element.d.ts +1 -1
  50. package/lib/compiler/elements/cached.element.js +2 -2
  51. package/lib/compiler/elements/constants.element.d.ts +1 -1
  52. package/lib/compiler/elements/constants.element.js +2 -0
  53. package/lib/compiler/elements/controller.element.js +3 -3
  54. package/lib/compiler/elements/element.d.ts +6 -13
  55. package/lib/compiler/elements/element.js +11 -9
  56. package/lib/compiler/elements/externals.element.js +2 -2
  57. package/lib/compiler/elements/job.element.d.ts +1 -1
  58. package/lib/compiler/elements/job.element.js +1 -1
  59. package/lib/compiler/elements/machine.element.d.ts +2 -2
  60. package/lib/compiler/elements/machine.element.js +7 -7
  61. package/lib/compiler/elements/message.element.d.ts +1 -1
  62. package/lib/compiler/elements/message.element.js +26 -26
  63. package/lib/compiler/elements/queue.element.js +1 -1
  64. package/lib/compiler/elements/resource.element.d.ts +1 -1
  65. package/lib/compiler/elements/resource.element.js +9 -9
  66. package/lib/compiler/elements/topic.element.js +1 -1
  67. package/lib/compiler/error.d.ts +1 -5
  68. package/lib/compiler/error.js +3 -15
  69. package/lib/compiler/helpers/dump_helpers.d.ts +1 -1
  70. package/lib/compiler/helpers/dump_helpers.js +1 -1
  71. package/lib/compiler/index.d.ts +1 -3
  72. package/lib/compiler/index.js +15 -7
  73. package/lib/compiler/module.js +12 -12
  74. package/lib/compiler/progressive.d.ts +3 -4
  75. package/lib/compiler/progressive.js +3 -4
  76. package/lib/compiler/stages/2_treeshake_stage.js +4 -0
  77. package/lib/compiler/stages/3_extract_ts_stage.js +7 -7
  78. package/lib/compiler/stages/4_build_schemas_stage.js +3 -16
  79. package/lib/compiler/stages/6_build_elements_stage.js +1 -1
  80. package/lib/compiler/stages/7_dump_stage.js +35 -10
  81. package/lib/compiler/typescript/bridge/extract.js +24 -0
  82. package/lib/compiler/typescript/bridge/inject.js +18 -3
  83. package/lib/compiler/typescript/bridge/organize.d.ts +4 -0
  84. package/lib/compiler/typescript/bridge/organize.js +41 -22
  85. package/lib/compiler/typescript/error.d.ts +2 -83
  86. package/lib/compiler/typescript/error.js +6 -219
  87. package/lib/compiler/typescript/parser.js +3 -3
  88. package/lib/compiler/typescript/source.d.ts +2 -2
  89. package/lib/compiler/typescript/transformers/app_inject.transformer.js +13 -4
  90. package/lib/compiler/typescript/typescript_compiler.d.ts +3 -3
  91. package/lib/compiler/typescript/typescript_compiler.js +2 -2
  92. package/lib/elements/blocks/block.builder.d.ts +7 -4
  93. package/lib/elements/blocks/block.builder.js +24 -13
  94. package/lib/elements/blocks/block.js +2 -2
  95. package/lib/elements/blocks/block.schema.d.ts +12 -9
  96. package/lib/elements/blocks/block.schema.js +2 -2
  97. package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +6 -5
  98. package/lib/elements/blocks/job/internal/machine_job.builder.js +3 -3
  99. package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +11 -10
  100. package/lib/elements/blocks/job/internal/resource_job.builder.js +9 -6
  101. package/lib/elements/blocks/job/internal/resource_job.js +3 -6
  102. package/lib/elements/blocks/job/job.builder.d.ts +5 -5
  103. package/lib/elements/blocks/job/job.builder.js +7 -7
  104. package/lib/elements/blocks/job/job.js +1 -1
  105. package/lib/elements/blocks/job/job.schema.d.ts +5 -5
  106. package/lib/elements/blocks/job/job.schema.js +3 -3
  107. package/lib/elements/blocks/machine/machine.builder.d.ts +2 -2
  108. package/lib/elements/blocks/machine/machine.builder.js +12 -9
  109. package/lib/elements/blocks/machine/machine.js +7 -7
  110. package/lib/elements/blocks/machine/machine.schema.d.ts +23 -23
  111. package/lib/elements/blocks/machine/machine.schema.js +9 -9
  112. package/lib/elements/blocks/machine/machine_state.builder.d.ts +1 -0
  113. package/lib/elements/blocks/machine/machine_state.builder.js +31 -29
  114. package/lib/elements/blocks/machine/machine_transition.builder.d.ts +2 -2
  115. package/lib/elements/blocks/machine/machine_transition.builder.js +8 -8
  116. package/lib/elements/blocks/queue/queue.builder.d.ts +3 -3
  117. package/lib/elements/blocks/queue/queue.builder.js +3 -3
  118. package/lib/elements/blocks/queue/queue.schema.d.ts +6 -6
  119. package/lib/elements/blocks/queue/queue.schema.js +3 -3
  120. package/lib/elements/blocks/resource/resource.builder.d.ts +2 -2
  121. package/lib/elements/blocks/resource/resource.builder.js +37 -40
  122. package/lib/elements/blocks/resource/resource.d.ts +2 -2
  123. package/lib/elements/blocks/resource/resource.js +10 -18
  124. package/lib/elements/blocks/resource/resource.schema.d.ts +15 -15
  125. package/lib/elements/blocks/resource/resource.schema.js +8 -8
  126. package/lib/elements/blocks/topic/topic.builder.d.ts +2 -2
  127. package/lib/elements/blocks/topic/topic.builder.js +4 -4
  128. package/lib/elements/blocks/topic/topic.d.ts +2 -2
  129. package/lib/elements/blocks/topic/topic.js +7 -7
  130. package/lib/elements/blocks/topic/topic.schema.d.ts +6 -6
  131. package/lib/elements/blocks/topic/topic.schema.js +3 -3
  132. package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +1 -1
  133. package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +2 -2
  134. package/lib/elements/edge/controller/adapters/controller_adapter.js +2 -2
  135. package/lib/elements/edge/controller/controller.builder.d.ts +14 -13
  136. package/lib/elements/edge/controller/controller.builder.js +52 -42
  137. package/lib/elements/edge/controller/controller.d.ts +3 -3
  138. package/lib/elements/edge/controller/controller.js +12 -12
  139. package/lib/elements/edge/controller/controller.schema.d.ts +17 -16
  140. package/lib/elements/edge/controller/controller.schema.js +11 -11
  141. package/lib/elements/edge/externals/externals.builder.d.ts +8 -13
  142. package/lib/elements/edge/externals/externals.builder.js +43 -11
  143. package/lib/elements/edge/externals/externals.schema.d.ts +8 -7
  144. package/lib/elements/edge/externals/externals.schema.js +5 -3
  145. package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.d.ts +45 -0
  146. package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.js +164 -0
  147. package/lib/elements/entities/bucket/adapters/browserdb.service.d.ts +30 -0
  148. package/lib/elements/entities/bucket/adapters/browserdb.service.js +97 -0
  149. package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +6 -1
  150. package/lib/elements/entities/bucket/adapters/bucket_adapter.js +7 -6
  151. package/lib/elements/entities/bucket/adapters/json.bucket_adapter.d.ts +1 -1
  152. package/lib/elements/entities/bucket/adapters/json.bucket_adapter.js +1 -0
  153. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +1 -0
  154. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +14 -13
  155. package/lib/elements/entities/bucket/adapters/memory.nql.js +41 -35
  156. package/lib/elements/entities/bucket/bucket.builder.d.ts +6 -8
  157. package/lib/elements/entities/bucket/bucket.builder.js +19 -34
  158. package/lib/elements/entities/bucket/bucket.d.ts +2 -2
  159. package/lib/elements/entities/bucket/bucket.infer.d.ts +5 -5
  160. package/lib/elements/entities/bucket/bucket.js +19 -17
  161. package/lib/elements/entities/bucket/bucket.schema.d.ts +3 -3
  162. package/lib/elements/entities/bucket/bucket.schema.js +2 -2
  163. package/lib/elements/entities/bucket/cache/bucket_cache.js +14 -2
  164. package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +3 -3
  165. package/lib/elements/entities/bucket/graph/bucket_graph.js +101 -29
  166. package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +3 -3
  167. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +2 -2
  168. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +5 -3
  169. package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +2 -1
  170. package/lib/elements/entities/bucket/model/bucket_model.builder.js +2 -2
  171. package/lib/elements/entities/bucket/model/bucket_model.convert.js +3 -6
  172. package/lib/elements/entities/bucket/model/bucket_model.d.ts +13 -0
  173. package/lib/elements/entities/bucket/model/bucket_model.js +93 -0
  174. package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +4 -8
  175. package/lib/elements/entities/bucket/model/bucket_model.schema.js +0 -68
  176. package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +12 -4
  177. package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +30 -33
  178. package/lib/elements/entities/bucket/query/nql.schema.d.ts +1 -1
  179. package/lib/elements/entities/bucket/query/nql_compiler.d.ts +8 -4
  180. package/lib/elements/entities/bucket/query/nql_compiler.js +44 -38
  181. package/lib/elements/entities/bucket/query/nql_engine.d.ts +1 -1
  182. package/lib/elements/entities/bucket/query/nql_engine.js +5 -2
  183. package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +2 -2
  184. package/lib/elements/entities/bucket/view/bucket_view.js +113 -81
  185. package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +9 -8
  186. package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -10
  187. package/lib/elements/entities/constants/constants.builder.d.ts +3 -3
  188. package/lib/elements/entities/constants/constants.builder.js +8 -8
  189. package/lib/elements/entities/constants/constants.schema.d.ts +8 -3
  190. package/lib/elements/entities/constants/constants.schema.js +7 -2
  191. package/lib/elements/entities/message/message.infer.d.ts +1 -5
  192. package/lib/elements/entities/message/message.js +2 -7
  193. package/lib/elements/entities/message/message.schema.js +1 -1
  194. package/lib/elements/entities/message/template/message_template.schema.d.ts +7 -5
  195. package/lib/elements/entities/message/template/message_template_field.builder.d.ts +18 -3
  196. package/lib/elements/entities/message/template/message_template_field.builder.js +49 -30
  197. package/lib/elements/entities/message/template/message_template_parser.js +2 -2
  198. package/lib/engine/{apps → app}/app.config.d.ts +11 -5
  199. package/lib/engine/{apps → app}/app.config.js +2 -2
  200. package/lib/engine/{apps → app}/app.d.ts +3 -2
  201. package/lib/engine/{apps → app}/app.js +3 -1
  202. package/lib/engine/{apps/distributed → app}/inc/inc.client.js +1 -1
  203. package/lib/engine/{apps/distributed → app}/inc/inc.server.js +3 -3
  204. package/lib/engine/{apps/distributed → app}/inc/sandbox.js +1 -1
  205. package/lib/engine/{apps → app}/inline.app.d.ts +2 -12
  206. package/lib/engine/{apps → app}/inline.app.js +37 -34
  207. package/lib/engine/auth/authn.d.ts +10 -12
  208. package/lib/engine/auth/zero.authn_provider.d.ts +3 -4
  209. package/lib/engine/auth/zero.authn_provider.js +0 -1
  210. package/lib/engine/builder.d.ts +28 -0
  211. package/lib/engine/builder.js +99 -0
  212. package/lib/engine/cli/cli.js +3 -2
  213. package/lib/engine/cli/ui.js +1 -0
  214. package/lib/engine/daemon.d.ts +28 -25
  215. package/lib/engine/daemon.js +37 -8
  216. package/lib/engine/data/error.d.ts +37 -3
  217. package/lib/engine/data/error.js +58 -16
  218. package/lib/engine/data/file.d.ts +1 -0
  219. package/lib/engine/data/file.js +4 -0
  220. package/lib/engine/dependency.d.ts +53 -81
  221. package/lib/engine/dependency.js +246 -120
  222. package/lib/engine/module.d.ts +18 -48
  223. package/lib/engine/module.js +78 -158
  224. package/lib/engine/space.d.ts +2 -2
  225. package/lib/engine/space.js +6 -6
  226. package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +7 -4
  227. package/lib/engine/transaction/nodes/bucket.trx_node.js +66 -43
  228. package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +10 -4
  229. package/lib/engine/transaction/nodes/bucket_query.trx_node.js +56 -45
  230. package/lib/engine/transaction/nodes/external.trx_node.d.ts +15 -0
  231. package/lib/engine/transaction/nodes/external.trx_node.js +53 -0
  232. package/lib/engine/transaction/nodes/job.trx_node.d.ts +7 -3
  233. package/lib/engine/transaction/nodes/job.trx_node.js +49 -29
  234. package/lib/engine/transaction/nodes/machine.trx_node.js +6 -6
  235. package/lib/engine/transaction/nodes/queue.trx_node.js +3 -3
  236. package/lib/engine/transaction/nodes/resource.trx_node.d.ts +7 -4
  237. package/lib/engine/transaction/nodes/resource.trx_node.js +68 -51
  238. package/lib/engine/transaction/nodes/topic.trx_node.js +9 -9
  239. package/lib/engine/transaction/trx.d.ts +15 -12
  240. package/lib/engine/transaction/trx.js +19 -3
  241. package/lib/engine/transaction/trx_engine.config.d.ts +4 -4
  242. package/lib/engine/transaction/trx_engine.d.ts +25 -7
  243. package/lib/engine/transaction/trx_engine.js +67 -16
  244. package/lib/engine/transaction/trx_node.d.ts +25 -21
  245. package/lib/engine/transaction/trx_node.js +99 -57
  246. package/lib/engine/tree.d.ts +4 -16
  247. package/lib/engine/tree.js +87 -57
  248. package/lib/{compiler → engine}/treeshake.d.ts +32 -32
  249. package/lib/{compiler → engine}/treeshake.js +272 -242
  250. package/lib/engine/util/console.js +3 -0
  251. package/lib/engine/util/crypto.d.ts +4 -3
  252. package/lib/engine/util/crypto.js +15 -5
  253. package/lib/engine/util/hash.js +5 -0
  254. package/lib/engine/util/log.d.ts +6 -8
  255. package/lib/engine/util/log.js +1 -1
  256. package/lib/engine/util/name_helpers.d.ts +37 -0
  257. package/lib/{compiler/helpers → engine/util}/name_helpers.js +33 -0
  258. package/lib/engine/util/parse.d.ts +4 -3
  259. package/lib/engine/util/parse.js +13 -28
  260. package/lib/engine/util/path.d.ts +1 -0
  261. package/lib/engine/util/path.js +14 -0
  262. package/lib/engine/util/random.d.ts +4 -0
  263. package/lib/engine/util/random.js +31 -0
  264. package/lib/engine/util/type.d.ts +8 -0
  265. package/lib/schema.d.ts +1 -1
  266. package/package.json +4 -1
  267. package/tools/joaquin/bucket.js +1 -1
  268. package/tools/joaquin/job.js +1 -1
  269. package/tools/joaquin/message.js +1 -1
  270. package/tools/joaquin/mock.js +2 -1
  271. package/tsconfig.build.tsbuildinfo +1 -1
  272. package/lib/compiler/apps/distributed/stages/1_mkdir_stage.d.ts +0 -15
  273. package/lib/compiler/apps/distributed/stages/2_build_typescript_stage.d.ts +0 -15
  274. package/lib/compiler/apps/distributed/stages/3_copy_types_stage.d.ts +0 -15
  275. package/lib/compiler/apps/distributed/stages/4_dump_modules_stage.d.ts +0 -16
  276. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +0 -15
  277. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +0 -15
  278. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +0 -15
  279. package/lib/compiler/apps/monolyth/stages/6_dump_cli_stage.d.ts +0 -15
  280. package/lib/compiler/helpers/name_helpers.d.ts +0 -20
  281. package/lib/engine/apps/distributed/distributed.app.config.d.ts +0 -44
  282. package/lib/engine/apps/distributed/elements/distributed_job.d.ts +0 -7
  283. package/lib/engine/apps/distributed/elements/distributed_job.js +0 -11
  284. /package/lib/{compiler/apps → bundler}/distributed/stages/5_copy_static_stage.d.ts +0 -0
  285. /package/lib/{compiler/apps → bundler}/distributed/stages/6_dump_cli_stage.d.ts +0 -0
  286. /package/lib/{compiler/apps → bundler}/distributed/stages/7_dump_package_json_stage.d.ts +0 -0
  287. /package/lib/engine/{apps/distributed → app}/inc/inc.client.d.ts +0 -0
  288. /package/lib/engine/{apps/distributed → app}/inc/inc.server.d.ts +0 -0
  289. /package/lib/engine/{apps/distributed → app}/inc/sandbox.d.ts +0 -0
  290. /package/lib/engine/{apps → app}/service.d.ts +0 -0
  291. /package/lib/engine/{apps → app}/service.js +0 -0
@@ -32,12 +32,16 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.DumpModulesStage = void 0;
37
40
  const fs = __importStar(require("fs"));
38
41
  const path = __importStar(require("path"));
39
- const log_1 = require("../../../../engine/util/log");
40
- const app_1 = require("../../../../engine/apps/app");
42
+ const log_1 = require("../../../engine/util/log");
43
+ const app_1 = require("../../../engine/app/app");
44
+ const typescript_1 = __importDefault(require("typescript"));
41
45
  /**
42
46
  * [Monolyth Compiler Stage #4]
43
47
  * Dump modules to build/modules folder.
@@ -46,13 +50,13 @@ const app_1 = require("../../../../engine/apps/app");
46
50
  * @subcategory Stages
47
51
  */
48
52
  class DumpModulesStage {
49
- constructor(monolyth, app) {
50
- this.monolyth = monolyth;
53
+ constructor(bundler, app) {
54
+ this.bundler = bundler;
51
55
  this.app = app;
52
56
  }
53
57
  async run() {
54
58
  log_1.Log.info('compiler', 'monolyth', 'Dumping modules to build/modules folder...');
55
- const { compiler, dirs } = this.monolyth;
59
+ const { compiler, dirs } = this.bundler;
56
60
  const info = app_1.App.getInfo(this.app);
57
61
  for (const name of info.spaceModules) {
58
62
  const module = compiler.modules[name];
@@ -61,8 +65,13 @@ class DumpModulesStage {
61
65
  }
62
66
  dumpModule(module, dir) {
63
67
  log_1.Log.debug('compiler', 'monolyth', `Dumping module ${module.lowName}`);
64
- let str = `const { Module } = require('${module.compiler.config?.nesoiPath || 'nesoi'}/lib/engine/module');\n`;
65
- str += `exports.default = new Module('${module.lowName}')\n`;
68
+ const esnext = this.bundler.tsconfig.module === typescript_1.default.ModuleKind.ESNext;
69
+ let str = esnext
70
+ ? `const { Module } = await import('${module.compiler.config?.nesoiPath || 'nesoi'}/lib/engine/module');\n`
71
+ : `const { Module } = require('${module.compiler.config?.nesoiPath || 'nesoi'}/lib/engine/module');\n`;
72
+ str += esnext
73
+ ? `export default new Module('${module.lowName}')\n`
74
+ : `exports.default = new Module('${module.lowName}')\n`;
66
75
  str += ' .inject({';
67
76
  const externals = module.module.schema.externals;
68
77
  if (externals) {
@@ -101,15 +110,17 @@ class DumpModulesStage {
101
110
  }
102
111
  str += '\n },';
103
112
  }
113
+ const import_ = esnext ? '(await import' : 'require';
114
+ const _import = esnext ? ')).default' : ').default';
104
115
  const constants = module.module.schema.constants;
105
116
  if (constants && (Object.values(constants.values).length || Object.values(constants.enums).length)) {
106
- str += `\n constants: require('./${module.lowName}/constants__${module.lowName}').default,`;
117
+ str += `\n constants: ${import_}('./${module.lowName}/constants__${module.lowName}'${_import},`;
107
118
  }
108
119
  const buckets = Object.values(module.module.schema.buckets || {});
109
120
  if (buckets.length) {
110
121
  str += '\n buckets: [\n';
111
122
  buckets.forEach(bucket => {
112
- str += ` require('./${module.lowName}/bucket__${bucket.name}').default,\n`;
123
+ str += ` ${import_}('./${module.lowName}/bucket__${bucket.name}'${_import},\n`;
113
124
  });
114
125
  str += ' ],';
115
126
  }
@@ -117,7 +128,9 @@ class DumpModulesStage {
117
128
  if (messages.length) {
118
129
  str += '\n messages: [\n';
119
130
  messages.forEach(message => {
120
- str += ` require('./${module.lowName}/message__${message.name}').default,\n`;
131
+ if (message.module !== module.lowName)
132
+ return;
133
+ str += ` ${import_}('./${module.lowName}/message__${message.name}'${_import},\n`;
121
134
  });
122
135
  str += ' ],';
123
136
  }
@@ -125,7 +138,7 @@ class DumpModulesStage {
125
138
  if (jobs.length) {
126
139
  str += '\n jobs: [\n';
127
140
  jobs.forEach(job => {
128
- str += ` require('./${module.lowName}/job__${job.name}').default,\n`;
141
+ str += ` ${import_}('./${module.lowName}/job__${job.name}'${_import},\n`;
129
142
  });
130
143
  str += ' ],';
131
144
  }
@@ -133,7 +146,7 @@ class DumpModulesStage {
133
146
  if (resources.length) {
134
147
  str += '\n resources: [\n';
135
148
  resources.forEach(resource => {
136
- str += ` require('./${module.lowName}/resource__${resource.name}').default,\n`;
149
+ str += ` ${import_}('./${module.lowName}/resource__${resource.name}'${_import},\n`;
137
150
  });
138
151
  str += ' ],';
139
152
  }
@@ -141,7 +154,7 @@ class DumpModulesStage {
141
154
  if (machines.length) {
142
155
  str += '\n machines: [\n';
143
156
  machines.forEach(machine => {
144
- str += ` require('./${module.lowName}/machine__${machine.name}').default,\n`;
157
+ str += ` ${import_}('./${module.lowName}/machine__${machine.name}'${_import},\n`;
145
158
  });
146
159
  str += ' ],';
147
160
  }
@@ -149,7 +162,7 @@ class DumpModulesStage {
149
162
  if (controllers.length) {
150
163
  str += '\n controllers: [\n';
151
164
  controllers.forEach(controller => {
152
- str += ` require('./${module.lowName}/controller__${controller.name}').default,\n`;
165
+ str += ` ${import_}('./${module.lowName}/controller__${controller.name}'${_import},\n`;
153
166
  });
154
167
  str += ' ],';
155
168
  }
@@ -157,7 +170,7 @@ class DumpModulesStage {
157
170
  if (queues.length) {
158
171
  str += '\n queues: [\n';
159
172
  queues.forEach(queue => {
160
- str += ` require('./${module.lowName}/queue__${queue.name}').default,\n`;
173
+ str += ` ${import_}('./${module.lowName}/queue__${queue.name}'${_import},\n`;
161
174
  });
162
175
  str += ' ],';
163
176
  }
@@ -165,7 +178,7 @@ class DumpModulesStage {
165
178
  if (topics.length) {
166
179
  str += '\n topics: [\n';
167
180
  topics.forEach(topic => {
168
- str += ` require('./${module.lowName}/topic__${topic.name}').default,\n`;
181
+ str += ` ${import_}('./${module.lowName}/topic__${topic.name}'${_import},\n`;
169
182
  });
170
183
  str += ' ],';
171
184
  }
@@ -1,5 +1,5 @@
1
- import { MonolythApp } from "../../../../engine/apps/monolyth/monolyth.app";
2
- import { MonolythCompiler } from '../monolyth_compiler';
1
+ import { MonolythApp } from "../monolyth.app";
2
+ import { MonolythBundler } from '../monolyth.bundler';
3
3
  /**
4
4
  * [Monolyth Compiler Stage #5]
5
5
  * Copy the paths passed to `staticPaths` on the compiler
@@ -9,8 +9,8 @@ import { MonolythCompiler } from '../monolyth_compiler';
9
9
  * @subcategory Stages
10
10
  */
11
11
  export declare class CopyStaticStage {
12
- private monolyth;
12
+ private bundler;
13
13
  private app;
14
- constructor(monolyth: MonolythCompiler, app: MonolythApp<any, any>);
14
+ constructor(bundler: MonolythBundler, app: MonolythApp<any, any>);
15
15
  run(): Promise<void>;
16
16
  }
@@ -36,8 +36,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.CopyStaticStage = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
- const log_1 = require("../../../../engine/util/log");
40
- const space_1 = require("../../../../engine/space");
39
+ const log_1 = require("../../../engine/util/log");
40
+ const space_1 = require("../../../engine/space");
41
41
  /**
42
42
  * [Monolyth Compiler Stage #5]
43
43
  * Copy the paths passed to `staticPaths` on the compiler
@@ -47,15 +47,15 @@ const space_1 = require("../../../../engine/space");
47
47
  * @subcategory Stages
48
48
  */
49
49
  class CopyStaticStage {
50
- constructor(monolyth, app) {
51
- this.monolyth = monolyth;
50
+ constructor(bundler, app) {
51
+ this.bundler = bundler;
52
52
  this.app = app;
53
53
  }
54
54
  async run() {
55
55
  log_1.Log.info('compiler', 'monolyth', 'Copying static paths to build folder...');
56
- for (const staticPath of this.monolyth.config.staticPaths || []) {
57
- const from = space_1.Space.path(this.monolyth.compiler.space, staticPath);
58
- const to = path.join(this.monolyth.dirs.build, staticPath);
56
+ for (const staticPath of this.bundler.config.staticPaths || []) {
57
+ const from = space_1.Space.path(this.bundler.compiler.space, staticPath);
58
+ const to = path.join(this.bundler.dirs.build, staticPath);
59
59
  fs.cpSync(from, to, {
60
60
  recursive: true
61
61
  });
@@ -0,0 +1,15 @@
1
+ import { MonolythApp } from "../monolyth.app";
2
+ import { MonolythBundler } from '../monolyth.bundler';
3
+ /**
4
+ * [Monolyth Compiler Stage #6]
5
+ * Dump the cli.js file to build/bin folder.
6
+ *
7
+ * @category Monolyth Compiler
8
+ * @subcategory Stages
9
+ */
10
+ export declare class DumpCLIStage {
11
+ private bundler;
12
+ private app;
13
+ constructor(bundler: MonolythBundler, app: MonolythApp<any, any>);
14
+ run(): Promise<void>;
15
+ }
@@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.DumpCLIStage = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
- const log_1 = require("../../../../engine/util/log");
39
+ const log_1 = require("../../../engine/util/log");
40
40
  /**
41
41
  * [Monolyth Compiler Stage #6]
42
42
  * Dump the cli.js file to build/bin folder.
@@ -45,13 +45,13 @@ const log_1 = require("../../../../engine/util/log");
45
45
  * @subcategory Stages
46
46
  */
47
47
  class DumpCLIStage {
48
- constructor(monolyth, app) {
49
- this.monolyth = monolyth;
48
+ constructor(bundler, app) {
49
+ this.bundler = bundler;
50
50
  this.app = app;
51
51
  }
52
52
  async run() {
53
53
  log_1.Log.info('compiler', 'monolyth', 'Dumping cli.js file to build/bin folder...');
54
- const { dirs } = this.monolyth;
54
+ const { dirs } = this.bundler;
55
55
  let str = '';
56
56
  str += 'require("nesoi/tools/dotenv");\n';
57
57
  str += 'const app = require(\'../app\').default\n';
@@ -1,5 +1,5 @@
1
- import { MonolythCompiler } from '../monolyth_compiler';
2
- import { MonolythApp } from "../../../../engine/apps/monolyth/monolyth.app";
1
+ import { MonolythBundler } from '../monolyth.bundler';
2
+ import { MonolythApp } from "../monolyth.app";
3
3
  /**
4
4
  * [Monolyth Compiler Stage #7]
5
5
  * Dump the package.json file to build folder.
@@ -8,8 +8,8 @@ import { MonolythApp } from "../../../../engine/apps/monolyth/monolyth.app";
8
8
  * @subcategory Stages
9
9
  */
10
10
  export declare class DumpPackageJsonStage {
11
- private monolyth;
11
+ private bundler;
12
12
  private app;
13
- constructor(monolyth: MonolythCompiler, app: MonolythApp<any, any>);
13
+ constructor(bundler: MonolythBundler, app: MonolythApp<any, any>);
14
14
  run(): Promise<void>;
15
15
  }
@@ -36,9 +36,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.DumpPackageJsonStage = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
- const log_1 = require("../../../../engine/util/log");
40
- const space_1 = require("../../../../engine/space");
41
- const monolyth_app_1 = require("../../../../engine/apps/monolyth/monolyth.app");
39
+ const log_1 = require("../../../engine/util/log");
40
+ const space_1 = require("../../../engine/space");
41
+ const monolyth_app_1 = require("../monolyth.app");
42
+ const app_1 = require("../../../engine/app/app");
42
43
  /**
43
44
  * [Monolyth Compiler Stage #7]
44
45
  * Dump the package.json file to build folder.
@@ -47,13 +48,13 @@ const monolyth_app_1 = require("../../../../engine/apps/monolyth/monolyth.app");
47
48
  * @subcategory Stages
48
49
  */
49
50
  class DumpPackageJsonStage {
50
- constructor(monolyth, app) {
51
- this.monolyth = monolyth;
51
+ constructor(bundler, app) {
52
+ this.bundler = bundler;
52
53
  this.app = app;
53
54
  }
54
55
  async run() {
55
56
  log_1.Log.info('compiler', 'monolyth', 'Dumping package.json to build folder...');
56
- const { config, compiler, dirs } = this.monolyth;
57
+ const { config, compiler, dirs } = this.bundler;
57
58
  const packageJsonPath = config.nesoiPath
58
59
  ? path.join(config.nesoiPath, 'package.json')
59
60
  : path.join('..', '..', '..', '..', '..', 'package.json');
@@ -67,11 +68,13 @@ class DumpPackageJsonStage {
67
68
  const jspath = path.replace(/\.ts/, '.js');
68
69
  scripts[name] = `node ${jspath}`;
69
70
  });
71
+ const info = app_1.App.getInfo(this.app);
72
+ const { nesoi: _, spaceDependencies } = spacePackageJson.dependencies || {};
70
73
  const dependencies = {
71
- ...spacePackageJson.dependencies,
72
- nesoi: config.nesoiPath
73
- ? `file:${config.nesoiPath}`
74
- : nesoiPackageJson.version
74
+ ...spaceDependencies,
75
+ [info.nesoiNpmPkg]: config.nesoiPath
76
+ ? `file:${config.nesoiPath || config.nesoiVersion}`
77
+ : config.nesoiVersion || nesoiPackageJson.version
75
78
  };
76
79
  const packageJson = monolyth_app_1.MonolythApp.package(this.app, scripts, dependencies);
77
80
  fs.writeFileSync(filePath, JSON.stringify(packageJson, undefined, 2));
@@ -3,12 +3,7 @@ import { ModuleTree } from "../engine/tree";
3
3
  import { Space } from "../engine/space";
4
4
  import { $Space } from "../schema";
5
5
  import { TypeScriptCompiler } from './typescript/typescript_compiler';
6
- export type CompilerConfig = {
7
- nesoiPath?: string;
8
- exclude?: string[];
9
- reset?: boolean;
10
- diagnose?: boolean;
11
- };
6
+ import { CompilerConfig } from "../engine/app/app.config";
12
7
  export declare class Compiler {
13
8
  space: Space<$Space>;
14
9
  config?: CompilerConfig | undefined;
@@ -24,7 +24,7 @@ class Compiler {
24
24
  this.config = config;
25
25
  this.modules = {};
26
26
  this.tree = new tree_1.ModuleTree({}, this.config);
27
- console_1.default.header('Elements Compiler');
27
+ console_1.default.header('Compiler');
28
28
  log_1.Log.info('compiler', 'ts', 'Loading TypeScript...');
29
29
  this.tsCompiler = new typescript_compiler_1.TypeScriptCompiler(space, config?.nesoiPath);
30
30
  }
@@ -1,5 +1,6 @@
1
1
  import { $BucketModel, $BucketModelFields } from "../../elements/entities/bucket/model/bucket_model.schema";
2
- import { Element, ObjTypeAsObj, TypeAsObj } from './element';
2
+ import { Element } from './element';
3
+ import { TypeAsObj, ObjTypeAsObj } from "../../engine/util/type";
3
4
  import { $Bucket } from "../../elements/entities/bucket/bucket.schema";
4
5
  export declare class BucketElement extends Element<$Bucket> {
5
6
  protected prepare(): void;
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BucketElement = void 0;
4
4
  const bucket_model_schema_1 = require("../../elements/entities/bucket/model/bucket_model.schema");
5
5
  const element_1 = require("./element");
6
- const name_helpers_1 = require("../helpers/name_helpers");
7
- const dependency_1 = require("../../engine/dependency");
8
6
  const dump_helpers_1 = require("../helpers/dump_helpers");
7
+ const name_helpers_1 = require("../../engine/util/name_helpers");
9
8
  class BucketElement extends element_1.Element {
10
9
  // Prepare
11
10
  prepare() {
@@ -78,23 +77,11 @@ class BucketElement extends element_1.Element {
78
77
  }
79
78
  else if (field.type === 'enum') {
80
79
  const options = field.meta.enum.options;
81
- if (typeof options === 'string') {
82
- const constants = this.compiler.tree.getSchema(field.meta.enum.dep);
83
- const constName = name_helpers_1.NameHelpers.names(constants);
84
- const tag = dependency_1.$Tag.parseOrFail(options);
85
- if (tag.module || constants.module !== this.module) {
86
- const moduleName = constName.high + 'Module';
87
- type = `keyof ${moduleName}['constants']['enums']['${tag.name || options}']['options']`;
88
- }
89
- else {
90
- type = `keyof ${constName.type}['enums']['${options}']['options']`;
91
- }
92
- }
93
- else if (Array.isArray(options)) {
80
+ if (Array.isArray(options)) {
94
81
  type = options.map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v, undefined, singleLine));
95
82
  }
96
83
  else if (typeof options === 'object') {
97
- type = Object.values(options || []).map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v, undefined, singleLine));
84
+ type = Object.keys(options).map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v, undefined, singleLine));
98
85
  }
99
86
  }
100
87
  else if (field.type === 'file') {
@@ -109,6 +96,14 @@ class BucketElement extends element_1.Element {
109
96
  else if (field.type === 'string') {
110
97
  type = 'string';
111
98
  }
99
+ else if (field.type === 'literal') {
100
+ const regex = field.meta.literal.template;
101
+ const rtype = regex
102
+ .replace(/[.][*+]/g, '${string}')
103
+ .replace(/\\d[*+]?/g, '${number}')
104
+ .replace(/\\(.)/g, '$1');
105
+ type = `\`${rtype}\``;
106
+ }
112
107
  else if (field.type === 'obj') {
113
108
  type = this.buildModelType(field.children, singleLine);
114
109
  }
@@ -145,7 +140,7 @@ class BucketElement extends element_1.Element {
145
140
  const composition = {};
146
141
  Object.values(this.schema.graph.links).forEach(link => {
147
142
  if (link.rel === 'composition') {
148
- const bucket = dependency_1.$Dependency.typeName(link.bucket, this.module);
143
+ const bucket = name_helpers_1.NameHelpers.tagType(link.bucket, this.module);
149
144
  composition[link.name] = {
150
145
  bucket,
151
146
  many: link.many.toString(),
@@ -186,7 +181,7 @@ class BucketElement extends element_1.Element {
186
181
  const links = {};
187
182
  Object.entries(this.schema.graph.links).forEach(([key, link]) => {
188
183
  links[key] = dump_helpers_1.DumpHelpers.dumpValueToType(link);
189
- const bucket = dependency_1.$Dependency.typeName(link.bucket, this.module);
184
+ const bucket = name_helpers_1.NameHelpers.tagType(link.bucket, this.module);
190
185
  Object.assign(links[key], {
191
186
  '#bucket': bucket,
192
187
  '#many': link.many.toString()
@@ -226,7 +221,7 @@ class BucketElement extends element_1.Element {
226
221
  }
227
222
  else if (field.scope === 'graph' && 'graph' in field.meta) {
228
223
  const link = this.schema.graph.links[field.meta.graph.link];
229
- const bucket = dependency_1.$Dependency.typeName(link.bucket, this.module);
224
+ const bucket = name_helpers_1.NameHelpers.tagType(link.bucket, this.module);
230
225
  if (field.meta.graph.view) {
231
226
  data[key] = `${bucket}['views']['${field.meta.graph.view}']['#data']${link.many ? '[]' : ''}${link.optional ? ' | undefined' : ''}`;
232
227
  }
@@ -266,10 +261,10 @@ class BucketElement extends element_1.Element {
266
261
  // This currently breaks with enum, which are module-level
267
262
  // Since this method is used to build space-level models
268
263
  const el = {
269
- buildModel: BucketElement.prototype.buildModelType,
264
+ buildModelType: BucketElement.prototype.buildModelType,
270
265
  buildModelFieldType: BucketElement.prototype.buildModelFieldType
271
266
  };
272
- return el.buildModel.bind(el)(model.fields);
267
+ return el.buildModelType.bind(el)(model.fields);
273
268
  }
274
269
  }
275
270
  exports.BucketElement = BucketElement;
@@ -1,8 +1,8 @@
1
+ import { ProgressiveBuildCache } from '../progressive';
1
2
  import { ResolvedBuilderNode } from "../../engine/dependency";
2
3
  import { Compiler } from '../compiler';
3
4
  import { Element } from './element';
4
5
  import { AnyElementSchema } from "../../engine/module";
5
- import { ProgressiveBuildCache } from '../progressive';
6
6
  export declare class CachedElement extends Element<AnyElementSchema> {
7
7
  constructor(compiler: Compiler, node: ResolvedBuilderNode);
8
8
  protected prepare(): void;
@@ -4,7 +4,7 @@ exports.CachedElement = void 0;
4
4
  const element_1 = require("./element");
5
5
  class CachedElement extends element_1.Element {
6
6
  constructor(compiler, node) {
7
- super(compiler, node.module, node.type, [node.filepath], node.progressive.schema, [], undefined, {});
7
+ super(compiler, node.tag.module, node.tag.type, [node.filepath], node.progressive.schema, [], undefined, {});
8
8
  }
9
9
  prepare() {
10
10
  }
@@ -12,7 +12,7 @@ class CachedElement extends element_1.Element {
12
12
  return '';
13
13
  }
14
14
  dumpTypeSchema(cache) {
15
- return cache.types.elements[this.tag];
15
+ return cache.types.elements[this.tag.full];
16
16
  }
17
17
  }
18
18
  exports.CachedElement = CachedElement;
@@ -2,7 +2,7 @@ import { Element } from './element';
2
2
  import { $Constants } from "../../elements/entities/constants/constants.schema";
3
3
  export declare class ConstantsElement extends Element<$Constants> {
4
4
  protected prepare(): void;
5
- protected buildType(): import("./element").TypeAsObj;
5
+ protected buildType(): import("../../engine/util/type").TypeAsObj;
6
6
  private buildEnums;
7
7
  private buildEnumTree;
8
8
  private buildEnumPaths;
@@ -38,6 +38,8 @@ class ConstantsElement extends element_1.Element {
38
38
  });
39
39
  enums[key] = {
40
40
  '#data': data,
41
+ $t: dump_helpers_1.DumpHelpers.dumpValueToType('constants.enum'),
42
+ module: dump_helpers_1.DumpHelpers.dumpValueToType(val.module),
41
43
  name: dump_helpers_1.DumpHelpers.dumpValueToType(val.name),
42
44
  options: type
43
45
  };
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ControllerElement = void 0;
4
- const dependency_1 = require("../../engine/dependency");
5
4
  const element_1 = require("./element");
6
5
  const dump_helpers_1 = require("../helpers/dump_helpers");
6
+ const name_helpers_1 = require("../../engine/util/name_helpers");
7
7
  class ControllerElement extends element_1.Element {
8
8
  prepare() {
9
9
  this.schema['#authn'] = element_1.Element.Any;
@@ -11,9 +11,9 @@ class ControllerElement extends element_1.Element {
11
11
  }
12
12
  buildType() {
13
13
  const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema);
14
- const input = this.schema.input.map(dep => dependency_1.$Dependency.typeName(dep, this.module)).join(' | ');
14
+ const input = this.schema.input.map(tag => name_helpers_1.NameHelpers.tagType(tag, this.module)).join(' | ');
15
15
  return {
16
- '#authn': element_1.Element.makeAuthnType(this.schema.authn),
16
+ '#authn': element_1.Element.makeAuthnType(this.schema.auth),
17
17
  '#input': input,
18
18
  ...type
19
19
  };
@@ -1,20 +1,13 @@
1
- import { ResolvedBuilderNode } from "../../engine/dependency";
1
+ import { ResolvedBuilderNode, Tag } from "../../engine/dependency";
2
2
  import { AnyElementSchema } from "../../engine/module";
3
3
  import { $Machine, $MachineState, $MachineTransition } from "../../elements/blocks/machine/machine.schema";
4
4
  import { $Job } from "../../elements/blocks/job/job.schema";
5
5
  import { $Queue } from "../../elements/blocks/queue/queue.schema";
6
6
  import { Compiler } from '../compiler';
7
- import { $Block } from "../../elements/blocks/block.schema";
8
- import { ProgressiveBuildCache } from '../progressive';
7
+ import { $Block, $BlockAuth } from "../../elements/blocks/block.schema";
9
8
  import { $Topic } from "../../elements";
10
- export type TypeAsObj = string | ({
11
- [x: string]: TypeAsObj;
12
- } & {
13
- __array?: boolean;
14
- __optional?: boolean;
15
- __or?: TypeAsObj;
16
- });
17
- export type ObjTypeAsObj = TypeAsObj & Record<string, any>;
9
+ import { ProgressiveBuildCache } from '../progressive';
10
+ import { TypeAsObj } from "../../engine/util/type";
18
11
  export declare abstract class Element<T extends AnyElementSchema> {
19
12
  protected compiler: Compiler;
20
13
  protected module: string;
@@ -27,7 +20,7 @@ export declare abstract class Element<T extends AnyElementSchema> {
27
20
  static Any: any;
28
21
  static Never: any;
29
22
  type: TypeAsObj;
30
- tag: string;
23
+ tag: Tag;
31
24
  lowName: string;
32
25
  highName: string;
33
26
  typeName: string;
@@ -39,7 +32,7 @@ export declare abstract class Element<T extends AnyElementSchema> {
39
32
  protected customImports(nesoiPath: string): string;
40
33
  dumpFileSchema(nesoiPath: string): string;
41
34
  dumpTypeSchema(cache?: ProgressiveBuildCache): string;
42
- static makeAuthnType(authn: string[]): ({
35
+ static makeAuthnType(auth: $BlockAuth[]): ({
43
36
  [x: string]: TypeAsObj;
44
37
  } & {
45
38
  __array?: boolean;
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Element = void 0;
4
- const name_helpers_1 = require("../helpers/name_helpers");
4
+ const dependency_1 = require("../../engine/dependency");
5
+ const name_helpers_1 = require("../../engine/util/name_helpers");
5
6
  const dump_helpers_1 = require("../helpers/dump_helpers");
7
+ /* @nesoi:browser ignore-end */
6
8
  class Element {
7
9
  constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
8
10
  this.compiler = compiler;
@@ -14,7 +16,7 @@ class Element {
14
16
  this.inlineRoot = inlineRoot;
15
17
  this.bridge = bridge;
16
18
  const names = name_helpers_1.NameHelpers.names(schema);
17
- this.tag = `${module}::${$t}:${names.low}`;
19
+ this.tag = new dependency_1.Tag(module, $t, names.low);
18
20
  this.lowName = names.low;
19
21
  this.highName = names.high;
20
22
  this.typeName = names.type;
@@ -62,19 +64,19 @@ class Element {
62
64
  }[this.$t];
63
65
  return `export interface ${this.typeName} extends ${typeschema} ${dump_helpers_1.DumpHelpers.dumpType(this.type)};\n`;
64
66
  }
65
- static makeAuthnType(authn) {
66
- if (authn.length === 0) {
67
+ static makeAuthnType(auth) {
68
+ if (auth.length === 0) {
67
69
  return '{}';
68
70
  }
69
71
  const type = {};
70
- authn.forEach(provider => {
71
- type[provider] = `AuthnUsers['${provider}']`;
72
+ auth.forEach(a => {
73
+ type[a.provider] = `AuthnUsers['${a.provider}']`;
72
74
  });
73
75
  return type;
74
76
  }
75
77
  static makeIOType(compiler, schema) {
76
78
  const input = schema.input.map(msg => {
77
- const schema = compiler.tree.getSchema(msg);
79
+ const schema = dependency_1.Tag.resolve(msg, compiler.tree);
78
80
  const msgName = name_helpers_1.NameHelpers.names(schema);
79
81
  return msgName.type;
80
82
  });
@@ -88,12 +90,12 @@ class Element {
88
90
  static makeOutputType(compiler, schema) {
89
91
  const raw = schema.output?.raw ? dump_helpers_1.DumpHelpers.dumpType(schema.output.raw) : undefined;
90
92
  const msgs = schema.output?.msg?.map(msg => {
91
- const schema = compiler.tree.getSchema(msg);
93
+ const schema = dependency_1.Tag.resolve(msg, compiler.tree);
92
94
  const msgName = name_helpers_1.NameHelpers.names(schema);
93
95
  return msgName.type;
94
96
  });
95
97
  const objs = schema.output?.obj?.map(bucket => {
96
- const schema = compiler.tree.getSchema(bucket.dep);
98
+ const schema = dependency_1.Tag.resolve(bucket.tag, compiler.tree);
97
99
  const bucketName = name_helpers_1.NameHelpers.names(schema);
98
100
  return bucketName.high + (bucket.many ? '[]' : '');
99
101
  });
@@ -42,8 +42,8 @@ class ExternalsElement extends element_1.Element {
42
42
  // Add imports for external elements
43
43
  this.compiler.modules[this.module].elements.forEach(el => {
44
44
  el.dependencies.forEach(dep => {
45
- if (dep.module !== this.module) {
46
- externalModules.add(dep.module);
45
+ if (dep.tag.module !== this.tag.module) {
46
+ externalModules.add(dep.tag.module);
47
47
  }
48
48
  });
49
49
  });
@@ -3,5 +3,5 @@ import { $Job } from "../../elements/blocks/job/job.schema";
3
3
  export declare class JobElement extends Element<$Job> {
4
4
  protected prepare(): void;
5
5
  protected customImports(nesoiPath: string): string;
6
- protected buildType(): import("./element").TypeAsObj;
6
+ protected buildType(): import("../../engine/util/type").TypeAsObj;
7
7
  }
@@ -51,7 +51,7 @@ class JobElement extends element_1.Element {
51
51
  });
52
52
  Object.assign(type, {
53
53
  'input': 'any',
54
- '#authn': element_1.Element.makeAuthnType(this.schema.authn),
54
+ '#authn': element_1.Element.makeAuthnType(this.schema.auth),
55
55
  '#input': input,
56
56
  '#output': output,
57
57
  '#extra': 'any // TODO: Typescript API'