nesoi 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 (348) hide show
  1. package/lib/adapters/postgres/src/migrator/database.d.ts +37 -0
  2. package/lib/adapters/postgres/src/migrator/database.js +88 -0
  3. package/lib/adapters/postgres/src/migrator/index.d.ts +1 -0
  4. package/lib/adapters/postgres/src/migrator/index.js +5 -0
  5. package/lib/adapters/postgres/src/migrator/migration.d.ts +73 -0
  6. package/lib/adapters/postgres/src/migrator/migration.js +351 -0
  7. package/lib/adapters/postgres/src/migrator/migrator.d.ts +21 -0
  8. package/lib/adapters/postgres/src/migrator/migrator.js +73 -0
  9. package/lib/adapters/postgres/src/migrator/runner.d.ts +61 -0
  10. package/lib/adapters/postgres/src/migrator/runner.js +202 -0
  11. package/lib/adapters/postgres/src/postgres.bucket_adapter.d.ts +45 -0
  12. package/lib/adapters/postgres/src/postgres.bucket_adapter.js +278 -0
  13. package/lib/adapters/postgres/src/postgres.cli.d.ts +46 -0
  14. package/lib/adapters/postgres/src/postgres.cli.js +124 -0
  15. package/lib/adapters/postgres/src/postgres.nql.d.ts +12 -0
  16. package/lib/adapters/postgres/src/postgres.nql.js +69 -0
  17. package/lib/adapters/postgres/test/postgres.bucket_adapter.test.d.ts +1 -0
  18. package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +173 -0
  19. package/lib/adapters/postgres/test/postgres.bucket_query.test.d.ts +0 -0
  20. package/lib/adapters/postgres/test/postgres.bucket_query.test.js +136 -0
  21. package/lib/compiler/apps/monolyth/monolyth_compiler.d.ts +21 -0
  22. package/lib/compiler/apps/monolyth/monolyth_compiler.js +95 -0
  23. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +12 -0
  24. package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.js +80 -0
  25. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +12 -0
  26. package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.js +128 -0
  27. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +12 -0
  28. package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.js +75 -0
  29. package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.d.ts +13 -0
  30. package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.js +130 -0
  31. package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.d.ts +12 -0
  32. package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.js +65 -0
  33. package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.d.ts +12 -0
  34. package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.js +74 -0
  35. package/lib/compiler/compiler.d.ts +19 -0
  36. package/lib/compiler/compiler.js +83 -0
  37. package/lib/compiler/elements/bucket.element.d.ts +23 -0
  38. package/lib/compiler/elements/bucket.element.js +304 -0
  39. package/lib/compiler/elements/constants.element.d.ts +9 -0
  40. package/lib/compiler/elements/constants.element.js +88 -0
  41. package/lib/compiler/elements/controller.element.d.ts +6 -0
  42. package/lib/compiler/elements/controller.element.js +22 -0
  43. package/lib/compiler/elements/element.d.ts +49 -0
  44. package/lib/compiler/elements/element.js +105 -0
  45. package/lib/compiler/elements/externals.element.d.ts +19 -0
  46. package/lib/compiler/elements/externals.element.js +83 -0
  47. package/lib/compiler/elements/job.element.d.ts +7 -0
  48. package/lib/compiler/elements/job.element.js +62 -0
  49. package/lib/compiler/elements/machine.element.d.ts +10 -0
  50. package/lib/compiler/elements/machine.element.js +98 -0
  51. package/lib/compiler/elements/message.element.d.ts +9 -0
  52. package/lib/compiler/elements/message.element.js +175 -0
  53. package/lib/compiler/elements/queue.element.d.ts +6 -0
  54. package/lib/compiler/elements/queue.element.js +24 -0
  55. package/lib/compiler/elements/resource.element.d.ts +7 -0
  56. package/lib/compiler/elements/resource.element.js +64 -0
  57. package/lib/compiler/error.d.ts +21 -0
  58. package/lib/compiler/error.js +57 -0
  59. package/lib/compiler/helpers/dump_helpers.d.ts +11 -0
  60. package/lib/compiler/helpers/dump_helpers.js +157 -0
  61. package/lib/compiler/helpers/name_helpers.d.ts +20 -0
  62. package/lib/compiler/helpers/name_helpers.js +44 -0
  63. package/lib/compiler/index.d.ts +2 -0
  64. package/lib/compiler/index.js +7 -0
  65. package/lib/compiler/module.d.ts +24 -0
  66. package/lib/compiler/module.js +122 -0
  67. package/lib/compiler/stages/1_scan_stage.d.ts +10 -0
  68. package/lib/compiler/stages/1_scan_stage.js +23 -0
  69. package/lib/compiler/stages/2_treeshake_stage.d.ts +11 -0
  70. package/lib/compiler/stages/2_treeshake_stage.js +24 -0
  71. package/lib/compiler/stages/3_extract_ts_stage.d.ts +10 -0
  72. package/lib/compiler/stages/3_extract_ts_stage.js +71 -0
  73. package/lib/compiler/stages/4_build_schemas_stage.d.ts +10 -0
  74. package/lib/compiler/stages/4_build_schemas_stage.js +25 -0
  75. package/lib/compiler/stages/5_inject_ts_stage.d.ts +10 -0
  76. package/lib/compiler/stages/5_inject_ts_stage.js +22 -0
  77. package/lib/compiler/stages/6_build_elements_stage.d.ts +11 -0
  78. package/lib/compiler/stages/6_build_elements_stage.js +22 -0
  79. package/lib/compiler/stages/7_dump_stage.d.ts +14 -0
  80. package/lib/compiler/stages/7_dump_stage.js +208 -0
  81. package/lib/compiler/stages/8_diagnose_stage.d.ts +16 -0
  82. package/lib/compiler/stages/8_diagnose_stage.js +43 -0
  83. package/lib/compiler/treeshake.d.ts +58 -0
  84. package/lib/compiler/treeshake.js +424 -0
  85. package/lib/compiler/typescript/bridge/extract.d.ts +11 -0
  86. package/lib/compiler/typescript/bridge/extract.js +270 -0
  87. package/lib/compiler/typescript/bridge/inject.d.ts +10 -0
  88. package/lib/compiler/typescript/bridge/inject.js +140 -0
  89. package/lib/compiler/typescript/bridge/organize.d.ts +61 -0
  90. package/lib/compiler/typescript/bridge/organize.js +258 -0
  91. package/lib/compiler/typescript/error.d.ts +88 -0
  92. package/lib/compiler/typescript/error.js +265 -0
  93. package/lib/compiler/typescript/parser.d.ts +48 -0
  94. package/lib/compiler/typescript/parser.js +581 -0
  95. package/lib/compiler/typescript/source.d.ts +12 -0
  96. package/lib/compiler/typescript/source.js +87 -0
  97. package/lib/compiler/typescript/transformers/app_inject.transformer.d.ts +2 -0
  98. package/lib/compiler/typescript/transformers/app_inject.transformer.js +89 -0
  99. package/lib/compiler/typescript/transformers/replace_import.transformer.d.ts +4 -0
  100. package/lib/compiler/typescript/transformers/replace_import.transformer.js +102 -0
  101. package/lib/compiler/typescript/typescript_compiler.d.ts +63 -0
  102. package/lib/compiler/typescript/typescript_compiler.js +602 -0
  103. package/lib/elements/blocks/block.builder.d.ts +29 -0
  104. package/lib/elements/blocks/block.builder.js +87 -0
  105. package/lib/elements/blocks/block.d.ts +15 -0
  106. package/lib/elements/blocks/block.js +37 -0
  107. package/lib/elements/blocks/block.schema.d.ts +23 -0
  108. package/lib/elements/blocks/block.schema.js +15 -0
  109. package/lib/elements/blocks/externals/externals.builder.d.ts +30 -0
  110. package/lib/elements/blocks/externals/externals.builder.js +37 -0
  111. package/lib/elements/blocks/externals/externals.schema.d.ts +11 -0
  112. package/lib/elements/blocks/externals/externals.schema.js +19 -0
  113. package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +52 -0
  114. package/lib/elements/blocks/job/internal/machine_job.builder.js +74 -0
  115. package/lib/elements/blocks/job/internal/machine_job.schema.d.ts +5 -0
  116. package/lib/elements/blocks/job/internal/machine_job.schema.js +10 -0
  117. package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +109 -0
  118. package/lib/elements/blocks/job/internal/resource_job.builder.js +146 -0
  119. package/lib/elements/blocks/job/internal/resource_job.d.ts +14 -0
  120. package/lib/elements/blocks/job/internal/resource_job.js +30 -0
  121. package/lib/elements/blocks/job/internal/resource_job.schema.d.ts +11 -0
  122. package/lib/elements/blocks/job/internal/resource_job.schema.js +15 -0
  123. package/lib/elements/blocks/job/job.builder.d.ts +118 -0
  124. package/lib/elements/blocks/job/job.builder.js +137 -0
  125. package/lib/elements/blocks/job/job.d.ts +13 -0
  126. package/lib/elements/blocks/job/job.js +40 -0
  127. package/lib/elements/blocks/job/job.schema.d.ts +26 -0
  128. package/lib/elements/blocks/job/job.schema.js +20 -0
  129. package/lib/elements/blocks/machine/machine.builder.d.ts +58 -0
  130. package/lib/elements/blocks/machine/machine.builder.js +135 -0
  131. package/lib/elements/blocks/machine/machine.d.ts +86 -0
  132. package/lib/elements/blocks/machine/machine.js +228 -0
  133. package/lib/elements/blocks/machine/machine.schema.d.ts +85 -0
  134. package/lib/elements/blocks/machine/machine.schema.js +64 -0
  135. package/lib/elements/blocks/machine/machine_state.builder.d.ts +58 -0
  136. package/lib/elements/blocks/machine/machine_state.builder.js +186 -0
  137. package/lib/elements/blocks/machine/machine_transition.builder.d.ts +48 -0
  138. package/lib/elements/blocks/machine/machine_transition.builder.js +98 -0
  139. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.d.ts +10 -0
  140. package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +17 -0
  141. package/lib/elements/blocks/queue/adapters/queue_adapter.d.ts +6 -0
  142. package/lib/elements/blocks/queue/adapters/queue_adapter.js +6 -0
  143. package/lib/elements/blocks/queue/queue.builder.d.ts +40 -0
  144. package/lib/elements/blocks/queue/queue.builder.js +31 -0
  145. package/lib/elements/blocks/queue/queue.d.ts +9 -0
  146. package/lib/elements/blocks/queue/queue.js +11 -0
  147. package/lib/elements/blocks/queue/queue.schema.d.ts +12 -0
  148. package/lib/elements/blocks/queue/queue.schema.js +17 -0
  149. package/lib/elements/blocks/resource/resource.builder.d.ts +60 -0
  150. package/lib/elements/blocks/resource/resource.builder.js +224 -0
  151. package/lib/elements/blocks/resource/resource.d.ts +48 -0
  152. package/lib/elements/blocks/resource/resource.js +125 -0
  153. package/lib/elements/blocks/resource/resource.schema.d.ts +32 -0
  154. package/lib/elements/blocks/resource/resource.schema.js +30 -0
  155. package/lib/elements/blocks/resource/resource.types.d.ts +38 -0
  156. package/lib/elements/blocks/resource/resource.types.js +3 -0
  157. package/lib/elements/edge/controller/adapters/cli.controller_adapter.d.ts +8 -0
  158. package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +17 -0
  159. package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +14 -0
  160. package/lib/elements/edge/controller/adapters/controller_adapter.js +44 -0
  161. package/lib/elements/edge/controller/controller.builder.d.ts +78 -0
  162. package/lib/elements/edge/controller/controller.builder.js +178 -0
  163. package/lib/elements/edge/controller/controller.config.d.ts +6 -0
  164. package/lib/elements/edge/controller/controller.config.js +2 -0
  165. package/lib/elements/edge/controller/controller.d.ts +22 -0
  166. package/lib/elements/edge/controller/controller.js +41 -0
  167. package/lib/elements/edge/controller/controller.schema.d.ts +44 -0
  168. package/lib/elements/edge/controller/controller.schema.js +51 -0
  169. package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +107 -0
  170. package/lib/elements/entities/bucket/adapters/bucket_adapter.js +41 -0
  171. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +37 -0
  172. package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +149 -0
  173. package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.d.ts +0 -0
  174. package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.js +218 -0
  175. package/lib/elements/entities/bucket/adapters/memory.nql.d.ts +19 -0
  176. package/lib/elements/entities/bucket/adapters/memory.nql.js +212 -0
  177. package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.d.ts +20 -0
  178. package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.js +31 -0
  179. package/lib/elements/entities/bucket/bucket.builder.d.ts +61 -0
  180. package/lib/elements/entities/bucket/bucket.builder.js +130 -0
  181. package/lib/elements/entities/bucket/bucket.config.d.ts +29 -0
  182. package/lib/elements/entities/bucket/bucket.config.js +2 -0
  183. package/lib/elements/entities/bucket/bucket.d.ts +36 -0
  184. package/lib/elements/entities/bucket/bucket.infer.d.ts +22 -0
  185. package/lib/elements/entities/bucket/bucket.infer.js +85 -0
  186. package/lib/elements/entities/bucket/bucket.js +125 -0
  187. package/lib/elements/entities/bucket/bucket.schema.d.ts +24 -0
  188. package/lib/elements/entities/bucket/bucket.schema.js +16 -0
  189. package/lib/elements/entities/bucket/bucket.types.d.ts +32 -0
  190. package/lib/elements/entities/bucket/bucket.types.js +2 -0
  191. package/lib/elements/entities/bucket/cache/bucket_cache.d.ts +35 -0
  192. package/lib/elements/entities/bucket/cache/bucket_cache.js +182 -0
  193. package/lib/elements/entities/bucket/graph/bucket_graph.builder.d.ts +11 -0
  194. package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +27 -0
  195. package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +16 -0
  196. package/lib/elements/entities/bucket/graph/bucket_graph.infer.d.ts +9 -0
  197. package/lib/elements/entities/bucket/graph/bucket_graph.infer.js +2 -0
  198. package/lib/elements/entities/bucket/graph/bucket_graph.js +136 -0
  199. package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +28 -0
  200. package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +27 -0
  201. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +36 -0
  202. package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +56 -0
  203. package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +13 -0
  204. package/lib/elements/entities/bucket/model/bucket_model.builder.js +24 -0
  205. package/lib/elements/entities/bucket/model/bucket_model.convert.d.ts +5 -0
  206. package/lib/elements/entities/bucket/model/bucket_model.convert.js +51 -0
  207. package/lib/elements/entities/bucket/model/bucket_model.infer.d.ts +13 -0
  208. package/lib/elements/entities/bucket/model/bucket_model.infer.js +2 -0
  209. package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +35 -0
  210. package/lib/elements/entities/bucket/model/bucket_model.schema.js +47 -0
  211. package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +119 -0
  212. package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +154 -0
  213. package/lib/elements/entities/bucket/query/nql.schema.d.ts +140 -0
  214. package/lib/elements/entities/bucket/query/nql.schema.js +2 -0
  215. package/lib/elements/entities/bucket/query/nql_compiler.d.ts +44 -0
  216. package/lib/elements/entities/bucket/query/nql_compiler.js +620 -0
  217. package/lib/elements/entities/bucket/query/nql_engine.d.ts +16 -0
  218. package/lib/elements/entities/bucket/query/nql_engine.js +42 -0
  219. package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +14 -0
  220. package/lib/elements/entities/bucket/view/bucket_view.builder.js +24 -0
  221. package/lib/elements/entities/bucket/view/bucket_view.d.ts +10 -0
  222. package/lib/elements/entities/bucket/view/bucket_view.js +102 -0
  223. package/lib/elements/entities/bucket/view/bucket_view.schema.d.ts +55 -0
  224. package/lib/elements/entities/bucket/view/bucket_view.schema.js +42 -0
  225. package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +37 -0
  226. package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +138 -0
  227. package/lib/elements/entities/constants/constants.builder.d.ts +57 -0
  228. package/lib/elements/entities/constants/constants.builder.js +116 -0
  229. package/lib/elements/entities/constants/constants.d.ts +7 -0
  230. package/lib/elements/entities/constants/constants.js +15 -0
  231. package/lib/elements/entities/constants/constants.schema.d.ts +51 -0
  232. package/lib/elements/entities/constants/constants.schema.js +45 -0
  233. package/lib/elements/entities/message/message.builder.d.ts +33 -0
  234. package/lib/elements/entities/message/message.builder.js +41 -0
  235. package/lib/elements/entities/message/message.d.ts +11 -0
  236. package/lib/elements/entities/message/message.infer.d.ts +63 -0
  237. package/lib/elements/entities/message/message.infer.js +2 -0
  238. package/lib/elements/entities/message/message.js +52 -0
  239. package/lib/elements/entities/message/message.schema.d.ts +15 -0
  240. package/lib/elements/entities/message/message.schema.js +13 -0
  241. package/lib/elements/entities/message/message_parser.d.ts +12 -0
  242. package/lib/elements/entities/message/message_parser.js +112 -0
  243. package/lib/elements/entities/message/template/message_template.builder.d.ts +14 -0
  244. package/lib/elements/entities/message/template/message_template.builder.js +20 -0
  245. package/lib/elements/entities/message/template/message_template.schema.d.ts +57 -0
  246. package/lib/elements/entities/message/template/message_template.schema.js +28 -0
  247. package/lib/elements/entities/message/template/message_template_field.builder.d.ts +225 -0
  248. package/lib/elements/entities/message/template/message_template_field.builder.js +172 -0
  249. package/lib/elements/entities/message/template/message_template_parser.d.ts +3 -0
  250. package/lib/elements/entities/message/template/message_template_parser.js +83 -0
  251. package/lib/elements/index.d.ts +11 -0
  252. package/lib/elements/index.js +23 -0
  253. package/lib/engine/apps/app.config.d.ts +49 -0
  254. package/lib/engine/apps/app.config.js +38 -0
  255. package/lib/engine/apps/app.d.ts +70 -0
  256. package/lib/engine/apps/app.js +101 -0
  257. package/lib/engine/apps/inline.app.d.ts +48 -0
  258. package/lib/engine/apps/inline.app.js +144 -0
  259. package/lib/engine/apps/monolyth/monolyth.app.d.ts +20 -0
  260. package/lib/engine/apps/monolyth/monolyth.app.js +94 -0
  261. package/lib/engine/apps/monolyth/monolyth.cli.d.ts +45 -0
  262. package/lib/engine/apps/monolyth/monolyth.cli.js +362 -0
  263. package/lib/engine/auth/authn.d.ts +18 -0
  264. package/lib/engine/auth/authn.js +9 -0
  265. package/lib/engine/auth/zero.authn_provider.d.ts +13 -0
  266. package/lib/engine/auth/zero.authn_provider.js +13 -0
  267. package/lib/engine/cli/cli.d.ts +19 -0
  268. package/lib/engine/cli/cli.js +88 -0
  269. package/lib/engine/cli/cli_adapter.d.ts +18 -0
  270. package/lib/engine/cli/cli_adapter.js +61 -0
  271. package/lib/engine/cli/ui.d.ts +36 -0
  272. package/lib/engine/cli/ui.js +188 -0
  273. package/lib/engine/daemon.d.ts +35 -0
  274. package/lib/engine/daemon.js +66 -0
  275. package/lib/engine/data/date.d.ts +10 -0
  276. package/lib/engine/data/date.js +32 -0
  277. package/lib/engine/data/datetime.d.ts +12 -0
  278. package/lib/engine/data/datetime.js +31 -0
  279. package/lib/engine/data/decimal.d.ts +11 -0
  280. package/lib/engine/data/decimal.js +70 -0
  281. package/lib/engine/data/error.d.ts +213 -0
  282. package/lib/engine/data/error.js +386 -0
  283. package/lib/engine/data/obj.d.ts +16 -0
  284. package/lib/engine/data/obj.js +5 -0
  285. package/lib/engine/data/tree.d.ts +17 -0
  286. package/lib/engine/data/tree.js +111 -0
  287. package/lib/engine/dependency.d.ts +68 -0
  288. package/lib/engine/dependency.js +91 -0
  289. package/lib/engine/module.d.ts +97 -0
  290. package/lib/engine/module.js +335 -0
  291. package/lib/engine/space.d.ts +54 -0
  292. package/lib/engine/space.js +138 -0
  293. package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +53 -0
  294. package/lib/engine/transaction/nodes/bucket.trx_node.js +522 -0
  295. package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +17 -0
  296. package/lib/engine/transaction/nodes/bucket_query.trx_node.js +82 -0
  297. package/lib/engine/transaction/nodes/job.trx_node.d.ts +13 -0
  298. package/lib/engine/transaction/nodes/job.trx_node.js +40 -0
  299. package/lib/engine/transaction/nodes/machine.trx_node.d.ts +12 -0
  300. package/lib/engine/transaction/nodes/machine.trx_node.js +39 -0
  301. package/lib/engine/transaction/nodes/queue.trx_node.d.ts +10 -0
  302. package/lib/engine/transaction/nodes/queue.trx_node.js +24 -0
  303. package/lib/engine/transaction/nodes/resource.trx_node.d.ts +24 -0
  304. package/lib/engine/transaction/nodes/resource.trx_node.js +77 -0
  305. package/lib/engine/transaction/trx.d.ts +50 -0
  306. package/lib/engine/transaction/trx.js +94 -0
  307. package/lib/engine/transaction/trx_engine.config.d.ts +15 -0
  308. package/lib/engine/transaction/trx_engine.config.js +2 -0
  309. package/lib/engine/transaction/trx_engine.d.ts +27 -0
  310. package/lib/engine/transaction/trx_engine.js +95 -0
  311. package/lib/engine/transaction/trx_node.d.ts +61 -0
  312. package/lib/engine/transaction/trx_node.js +175 -0
  313. package/lib/engine/tree.d.ts +34 -0
  314. package/lib/engine/tree.js +237 -0
  315. package/lib/engine/util/cache.d.ts +6 -0
  316. package/lib/engine/util/cache.js +20 -0
  317. package/lib/engine/util/console.d.ts +4 -0
  318. package/lib/engine/util/console.js +24 -0
  319. package/lib/engine/util/deep.d.ts +7 -0
  320. package/lib/engine/util/deep.js +2 -0
  321. package/lib/engine/util/dotenv.d.ts +15 -0
  322. package/lib/engine/util/dotenv.js +94 -0
  323. package/lib/engine/util/i18n.d.ts +5 -0
  324. package/lib/engine/util/i18n.js +19 -0
  325. package/lib/engine/util/log.d.ts +17 -0
  326. package/lib/engine/util/log.js +93 -0
  327. package/lib/engine/util/parse.d.ts +63 -0
  328. package/lib/engine/util/parse.js +229 -0
  329. package/lib/engine/util/promise.d.ts +3 -0
  330. package/lib/engine/util/promise.js +14 -0
  331. package/lib/engine/util/shell.d.ts +6 -0
  332. package/lib/engine/util/shell.js +44 -0
  333. package/lib/engine/util/string.d.ts +18 -0
  334. package/lib/engine/util/string.js +25 -0
  335. package/lib/engine/util/type.d.ts +7 -0
  336. package/lib/engine/util/type.js +3 -0
  337. package/lib/schema.d.ts +63 -0
  338. package/lib/schema.js +2 -0
  339. package/package.json +22 -0
  340. package/tools/compile.d.ts +1 -0
  341. package/tools/compile.js +68 -0
  342. package/tools/joaquin/job.d.ts +40 -0
  343. package/tools/joaquin/job.js +47 -0
  344. package/tools/joaquin/message.d.ts +12 -0
  345. package/tools/joaquin/message.js +47 -0
  346. package/tools/joaquin/mock.d.ts +28 -0
  347. package/tools/joaquin/mock.js +128 -0
  348. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1,424 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Treeshake = void 0;
37
+ const dependency_1 = require("../engine/dependency");
38
+ const bucket_graph_builder_1 = require("../elements/entities/bucket/graph/bucket_graph.builder");
39
+ const externals_builder_1 = require("../elements/blocks/externals/externals.builder");
40
+ const log_1 = require("../engine/util/log");
41
+ const string_1 = require("../engine/util/string");
42
+ const error_1 = require("../engine/data/error");
43
+ const constants_builder_1 = require("../elements/entities/constants/constants.builder");
44
+ class Treeshake {
45
+ /* Externals */
46
+ static externals(node, depth = 1) {
47
+ const b = node.builder;
48
+ const $b = b.$b;
49
+ const buckets = b.buckets;
50
+ const jobs = b.jobs;
51
+ log_1.Log.trace('compiler', 'treeshake', `${' '.repeat(depth)} └ Treeshaking node ${(0, log_1.scopeTag)($b, node.name)}`);
52
+ node.dependencies = [
53
+ ...Object.values(buckets),
54
+ ...Object.values(jobs)
55
+ ];
56
+ node.dependencies = this.cleanNodeDependencies(node);
57
+ }
58
+ /* Bucket */
59
+ static bucket(node, depth = 1) {
60
+ const b = node.builder;
61
+ const $b = b.$b;
62
+ const _extend = b._extend;
63
+ const graphLinks = b._graph;
64
+ const name = b.name;
65
+ const _model = b._model;
66
+ log_1.Log.trace('compiler', 'treeshake', `${' '.repeat(depth)} └ Treeshaking node ${(0, log_1.scopeTag)($b, node.name)}`);
67
+ node.dependencies = [];
68
+ if (_extend) {
69
+ node.dependencies.push(_extend);
70
+ }
71
+ if (_model) {
72
+ node.dependencies.push(...Treeshake.bucketModelFields(node, _model.fields));
73
+ }
74
+ const graph = new bucket_graph_builder_1.BucketGraphBuilder().links(graphLinks);
75
+ node.dependencies.push(...Treeshake.bucketGraph(node, graph));
76
+ node.dependencies = this.cleanNodeDependencies(node);
77
+ }
78
+ static bucketModelFields(node, fields) {
79
+ const dependencies = [];
80
+ Object.values(fields).forEach(field => {
81
+ if (field._enum?.dep) {
82
+ dependencies.push(field._enum.dep);
83
+ }
84
+ if (field.children?.length) {
85
+ dependencies.push(...Treeshake.bucketModelFields(node, field.children));
86
+ }
87
+ });
88
+ return dependencies;
89
+ }
90
+ static bucketGraph(node, builder) {
91
+ const b = builder;
92
+ const _links = b._links;
93
+ return Object.values(_links).map((link) => {
94
+ const dep = Treeshake.bucketGraphLink(link);
95
+ if (dep.module === node.module && dep.name === node.name) {
96
+ return undefined;
97
+ }
98
+ return dep;
99
+ }).filter(d => !!d);
100
+ }
101
+ static bucketGraphLink(builder) {
102
+ const b = builder;
103
+ const bucket = b.bucket;
104
+ return bucket;
105
+ }
106
+ /* Message */
107
+ static message(node, depth = 1) {
108
+ const b = node.builder;
109
+ const $b = b.$b;
110
+ const _fields = b._template._fields;
111
+ log_1.Log.trace('compiler', 'treeshake', `${' '.repeat(depth)} └ Treeshaking node ${(0, log_1.scopeTag)($b, node.name)}`);
112
+ node.dependencies = Treeshake.messageFieldTree(node, _fields);
113
+ node.dependencies = this.cleanNodeDependencies(node);
114
+ }
115
+ static messageFieldTree(node, tree) {
116
+ const dependencies = [];
117
+ Object.values(tree).forEach(child => {
118
+ const c = child;
119
+ if (c.__ext) {
120
+ dependencies.push(c.__ext);
121
+ }
122
+ if (c.type === 'enum') {
123
+ if (typeof c.value.enum.options === 'string') {
124
+ dependencies.push(c.value.enum.dep);
125
+ }
126
+ }
127
+ else if (c.type === 'id') {
128
+ const ref = c.value.id.bucket;
129
+ dependencies.push(ref);
130
+ }
131
+ else if (c.type === 'msg') {
132
+ dependencies.push(c.value.msg);
133
+ }
134
+ else if (c.children) {
135
+ dependencies.push(...Treeshake.messageFieldTree(node, c.children));
136
+ }
137
+ });
138
+ return dependencies;
139
+ }
140
+ /* Block */
141
+ static blockIO(node) {
142
+ const b = node.builder;
143
+ const _inputMsgs = b._inputMsgs;
144
+ const _inlineNodes = b._inlineNodes;
145
+ const nonInlineIO = [
146
+ ..._inputMsgs.filter(dep => !_inlineNodes.some(node => node.module === dep.module
147
+ && node.type === dep.type
148
+ && node.name === dep.name))
149
+ ];
150
+ return nonInlineIO;
151
+ }
152
+ static blockInlineNodes(node, depth = 1) {
153
+ const b = node.builder;
154
+ const _inlineNodes = b._inlineNodes;
155
+ const dependencies = [];
156
+ const nestedInlines = [];
157
+ // Finds the dependencies of each inline node
158
+ for (const inlineNode of _inlineNodes) {
159
+ // Inherit information from parent node
160
+ inlineNode.filepath = node.filepath;
161
+ inlineNode.tag = `${inlineNode.module}::${inlineNode.type}:${inlineNode.name}`;
162
+ if (inlineNode.type === 'message') {
163
+ Treeshake.message(inlineNode, depth + 1);
164
+ dependencies.push(...inlineNode.dependencies);
165
+ }
166
+ else if (inlineNode.type === 'job') {
167
+ const deps = Treeshake.job(inlineNode, depth + 1);
168
+ dependencies.push(...inlineNode.dependencies);
169
+ nestedInlines.push(...deps.inlines);
170
+ }
171
+ }
172
+ // Inlines have a dependency on their parent node
173
+ const inlines = [..._inlineNodes, ...nestedInlines];
174
+ inlines.forEach(inline => {
175
+ inline.dependencies.push(new dependency_1.$Dependency(node.module, node.type, node.name));
176
+ });
177
+ return {
178
+ dependencies,
179
+ inlines
180
+ };
181
+ }
182
+ /* Job */
183
+ static job(node, depth = 0) {
184
+ const builder = node.builder;
185
+ log_1.Log.trace('compiler', 'treeshake', `${' '.repeat(depth)} └ Treeshaking node ${(0, log_1.scopeTag)(builder.$b, node.name)}`);
186
+ const inlineTreeshake = Treeshake.blockInlineNodes(node, depth);
187
+ node.dependencies = [
188
+ ...Treeshake.blockIO(node),
189
+ ...inlineTreeshake.dependencies
190
+ ];
191
+ node.dependencies = this.cleanNodeDependencies(node);
192
+ return { inlines: inlineTreeshake.inlines };
193
+ }
194
+ /* Resource */
195
+ static resource(node, depth = 1) {
196
+ const b = node.builder;
197
+ const $b = b.$b;
198
+ const _bucket = b._bucket;
199
+ log_1.Log.trace('compiler', 'treeshake', `${' '.repeat(depth)} └ Treeshaking node ${(0, log_1.scopeTag)($b, node.name)}`);
200
+ const inlineTreeshake = Treeshake.blockInlineNodes(node, depth);
201
+ node.dependencies = [
202
+ _bucket,
203
+ ...inlineTreeshake.dependencies
204
+ ];
205
+ node.dependencies = this.cleanNodeDependencies(node);
206
+ return { inlines: inlineTreeshake.inlines };
207
+ }
208
+ /* Machine */
209
+ static machine(node, depth = 1) {
210
+ const b = node.builder;
211
+ const $b = b.$b;
212
+ const _buckets = b._buckets;
213
+ log_1.Log.trace('compiler', 'treeshake', `${' '.repeat(depth)} └ Treeshaking node ${(0, log_1.scopeTag)($b, node.name)}`);
214
+ const buckets = _buckets;
215
+ node.dependencies = [...buckets];
216
+ const inlineTreeshake = Treeshake.blockInlineNodes(node, depth);
217
+ node.dependencies.push(...inlineTreeshake.dependencies);
218
+ node.dependencies = this.cleanNodeDependencies(node);
219
+ return { inlines: inlineTreeshake.inlines };
220
+ }
221
+ /* Controller */
222
+ static controller(node) {
223
+ const b = node.builder;
224
+ node.dependencies = [];
225
+ }
226
+ static queue(node) {
227
+ const b = node.builder;
228
+ node.dependencies = [];
229
+ }
230
+ /* Module */
231
+ /**
232
+ * Scans the module directory, imports the builders and lists
233
+ * all nodes found.
234
+ *
235
+ * @returns A list of all `BuilderNodes` found on the module folder
236
+ */
237
+ static async module(module, config) {
238
+ log_1.Log.debug('compiler', 'treeshake', `Treeshaking ${(0, log_1.scopeTag)('module', module.name)}`);
239
+ const nodes = [];
240
+ const merge = (node) => {
241
+ // Merge constants in a single builder
242
+ if (node.type === 'constants') {
243
+ node.filepath = [node.filepath];
244
+ const constants = nodes.find(node => node.type === 'constants');
245
+ if (constants) {
246
+ constants_builder_1.ConstantsBuilder.merge(constants.builder, node.builder);
247
+ constants.filepath = [...constants.filepath, ...node.filepath];
248
+ return;
249
+ }
250
+ }
251
+ // Merge externals in a single builder
252
+ if (node.type === 'externals') {
253
+ node.filepath = [node.filepath];
254
+ const externals = nodes.find(node => node.type === 'externals');
255
+ if (externals) {
256
+ externals_builder_1.ExternalsBuilder.merge(externals.builder, node.builder);
257
+ externals.filepath = [...externals.filepath, ...node.filepath];
258
+ return;
259
+ }
260
+ }
261
+ nodes.push(node);
262
+ };
263
+ if (module.boot && 'path' in module.boot) {
264
+ const files = module.scanFiles(module.boot.path, config?.exclude);
265
+ for (const file of files) {
266
+ const fileNodes = await Treeshake.file(module.name, file);
267
+ fileNodes.forEach(merge);
268
+ }
269
+ }
270
+ else if (module.boot?.builders) {
271
+ const builders = module.boot.builders;
272
+ for (const builder of builders) {
273
+ const builderNodes = await Treeshake.builder(module.name, builder);
274
+ builderNodes.forEach(merge);
275
+ }
276
+ }
277
+ log_1.Log.trace('compiler', 'treeshake', `Node list of module ${(0, log_1.scopeTag)('module', module.name)}:`);
278
+ this.logNodeList(nodes);
279
+ log_1.Log.trace('compiler', 'treeshake', `Node tree of module ${(0, log_1.scopeTag)('module', module.name)}:`);
280
+ this.logNodeTree(nodes.filter(node => !node.isInline));
281
+ return nodes;
282
+ }
283
+ /**
284
+ * Shakes a file to find all the builders declared on that file, and returns
285
+ * them as BuilderNodes:
286
+ * - Root-level (exported) builders
287
+ * - Inline builders
288
+ * - Nested inline builders
289
+ */
290
+ static async file(module, filepath) {
291
+ log_1.Log.debug('compiler', 'treeshake', ` └ Treeshaking file ${(0, string_1.colored)(filepath, 'blue')}`);
292
+ const fileBuilders = await Promise.resolve(`${filepath}`).then(s => __importStar(require(s)));
293
+ const nodes = [];
294
+ for (const key in fileBuilders) {
295
+ const builder = fileBuilders[key];
296
+ if (!builder.$b) {
297
+ log_1.Log.warn('compiler', 'treeshake', `No builder found on file ${filepath}, move it to a library folder or it won't work on the built version.`);
298
+ continue;
299
+ }
300
+ nodes.push(...Treeshake.builder(module, builder, filepath));
301
+ }
302
+ log_1.Log.debug('compiler', 'treeshake', ` - Nodes: ${(0, string_1.colored)(nodes.map(node => node.tag).join(', '), 'purple')}`);
303
+ return nodes;
304
+ }
305
+ /**
306
+ * Shakes a file to find all the builders declared on that file, and returns
307
+ * them as BuilderNodes:
308
+ * - Root-level (exported) builders
309
+ * - Inline builders
310
+ * - Nested inline builders
311
+ */
312
+ static builder(module, builder, filepath = '*') {
313
+ log_1.Log.debug('compiler', 'treeshake', ` └ Treeshaking builder ${(0, string_1.colored)(builder.$b, 'blue')}`);
314
+ const name = builder.name;
315
+ const node = {
316
+ module,
317
+ type: builder.$b,
318
+ name,
319
+ tag: `${module}::${builder.$b}:${name}`,
320
+ builder,
321
+ filepath: filepath,
322
+ dependencies: []
323
+ };
324
+ const nodes = [];
325
+ if (builder.$b === 'constants') {
326
+ //
327
+ }
328
+ else if (builder.$b === 'externals') {
329
+ Treeshake.externals(node);
330
+ }
331
+ else if (builder.$b === 'bucket') {
332
+ Treeshake.bucket(node);
333
+ }
334
+ else if (builder.$b === 'message') {
335
+ Treeshake.message(node);
336
+ }
337
+ else if (builder.$b === 'job') {
338
+ const { inlines } = Treeshake.job(node);
339
+ inlines.forEach(inline => {
340
+ nodes.push({
341
+ ...inline,
342
+ module,
343
+ filepath
344
+ });
345
+ });
346
+ }
347
+ else if (builder.$b === 'resource') {
348
+ const { inlines } = Treeshake.resource(node);
349
+ inlines.forEach(inline => {
350
+ nodes.push({
351
+ ...inline,
352
+ module,
353
+ filepath
354
+ });
355
+ });
356
+ }
357
+ else if (builder.$b === 'machine') {
358
+ // TODO
359
+ const { inlines } = Treeshake.machine(node);
360
+ inlines.forEach(inline => {
361
+ nodes.push({
362
+ ...inline,
363
+ module,
364
+ filepath
365
+ });
366
+ });
367
+ }
368
+ else if (builder.$b === 'controller') {
369
+ Treeshake.controller(node);
370
+ }
371
+ else if (builder.$b === 'queue') {
372
+ Treeshake.queue(node);
373
+ }
374
+ else {
375
+ throw error_1.NesoiError.Module.UnknownBuilderType({}, filepath, '', builder.$b);
376
+ }
377
+ nodes.push(node);
378
+ return nodes;
379
+ }
380
+ // Utility
381
+ static cleanNodeDependencies(node) {
382
+ let filtered = [];
383
+ // Remove duplicates
384
+ node.dependencies.forEach(dep => {
385
+ if (!filtered.find(f => dep.tag === f.tag)) {
386
+ filtered.push(dep);
387
+ }
388
+ });
389
+ // Removes self-dependency
390
+ filtered = filtered
391
+ .filter(dep => dep.tag !== node.tag);
392
+ return filtered;
393
+ }
394
+ static logNodeList(nodes) {
395
+ nodes
396
+ .map(node => ({
397
+ node,
398
+ tag: (0, log_1.scopeTag)(node.type, node.name)
399
+ }))
400
+ .sort((a, b) => a.tag.localeCompare(b.tag))
401
+ .forEach(({ node, tag }) => {
402
+ log_1.Log.trace('compiler', 'treeshake', ` └ ${tag} ` + (0, string_1.colored)(`@ ${node.filepath}`, 'purple'));
403
+ });
404
+ }
405
+ static logNodeTree(nodes, depth = 1) {
406
+ nodes
407
+ .map(node => ({
408
+ node,
409
+ tag: (0, log_1.scopeTag)(node.type, node.name)
410
+ }))
411
+ .sort((a, b) => a.tag.localeCompare(b.tag))
412
+ .forEach(({ node, tag }) => {
413
+ log_1.Log.trace('compiler', 'treeshake', `${' '.repeat(depth)} └ ${tag} ` + (0, string_1.colored)(`@ ${node.filepath}`, 'purple'));
414
+ if (node.dependencies.length) {
415
+ log_1.Log.trace('compiler', 'treeshake', (0, string_1.colored)(`${' '.repeat(depth)} (depends on: ${node.dependencies.map(dep => dep.tag).join(', ')})`, 'purple'));
416
+ }
417
+ if ('_inlineNodes' in node.builder) {
418
+ const inlineNodes = node.builder['_inlineNodes'];
419
+ this.logNodeTree(inlineNodes, depth + 1);
420
+ }
421
+ });
422
+ }
423
+ }
424
+ exports.Treeshake = Treeshake;
@@ -0,0 +1,11 @@
1
+ import { Compiler } from "../../compiler";
2
+ import { ResolvedBuilderNode } from "../../../engine/dependency";
3
+ import { tsFnQueryResult } from '../typescript_compiler';
4
+ export declare class TSBridgeExtract {
5
+ static imports(compiler: Compiler, node: ResolvedBuilderNode): string[] | undefined;
6
+ static types(compiler: Compiler, node: ResolvedBuilderNode): {
7
+ path: string;
8
+ type: string;
9
+ }[] | undefined;
10
+ static functions(compiler: Compiler, node: ResolvedBuilderNode): tsFnQueryResult[] | undefined;
11
+ }