jitar 0.1.0 → 0.1.2

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 (356) hide show
  1. package/dist/core/Implementation.js +7 -0
  2. package/dist/core/SegmentBuilder.js +0 -1
  3. package/dist/core/errors/UnknownParameter.d.ts +3 -0
  4. package/dist/core/errors/UnknownParameter.js +6 -0
  5. package/dist/runtime/ClientId.d.ts +4 -0
  6. package/dist/runtime/ClientId.js +11 -0
  7. package/dist/runtime/LocalRepository.d.ts +3 -3
  8. package/dist/runtime/LocalRepository.js +17 -9
  9. package/dist/runtime/caching/CacheBuilder.js +3 -3
  10. package/dist/runtime/serialization/ClassSerializer.js +16 -0
  11. package/dist/runtime/serialization/MapSerializer.d.ts +1 -0
  12. package/dist/runtime/serialization/MapSerializer.js +10 -0
  13. package/dist/runtime/serialization/SetSerializer.d.ts +1 -0
  14. package/dist/runtime/serialization/SetSerializer.js +7 -0
  15. package/dist/runtime/serialization/errors/InvalidPropertyType.d.ts +3 -0
  16. package/dist/runtime/serialization/errors/InvalidPropertyType.js +6 -0
  17. package/dist/server/configuration/RepositoryConfiguration.d.ts +1 -0
  18. package/dist/server/configuration/RepositoryConfiguration.js +7 -1
  19. package/dist/server/configuration/StandaloneConfiguration.d.ts +1 -0
  20. package/dist/server/configuration/StandaloneConfiguration.js +6 -0
  21. package/dist/server/controllers/ModulesController.js +6 -0
  22. package/dist/server/utils/LocalFileManager.d.ts +1 -0
  23. package/dist/server/utils/LocalFileManager.js +19 -11
  24. package/dist/server/utils/RuntimeConfigurator.js +9 -4
  25. package/package.json +26 -4
  26. package/.eslintignore +0 -3
  27. package/.eslintrc +0 -16
  28. package/coverage/clover.xml +0 -2483
  29. package/coverage/coverage-final.json +0 -56
  30. package/coverage/lcov-report/base.css +0 -224
  31. package/coverage/lcov-report/block-navigation.js +0 -87
  32. package/coverage/lcov-report/favicon.png +0 -0
  33. package/coverage/lcov-report/index.html +0 -356
  34. package/coverage/lcov-report/prettify.css +0 -1
  35. package/coverage/lcov-report/prettify.js +0 -2
  36. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  37. package/coverage/lcov-report/sorter.js +0 -196
  38. package/coverage/lcov-report/src/core/ErrorManager.ts.html +0 -139
  39. package/coverage/lcov-report/src/core/Implementation.ts.html +0 -244
  40. package/coverage/lcov-report/src/core/ImplementationBuilder.ts.html +0 -148
  41. package/coverage/lcov-report/src/core/Procedure.ts.html +0 -379
  42. package/coverage/lcov-report/src/core/Segment.ts.html +0 -271
  43. package/coverage/lcov-report/src/core/SegmentBuilder.ts.html +0 -250
  44. package/coverage/lcov-report/src/core/Version.ts.html +0 -289
  45. package/coverage/lcov-report/src/core/definitions/AccessLevel.ts.html +0 -94
  46. package/coverage/lcov-report/src/core/definitions/index.html +0 -116
  47. package/coverage/lcov-report/src/core/errors/ErrorManager.ts.html +0 -139
  48. package/coverage/lcov-report/src/core/errors/ImplementationNotFound.ts.html +0 -121
  49. package/coverage/lcov-report/src/core/errors/InvalidVersionNumber.ts.html +0 -121
  50. package/coverage/lcov-report/src/core/errors/MissingParameterValue.ts.html +0 -121
  51. package/coverage/lcov-report/src/core/errors/ProcedureNotFound.ts.html +0 -121
  52. package/coverage/lcov-report/src/core/errors/index.html +0 -161
  53. package/coverage/lcov-report/src/core/index.html +0 -191
  54. package/coverage/lcov-report/src/core/reflection/ParameterParser.ts.html +0 -307
  55. package/coverage/lcov-report/src/core/reflection/ReflectionHelper.ts.html +0 -439
  56. package/coverage/lcov-report/src/core/reflection/index.html +0 -131
  57. package/coverage/lcov-report/src/core/reflection/models/ReflectionField.ts.html +0 -151
  58. package/coverage/lcov-report/src/core/reflection/models/ReflectionParameter.ts.html +0 -139
  59. package/coverage/lcov-report/src/core/reflection/models/index.html +0 -131
  60. package/coverage/lcov-report/src/core/utils/FqnBuilder.ts.html +0 -115
  61. package/coverage/lcov-report/src/core/utils/index.html +0 -116
  62. package/coverage/lcov-report/src/hooks.ts.html +0 -88
  63. package/coverage/lcov-report/src/index.html +0 -116
  64. package/coverage/lcov-report/src/runtime/Gateway.ts.html +0 -139
  65. package/coverage/lcov-report/src/runtime/LocalGateway.ts.html +0 -364
  66. package/coverage/lcov-report/src/runtime/LocalNode.ts.html +0 -475
  67. package/coverage/lcov-report/src/runtime/LocalRepository.ts.html +0 -556
  68. package/coverage/lcov-report/src/runtime/Node.ts.html +0 -130
  69. package/coverage/lcov-report/src/runtime/NodeBalancer.ts.html +0 -268
  70. package/coverage/lcov-report/src/runtime/NodeMonitor.ts.html +0 -274
  71. package/coverage/lcov-report/src/runtime/Remote.ts.html +0 -562
  72. package/coverage/lcov-report/src/runtime/RemoteNode.ts.html +0 -232
  73. package/coverage/lcov-report/src/runtime/Repository.ts.html +0 -145
  74. package/coverage/lcov-report/src/runtime/Runtime.ts.html +0 -226
  75. package/coverage/lcov-report/src/runtime/caching/ImportRewriter.ts.html +0 -313
  76. package/coverage/lcov-report/src/runtime/caching/ModuleAppender.ts.html +0 -208
  77. package/coverage/lcov-report/src/runtime/caching/RemoteBuilder.ts.html +0 -238
  78. package/coverage/lcov-report/src/runtime/caching/SourceAppender.ts.html +0 -256
  79. package/coverage/lcov-report/src/runtime/caching/definitions/Keywords.ts.html +0 -94
  80. package/coverage/lcov-report/src/runtime/caching/definitions/index.html +0 -116
  81. package/coverage/lcov-report/src/runtime/caching/index.html +0 -146
  82. package/coverage/lcov-report/src/runtime/caching/models/ApplicationModule.ts.html +0 -175
  83. package/coverage/lcov-report/src/runtime/caching/models/Implementation.ts.html +0 -208
  84. package/coverage/lcov-report/src/runtime/caching/models/SegmentModule.ts.html +0 -163
  85. package/coverage/lcov-report/src/runtime/caching/models/index.html +0 -146
  86. package/coverage/lcov-report/src/runtime/errors/ClientNotFound.ts.html +0 -121
  87. package/coverage/lcov-report/src/runtime/errors/InvalidClientId.ts.html +0 -121
  88. package/coverage/lcov-report/src/runtime/errors/InvalidSegmentFile.ts.html +0 -121
  89. package/coverage/lcov-report/src/runtime/errors/ModuleNotLoaded.ts.html +0 -121
  90. package/coverage/lcov-report/src/runtime/errors/NoNodeAvailable.ts.html +0 -121
  91. package/coverage/lcov-report/src/runtime/errors/RepositoryNotAvaiable.ts.html +0 -121
  92. package/coverage/lcov-report/src/runtime/errors/RuntimeNotAvailable.ts.html +0 -121
  93. package/coverage/lcov-report/src/runtime/errors/index.html +0 -206
  94. package/coverage/lcov-report/src/runtime/hooks/dependencies.ts.html +0 -142
  95. package/coverage/lcov-report/src/runtime/hooks/index.html +0 -131
  96. package/coverage/lcov-report/src/runtime/hooks/runtime.ts.html +0 -160
  97. package/coverage/lcov-report/src/runtime/index.html +0 -251
  98. package/coverage/lcov-report/src/runtime/models/File.ts.html +0 -151
  99. package/coverage/lcov-report/src/runtime/models/index.html +0 -116
  100. package/coverage/lcov-report/src/runtime/serialization/ArraySerializer.ts.html +0 -166
  101. package/coverage/lcov-report/src/runtime/serialization/ClassSerializer.ts.html +0 -400
  102. package/coverage/lcov-report/src/runtime/serialization/MapSerializer.ts.html +0 -217
  103. package/coverage/lcov-report/src/runtime/serialization/ObjectSerializer.ts.html +0 -211
  104. package/coverage/lcov-report/src/runtime/serialization/SetSerializer.ts.html +0 -178
  105. package/coverage/lcov-report/src/runtime/serialization/ValueSerializer.ts.html +0 -328
  106. package/coverage/lcov-report/src/runtime/serialization/errors/ClassNotFound.ts.html +0 -121
  107. package/coverage/lcov-report/src/runtime/serialization/errors/InvalidClass.ts.html +0 -121
  108. package/coverage/lcov-report/src/runtime/serialization/errors/index.html +0 -131
  109. package/coverage/lcov-report/src/runtime/serialization/index.html +0 -191
  110. package/coverage/lcov-report/src/runtime/utils/ModuleAnalyser.ts.html +0 -265
  111. package/coverage/lcov-report/src/runtime/utils/ModuleLoader.ts.html +0 -238
  112. package/coverage/lcov-report/src/runtime/utils/UrlRewriter.ts.html +0 -262
  113. package/coverage/lcov-report/src/runtime/utils/index.html +0 -146
  114. package/coverage/lcov-report/test/_fixtures/core/Implementation.fixture.ts.html +0 -184
  115. package/coverage/lcov-report/test/_fixtures/core/Procedure.fixture.ts.html +0 -172
  116. package/coverage/lcov-report/test/_fixtures/core/Segment.fixture.ts.html +0 -193
  117. package/coverage/lcov-report/test/_fixtures/core/SegmentBuilder.fixture.ts.html +0 -220
  118. package/coverage/lcov-report/test/_fixtures/core/Version.fixture.ts.html +0 -139
  119. package/coverage/lcov-report/test/_fixtures/core/index.html +0 -176
  120. package/coverage/lcov-report/test/_fixtures/core/procedures/allDefault.ts.html +0 -100
  121. package/coverage/lcov-report/test/_fixtures/core/procedures/hasParameters.ts.html +0 -100
  122. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_0_0.ts.html +0 -115
  123. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_0_5.ts.html +0 -115
  124. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_1_0.ts.html +0 -115
  125. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_2_3.ts.html +0 -115
  126. package/coverage/lcov-report/test/_fixtures/core/procedures/inModule.ts.html +0 -115
  127. package/coverage/lcov-report/test/_fixtures/core/procedures/index.html +0 -251
  128. package/coverage/lcov-report/test/_fixtures/core/procedures/isBroken.ts.html +0 -112
  129. package/coverage/lcov-report/test/_fixtures/core/procedures/isPrivate.ts.html +0 -112
  130. package/coverage/lcov-report/test/_fixtures/core/procedures/isPublic.ts.html +0 -112
  131. package/coverage/lcov-report/test/_fixtures/core/reflection/ReflectionHelper.fixture.ts.html +0 -241
  132. package/coverage/lcov-report/test/_fixtures/core/reflection/index.html +0 -116
  133. package/coverage/lcov-report/test/_fixtures/core/segments/default.segment.ts.html +0 -94
  134. package/coverage/lcov-report/test/_fixtures/core/segments/index.html +0 -116
  135. package/coverage/lcov-report/test/_fixtures/runtime/LocalGateway.fixture.ts.html +0 -157
  136. package/coverage/lcov-report/test/_fixtures/runtime/LocalNode.fixture.ts.html +0 -133
  137. package/coverage/lcov-report/test/_fixtures/runtime/LocalRepository.fixture.ts.html +0 -304
  138. package/coverage/lcov-report/test/_fixtures/runtime/NodeBalancer.fixture.ts.html +0 -142
  139. package/coverage/lcov-report/test/_fixtures/runtime/NodeMonitor.fixture.ts.html +0 -187
  140. package/coverage/lcov-report/test/_fixtures/runtime/RemoteNode.fixture.ts.html +0 -109
  141. package/coverage/lcov-report/test/_fixtures/runtime/caching/ImportRewriter.fixture.ts.html +0 -304
  142. package/coverage/lcov-report/test/_fixtures/runtime/caching/ModuleAppender.fixture.ts.html +0 -181
  143. package/coverage/lcov-report/test/_fixtures/runtime/caching/RemoteBuilder.fixture.ts.html +0 -217
  144. package/coverage/lcov-report/test/_fixtures/runtime/caching/SourceAppender.fixture.ts.html +0 -178
  145. package/coverage/lcov-report/test/_fixtures/runtime/caching/index.html +0 -146
  146. package/coverage/lcov-report/test/_fixtures/runtime/index.html +0 -206
  147. package/coverage/lcov-report/test/_fixtures/runtime/procedures/firstPrivateTask.ts.html +0 -109
  148. package/coverage/lcov-report/test/_fixtures/runtime/procedures/firstPublicTask.ts.html +0 -118
  149. package/coverage/lcov-report/test/_fixtures/runtime/procedures/fourthPublicTask.ts.html +0 -109
  150. package/coverage/lcov-report/test/_fixtures/runtime/procedures/index.html +0 -191
  151. package/coverage/lcov-report/test/_fixtures/runtime/procedures/secondPrivateTask.ts.html +0 -109
  152. package/coverage/lcov-report/test/_fixtures/runtime/procedures/secondPublicTask.ts.html +0 -118
  153. package/coverage/lcov-report/test/_fixtures/runtime/procedures/thirdPublicTask.ts.html +0 -118
  154. package/coverage/lcov-report/test/_fixtures/runtime/segments/first.segment.files.ts.html +0 -85
  155. package/coverage/lcov-report/test/_fixtures/runtime/segments/first.segment.ts.html +0 -91
  156. package/coverage/lcov-report/test/_fixtures/runtime/segments/index.html +0 -161
  157. package/coverage/lcov-report/test/_fixtures/runtime/segments/second.segment.files.ts.html +0 -85
  158. package/coverage/lcov-report/test/_fixtures/runtime/segments/second.segment.ts.html +0 -91
  159. package/coverage/lcov-report/test/_fixtures/runtime/segments.ts.html +0 -319
  160. package/coverage/lcov-report/test/_fixtures/runtime/serialization/ValueSerializer.fixture.ts.html +0 -394
  161. package/coverage/lcov-report/test/_fixtures/runtime/serialization/index.html +0 -116
  162. package/coverage/lcov-report/test/_fixtures/runtime/utils/ModuleAnaliser.fixture.ts.html +0 -163
  163. package/coverage/lcov-report/test/_fixtures/runtime/utils/index.html +0 -116
  164. package/coverage/lcov.info +0 -3565
  165. package/dist/core/AccessLevel.d.ts +0 -5
  166. package/dist/core/AccessLevel.js +0 -6
  167. package/dist/core/ImplementationBuilder.d.ts +0 -4
  168. package/dist/core/ImplementationBuilder.js +0 -14
  169. package/dist/core/errors/ErrorManager.d.ts +0 -3
  170. package/dist/core/errors/ErrorManager.js +0 -11
  171. package/dist/runtime/RemoteNodeBuilder.d.ts +0 -4
  172. package/dist/runtime/RemoteNodeBuilder.js +0 -10
  173. package/dist/runtime/caching/CachBuilder.d.ts +0 -6
  174. package/dist/runtime/caching/CachBuilder.js +0 -150
  175. package/dist/runtime/caching/ModuleAppender.d.ts +0 -5
  176. package/dist/runtime/caching/ModuleAppender.js +0 -22
  177. package/dist/runtime/caching/errors/FunctionFilenameNotFound.d.ts +0 -3
  178. package/dist/runtime/caching/errors/FunctionFilenameNotFound.js +0 -5
  179. package/dist/runtime/caching/types/models/ApplicationModule.d.ts +0 -9
  180. package/dist/runtime/caching/types/models/ApplicationModule.js +0 -19
  181. package/dist/runtime/caching/types/models/Implementation.d.ts +0 -12
  182. package/dist/runtime/caching/types/models/Implementation.js +0 -27
  183. package/dist/runtime/caching/types/models/Procedure.d.ts +0 -9
  184. package/dist/runtime/caching/types/models/Procedure.js +0 -15
  185. package/dist/runtime/caching/types/models/Segment.d.ts +0 -10
  186. package/dist/runtime/caching/types/models/Segment.js +0 -16
  187. package/dist/runtime/caching/types/models/SegmentModule.d.ts +0 -10
  188. package/dist/runtime/caching/types/models/SegmentModule.js +0 -14
  189. package/dist/server/definitions/RuntimeMode.d.ts +0 -8
  190. package/dist/server/definitions/RuntimeMode.js +0 -9
  191. package/dist/server/models/RuntimeConfiguration.d.ts +0 -12
  192. package/dist/server/models/RuntimeConfiguration.js +0 -68
  193. package/dist/server/models/ServerOptions.d.ts +0 -4
  194. package/dist/server/models/ServerOptions.js +0 -25
  195. package/jest.config.js +0 -20
  196. package/src/client.ts +0 -18
  197. package/src/core/ErrorManager.ts +0 -18
  198. package/src/core/Implementation.ts +0 -53
  199. package/src/core/Procedure.ts +0 -98
  200. package/src/core/Segment.ts +0 -62
  201. package/src/core/SegmentBuilder.ts +0 -55
  202. package/src/core/Version.ts +0 -68
  203. package/src/core/definitions/AccessLevel.ts +0 -3
  204. package/src/core/errors/ImplementationNotFound.ts +0 -12
  205. package/src/core/errors/InvalidVersionNumber.ts +0 -12
  206. package/src/core/errors/MissingParameterValue.ts +0 -12
  207. package/src/core/errors/NotImplemented.ts +0 -12
  208. package/src/core/errors/ProcedureNotFound.ts +0 -12
  209. package/src/core/interfaces/Runner.ts +0 -7
  210. package/src/core/reflection/ParameterParser.ts +0 -74
  211. package/src/core/reflection/ReflectionHelper.ts +0 -118
  212. package/src/core/reflection/models/ReflectionField.ts +0 -22
  213. package/src/core/reflection/models/ReflectionParameter.ts +0 -18
  214. package/src/core/types/Component.ts +0 -8
  215. package/src/core/types/FlexObject.ts +0 -4
  216. package/src/core/types/Module.ts +0 -6
  217. package/src/core/types/SegmentImplementation.ts +0 -9
  218. package/src/core/types/SegmentModule.ts +0 -9
  219. package/src/core/types/SegmentProcedure.ts +0 -11
  220. package/src/core/utils/FqnBuilder.ts +0 -11
  221. package/src/hooks.ts +0 -2
  222. package/src/lib.ts +0 -7
  223. package/src/runtime/Gateway.ts +0 -18
  224. package/src/runtime/LocalGateway.ts +0 -93
  225. package/src/runtime/LocalNode.ts +0 -130
  226. package/src/runtime/LocalRepository.ts +0 -157
  227. package/src/runtime/Node.ts +0 -15
  228. package/src/runtime/NodeBalancer.ts +0 -61
  229. package/src/runtime/NodeMonitor.ts +0 -63
  230. package/src/runtime/Proxy.ts +0 -60
  231. package/src/runtime/Remote.ts +0 -157
  232. package/src/runtime/RemoteGateway.ts +0 -40
  233. package/src/runtime/RemoteNode.ts +0 -49
  234. package/src/runtime/RemoteRepository.ts +0 -60
  235. package/src/runtime/Repository.ts +0 -20
  236. package/src/runtime/Runtime.ts +0 -47
  237. package/src/runtime/caching/CacheBuilder.ts +0 -424
  238. package/src/runtime/caching/ImportRewriter.ts +0 -76
  239. package/src/runtime/caching/RemoteBuilder.ts +0 -51
  240. package/src/runtime/caching/SourceAppender.ts +0 -57
  241. package/src/runtime/caching/definitions/Keywords.ts +0 -3
  242. package/src/runtime/caching/errors/InvalidSegmentFilename.ts +0 -8
  243. package/src/runtime/caching/errors/MissingModuleExport.ts +0 -8
  244. package/src/runtime/caching/errors/SegmentFileNotLoaded.ts +0 -8
  245. package/src/runtime/caching/errors/SegmentModuleNotLoaded.ts +0 -8
  246. package/src/runtime/caching/models/ApplicationModule.ts +0 -30
  247. package/src/runtime/caching/models/Implementation.ts +0 -41
  248. package/src/runtime/caching/models/Procedure.ts +0 -26
  249. package/src/runtime/caching/models/Segment.ts +0 -28
  250. package/src/runtime/caching/models/SegmentModule.ts +0 -26
  251. package/src/runtime/caching/types/SegmentFile.ts +0 -6
  252. package/src/runtime/caching/types/SegmentImportProperties.ts +0 -9
  253. package/src/runtime/caching/types/SegmentImports.ts +0 -6
  254. package/src/runtime/errors/ClientNotFound.ts +0 -12
  255. package/src/runtime/errors/FileNotFound.ts +0 -12
  256. package/src/runtime/errors/InvalidClientId.ts +0 -12
  257. package/src/runtime/errors/InvalidJitarHooks.ts +0 -12
  258. package/src/runtime/errors/InvalidSegmentFile.ts +0 -12
  259. package/src/runtime/errors/ModuleNotLoaded.ts +0 -12
  260. package/src/runtime/errors/NoNodeAvailable.ts +0 -12
  261. package/src/runtime/errors/RepositoryNotAvaiable.ts +0 -12
  262. package/src/runtime/errors/RuntimeNotAvailable.ts +0 -12
  263. package/src/runtime/errors/SegmentNotFound.ts +0 -12
  264. package/src/runtime/hooks/dependencies.ts +0 -19
  265. package/src/runtime/hooks/runtime.ts +0 -25
  266. package/src/runtime/interfaces/FileManager.ts +0 -19
  267. package/src/runtime/interfaces/HealthCheck.ts +0 -5
  268. package/src/runtime/interfaces/ProcedureContainer.ts +0 -9
  269. package/src/runtime/models/File.ts +0 -22
  270. package/src/runtime/serialization/ArraySerializer.ts +0 -27
  271. package/src/runtime/serialization/ClassSerializer.ts +0 -105
  272. package/src/runtime/serialization/MapSerializer.ts +0 -44
  273. package/src/runtime/serialization/ObjectSerializer.ts +0 -42
  274. package/src/runtime/serialization/SetSerializer.ts +0 -31
  275. package/src/runtime/serialization/ValueSerializer.ts +0 -81
  276. package/src/runtime/serialization/errors/ClassNotFound.ts +0 -12
  277. package/src/runtime/serialization/errors/InvalidClass.ts +0 -12
  278. package/src/runtime/serialization/interfaces/Serializer.ts +0 -10
  279. package/src/runtime/serialization/types/SerializableObject.ts +0 -6
  280. package/src/runtime/serialization/types/Serialized.ts +0 -8
  281. package/src/runtime/serialization/types/SerializedClass.ts +0 -13
  282. package/src/runtime/serialization/types/SerializedMap.ts +0 -13
  283. package/src/runtime/serialization/types/SerializedObject.ts +0 -4
  284. package/src/runtime/serialization/types/SerializedSet.ts +0 -9
  285. package/src/runtime/types/JitarHooks.ts +0 -10
  286. package/src/runtime/types/ModuleImporter.ts +0 -6
  287. package/src/runtime/utils/ModuleAnalyser.ts +0 -60
  288. package/src/runtime/utils/ModuleLoader.ts +0 -51
  289. package/src/runtime/utils/UrlRewriter.ts +0 -59
  290. package/src/server/JitarServer.ts +0 -161
  291. package/src/server/configuration/GatewayConfiguration.ts +0 -9
  292. package/src/server/configuration/NodeConfiguration.ts +0 -15
  293. package/src/server/configuration/ProxyConfiguration.ts +0 -16
  294. package/src/server/configuration/RepositoryConfiguration.ts +0 -17
  295. package/src/server/configuration/RuntimeConfiguration.ts +0 -30
  296. package/src/server/configuration/ServerOptions.ts +0 -14
  297. package/src/server/configuration/StandaloneConfiguration.ts +0 -21
  298. package/src/server/controllers/AssetsController.ts +0 -59
  299. package/src/server/controllers/HealthController.ts +0 -41
  300. package/src/server/controllers/JitarController.ts +0 -18
  301. package/src/server/controllers/ModulesController.ts +0 -66
  302. package/src/server/controllers/NodesController.ts +0 -58
  303. package/src/server/controllers/ProceduresController.ts +0 -31
  304. package/src/server/controllers/ProxyController.ts +0 -38
  305. package/src/server/controllers/RPCController.ts +0 -173
  306. package/src/server/definitions/RuntimeDefaults.ts +0 -10
  307. package/src/server/errors/MissingConfigurationValue.ts +0 -8
  308. package/src/server/errors/RuntimeNotAvaiable.ts +0 -8
  309. package/src/server/errors/UnknownRuntimeMode.ts +0 -8
  310. package/src/server/models/HealthDto.ts +0 -11
  311. package/src/server/models/NodeDto.ts +0 -11
  312. package/src/server/utils/DataConverter.ts +0 -15
  313. package/src/server/utils/LocalFileManager.ts +0 -122
  314. package/src/server/utils/RuntimeConfigurationLoader.ts +0 -19
  315. package/src/server/utils/RuntimeConfigurator.ts +0 -207
  316. package/src/server/utils/ServerOptionsReader.ts +0 -17
  317. package/src/server.ts +0 -16
  318. package/test/_fixtures/core/Implementation.fixture.ts +0 -33
  319. package/test/_fixtures/core/Procedure.fixture.ts +0 -33
  320. package/test/_fixtures/core/Segment.fixture.ts +0 -36
  321. package/test/_fixtures/core/SegmentBuilder.fixture.ts +0 -45
  322. package/test/_fixtures/core/Version.fixture.ts +0 -18
  323. package/test/_fixtures/core/reflection/ReflectionHelper.fixture.ts +0 -56
  324. package/test/_fixtures/runtime/LocalGateway.fixture.ts +0 -24
  325. package/test/_fixtures/runtime/LocalNode.fixture.ts +0 -16
  326. package/test/_fixtures/runtime/LocalRepository.fixture.ts +0 -73
  327. package/test/_fixtures/runtime/NodeBalancer.fixture.ts +0 -19
  328. package/test/_fixtures/runtime/NodeMonitor.fixture.ts +0 -34
  329. package/test/_fixtures/runtime/RemoteNode.fixture.ts +0 -8
  330. package/test/_fixtures/runtime/caching/ImportRewriter.fixture.ts +0 -81
  331. package/test/_fixtures/runtime/caching/RemoteBuilder.fixture.ts +0 -50
  332. package/test/_fixtures/runtime/caching/SourceAppender.fixture.ts +0 -35
  333. package/test/_fixtures/runtime/segments.ts +0 -78
  334. package/test/_fixtures/runtime/serialization/ValueSerializer.fixture.ts +0 -134
  335. package/test/_fixtures/runtime/utils/ModuleAnaliser.fixture.ts +0 -26
  336. package/test/core/Implementation.spec.ts +0 -89
  337. package/test/core/Procedure.spec.ts +0 -108
  338. package/test/core/Segment.spec.ts +0 -74
  339. package/test/core/SegmentBuilder.spec.ts +0 -39
  340. package/test/core/Version.spec.ts +0 -103
  341. package/test/core/errors/ErrorManager.spec.ts +0 -32
  342. package/test/core/reflection/ReflectionHelper.spec.ts +0 -128
  343. package/test/core/utils/FqnBuilder.spec.ts +0 -22
  344. package/test/runtime/LocalGateway.spec.ts +0 -40
  345. package/test/runtime/LocalNode.spec.ts +0 -87
  346. package/test/runtime/LocalRepository.spec.ts +0 -50
  347. package/test/runtime/NodeBalancer.spec.ts +0 -39
  348. package/test/runtime/NodeMonitor.spec.ts +0 -31
  349. package/test/runtime/RemoteNode.spec.ts +0 -43
  350. package/test/runtime/caching/ImportRewriter.spec.ts +0 -68
  351. package/test/runtime/caching/RemoteBuilder.spec.ts +0 -21
  352. package/test/runtime/caching/SourceAppender.spec.ts +0 -31
  353. package/test/runtime/serialization/ValueSerializer.spec.ts +0 -203
  354. package/test/runtime/utils/ModuleAnalyser.spec.ts +0 -54
  355. package/test/runtime/utils/UrlRewriter.spec.ts +0 -57
  356. package/tsconfig.json +0 -23
@@ -1,4 +1,5 @@
1
1
  import MissingParameterValue from './errors/MissingParameterValue.js';
2
+ import UnknownParameter from './errors/UnknownParameter.js';
2
3
  import * as AccessLevel from './definitions/AccessLevel.js';
3
4
  export default class Implementation {
4
5
  #version;
@@ -20,6 +21,12 @@ export default class Implementation {
20
21
  }
21
22
  #extractParameterValues(parameters) {
22
23
  const values = [];
24
+ const incommingKeys = Array.from(parameters.keys());
25
+ const knownKeys = this.#parameters.map(parameter => parameter.name);
26
+ const additionalKeys = incommingKeys.filter(key => knownKeys.includes(key) === false);
27
+ if (additionalKeys.length !== 0) {
28
+ throw new UnknownParameter(additionalKeys[0]);
29
+ }
23
30
  for (const parameter of this.#parameters) {
24
31
  const value = parameters.get(parameter.name);
25
32
  if (value === undefined && parameter.isOptional === false) {
@@ -10,7 +10,6 @@ export default class SegmentBuilder {
10
10
  const procedure = this.#buildProcedure(definition);
11
11
  segment.addProcedure(procedure);
12
12
  }
13
- ;
14
13
  return segment;
15
14
  }
16
15
  static #buildProcedure(definition) {
@@ -0,0 +1,3 @@
1
+ export default class UnknownParameter extends Error {
2
+ constructor(parameterName: string);
3
+ }
@@ -0,0 +1,6 @@
1
+ export default class UnknownParameter extends Error {
2
+ constructor(parameterName) {
3
+ super(`Unknown parameter ${parameterName}`);
4
+ }
5
+ }
6
+ UnknownParameter.source = '/jitar/core/errors/UnknownParameter.js';
@@ -0,0 +1,4 @@
1
+ export default class ClientId {
2
+ static generate(): string;
3
+ static validate(clientId: string): boolean;
4
+ }
@@ -0,0 +1,11 @@
1
+ const CLIENT_ID_PREFIX = 'CLIENT_';
2
+ const CLIENT_ID_REGEX = /^CLIENT_\d+$/;
3
+ let lastClientId = 0;
4
+ export default class ClientId {
5
+ static generate() {
6
+ return `${CLIENT_ID_PREFIX}${lastClientId++}`;
7
+ }
8
+ static validate(clientId) {
9
+ return CLIENT_ID_REGEX.test(clientId);
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
1
  import Module from '../core/types/Module.js';
2
- import FileManager from './interfaces/FileManager.js';
3
2
  import LocalNode from './LocalNode.js';
4
- import File from './models/File.js';
5
3
  import Repository from './Repository.js';
4
+ import FileManager from './interfaces/FileManager.js';
5
+ import File from './models/File.js';
6
6
  export default class LocalRepository extends Repository {
7
7
  #private;
8
- constructor(fileManager: FileManager, url?: string);
8
+ constructor(fileManager: FileManager, assets: string[], url?: string);
9
9
  loadSegment(name: string): Promise<void>;
10
10
  registerSegment(name: string, files: string[]): Promise<void>;
11
11
  registerClient(segmentFilenames: string[]): Promise<string>;
@@ -1,19 +1,21 @@
1
- import File from './models/File.js';
1
+ import ClientId from './ClientId.js';
2
2
  import Repository from './Repository.js';
3
+ import File from './models/File.js';
3
4
  import ModuleLoader from './utils/ModuleLoader.js';
4
5
  import ClientNotFound from './errors/ClientNotFound.js';
6
+ import FileNotFound from './errors/FileNotFound.js';
5
7
  import InvalidClientId from './errors/InvalidClientId.js';
6
8
  import InvalidSegmentFile from './errors/InvalidSegmentFile.js';
7
9
  import { setRuntime } from '../hooks.js';
8
- let lastClientId = 0;
9
- const CLIENT_ID_PREFIX = 'CLIENT_';
10
10
  export default class LocalRepository extends Repository {
11
11
  #fileManager;
12
12
  #segments = new Map();
13
13
  #clients = new Map();
14
- constructor(fileManager, url) {
14
+ #assets;
15
+ constructor(fileManager, assets, url) {
15
16
  super(url);
16
17
  this.#fileManager = fileManager;
18
+ this.#assets = assets;
17
19
  }
18
20
  async loadSegment(name) {
19
21
  const filename = `./${name}.segment.repository.js`;
@@ -29,7 +31,7 @@ export default class LocalRepository extends Repository {
29
31
  files.forEach((file) => this.#segments.set(file, name));
30
32
  }
31
33
  async registerClient(segmentFilenames) {
32
- const clientId = `${CLIENT_ID_PREFIX}${lastClientId++}`;
34
+ const clientId = ClientId.generate();
33
35
  this.#clients.set(clientId, segmentFilenames);
34
36
  return clientId;
35
37
  }
@@ -37,7 +39,10 @@ export default class LocalRepository extends Repository {
37
39
  setRuntime(runtime);
38
40
  }
39
41
  async loadAsset(filename) {
40
- return this.#fileManager.load(filename);
42
+ if (this.#assets.includes(filename) === false) {
43
+ throw new FileNotFound(filename);
44
+ }
45
+ return this.#loadFile(filename);
41
46
  }
42
47
  async getModuleLocation(clientId) {
43
48
  return this.#fileManager.getRootLocation();
@@ -57,7 +62,7 @@ export default class LocalRepository extends Repository {
57
62
  return ModuleLoader.import(location);
58
63
  }
59
64
  #validateClientId(clientId) {
60
- if (clientId.startsWith(CLIENT_ID_PREFIX) === false) {
65
+ if (ClientId.validate(clientId) === false) {
61
66
  throw new InvalidClientId(clientId);
62
67
  }
63
68
  if (this.#clients.has(clientId) === false) {
@@ -75,12 +80,15 @@ export default class LocalRepository extends Repository {
75
80
  if (isSegmented) {
76
81
  filename = filename.replace('.js', '.local.js');
77
82
  }
78
- const file = await this.loadAsset(filename);
83
+ const file = await this.#loadFile(filename);
79
84
  const code = file.content.toString();
80
85
  return new File(filename, 'application/javascript', code);
81
86
  }
82
87
  async #getRemoteModule(filename) {
83
88
  const remoteFilename = filename.replace('.js', '.remote.js');
84
- return this.loadAsset(remoteFilename);
89
+ return this.#loadFile(remoteFilename);
90
+ }
91
+ async #loadFile(filename) {
92
+ return this.#fileManager.load(filename);
85
93
  }
86
94
  }
@@ -175,12 +175,12 @@ export default class CacheBuilder {
175
175
  return `${importCode}\n\n${modelCode}`;
176
176
  }
177
177
  #createSegmentImportCode(segment) {
178
- let codes = [];
178
+ const codes = [];
179
179
  for (const module of segment.modules) {
180
180
  const relativeLocation = this.#sourceManager.getRelativeLocation(module.filename);
181
181
  const imports = [];
182
182
  for (const [importKey, implementation] of module.implementations) {
183
- imports.push(`${importKey} as \$${implementation.id}`);
183
+ imports.push(`${importKey} as $${implementation.id}`);
184
184
  }
185
185
  codes.push(`import { ${imports.join(',')} } from "./${relativeLocation}";`);
186
186
  }
@@ -191,7 +191,7 @@ export default class CacheBuilder {
191
191
  for (const procedure of segment.procedures.values()) {
192
192
  const implementationCode = [];
193
193
  for (const implementation of procedure.implementations) {
194
- implementationCode.push(`{ access: "${implementation.access}", version: "${implementation.version}", executable: \$${implementation.id} }`);
194
+ implementationCode.push(`{ access: "${implementation.access}", version: "${implementation.version}", executable: $${implementation.id} }`);
195
195
  }
196
196
  procedureCode.push(`{ module: "${procedure.module}", name: "${procedure.name}", implementations: [\n\t\t${implementationCode.join(',\n\t\t')}\n\t]}`);
197
197
  }
@@ -2,6 +2,7 @@ import ReflectionHelper from '../../core/reflection/ReflectionHelper.js';
2
2
  import ModuleLoader from '../utils/ModuleLoader.js';
3
3
  import ClassNotFound from './errors/ClassNotFound.js';
4
4
  import InvalidClass from './errors/InvalidClass.js';
5
+ import InvalidPropertyType from './errors/InvalidPropertyType.js';
5
6
  import ValueSerializer from './ValueSerializer.js';
6
7
  class ClassSerializer {
7
8
  serialize(object) {
@@ -30,6 +31,7 @@ class ClassSerializer {
30
31
  return { serialized: true, name: name, source: source, args: args, fields: fields };
31
32
  }
32
33
  async deserialize(object) {
34
+ this.#validateSerializedClass(object);
33
35
  const clazz = await this.#loadClass(object.source, object.name);
34
36
  if (clazz === undefined) {
35
37
  throw new ClassNotFound(object.name);
@@ -45,6 +47,20 @@ class ClassSerializer {
45
47
  }
46
48
  return instance;
47
49
  }
50
+ #validateSerializedClass(object) {
51
+ if (typeof object.name !== 'string') {
52
+ throw new InvalidPropertyType('class', 'name', 'string');
53
+ }
54
+ if (object.source !== null && typeof object.source !== 'string') {
55
+ throw new InvalidPropertyType(`class '${object.name}'`, 'source', 'string | null');
56
+ }
57
+ if ((object.args instanceof Array) === false) {
58
+ throw new InvalidPropertyType(`class '${object.name}'`, 'args', 'Array');
59
+ }
60
+ if ((object.fields instanceof Object) === false) {
61
+ throw new InvalidPropertyType(`class '${object.name}'`, 'fields', 'Object');
62
+ }
63
+ }
48
64
  async #loadClass(source, name) {
49
65
  if (source === null) {
50
66
  const system = typeof window !== 'undefined' ? window : global;
@@ -1,6 +1,7 @@
1
1
  import Serializer from './interfaces/Serializer.js';
2
2
  import SerializedMap from './types/SerializedMap.js';
3
3
  declare class MapSerializer implements Serializer {
4
+ #private;
4
5
  serialize(map: Map<unknown, unknown>): SerializedMap;
5
6
  deserialize(object: SerializedMap): Promise<Map<unknown, unknown>>;
6
7
  }
@@ -1,3 +1,4 @@
1
+ import InvalidPropertyType from './errors/InvalidPropertyType.js';
1
2
  import ValueSerializer from './ValueSerializer.js';
2
3
  class MapSerializer {
3
4
  serialize(map) {
@@ -10,6 +11,7 @@ class MapSerializer {
10
11
  return { serialized: true, name: 'Map', entries: { keys: keys, values: values } };
11
12
  }
12
13
  async deserialize(object) {
14
+ this.#validateSerializedMap(object);
13
15
  const keys = object.entries.keys;
14
16
  const values = object.entries.values;
15
17
  const result = new Map();
@@ -20,6 +22,14 @@ class MapSerializer {
20
22
  }
21
23
  return result;
22
24
  }
25
+ #validateSerializedMap(object) {
26
+ if ((object.entries?.keys instanceof Array) === false) {
27
+ throw new InvalidPropertyType('map', 'entries.keys', 'Array');
28
+ }
29
+ if ((object.entries?.values instanceof Array) === false) {
30
+ throw new InvalidPropertyType('map', 'entries.values', 'Array');
31
+ }
32
+ }
23
33
  }
24
34
  const instance = new MapSerializer();
25
35
  export default instance;
@@ -1,6 +1,7 @@
1
1
  import Serializer from './interfaces/Serializer.js';
2
2
  import SerializedSet from './types/SerializedSet.js';
3
3
  declare class SetSerializer implements Serializer {
4
+ #private;
4
5
  serialize(set: Set<unknown>): SerializedSet;
5
6
  deserialize(object: SerializedSet): Promise<Set<unknown>>;
6
7
  }
@@ -1,3 +1,4 @@
1
+ import InvalidPropertyType from './errors/InvalidPropertyType.js';
1
2
  import ValueSerializer from './ValueSerializer.js';
2
3
  class SetSerializer {
3
4
  serialize(set) {
@@ -8,9 +9,15 @@ class SetSerializer {
8
9
  return { serialized: true, name: 'Set', values: values };
9
10
  }
10
11
  async deserialize(object) {
12
+ this.#validateSerializedSet(object);
11
13
  const values = await Promise.all(object.values.map(async (value) => await ValueSerializer.deserialize(value)));
12
14
  return new Set([...values]);
13
15
  }
16
+ #validateSerializedSet(object) {
17
+ if ((object.values instanceof Array) === false) {
18
+ throw new InvalidPropertyType('set', 'values', 'Array');
19
+ }
20
+ }
14
21
  }
15
22
  const instance = new SetSerializer();
16
23
  export default instance;
@@ -0,0 +1,3 @@
1
+ export default class InvalidPropertyType extends Error {
2
+ constructor(typeName: string, propertyName: string, expectedType: string);
3
+ }
@@ -0,0 +1,6 @@
1
+ export default class InvalidPropertyType extends Error {
2
+ constructor(typeName, propertyName, expectedType) {
3
+ super(`The ${typeName} property '${propertyName}' has an invalid type (expected '${expectedType}')`);
4
+ }
5
+ }
6
+ InvalidPropertyType.source = '/jitar/runtime/serialization/errors/InvalidPropertyType.js';
@@ -2,4 +2,5 @@ export default class RepositoryConfiguration {
2
2
  source?: string;
3
3
  cache?: string;
4
4
  index?: string;
5
+ assets?: string[];
5
6
  }
@@ -7,11 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { IsOptional, IsString } from 'class-validator';
10
+ import { IsArray, IsOptional, IsString } from 'class-validator';
11
11
  export default class RepositoryConfiguration {
12
12
  source;
13
13
  cache;
14
14
  index;
15
+ assets;
15
16
  }
16
17
  __decorate([
17
18
  IsString(),
@@ -28,3 +29,8 @@ __decorate([
28
29
  IsOptional(),
29
30
  __metadata("design:type", String)
30
31
  ], RepositoryConfiguration.prototype, "index", void 0);
32
+ __decorate([
33
+ IsArray(),
34
+ IsOptional(),
35
+ __metadata("design:type", Array)
36
+ ], RepositoryConfiguration.prototype, "assets", void 0);
@@ -3,4 +3,5 @@ export default class StandaloneConfiguration {
3
3
  cache?: string;
4
4
  index?: string;
5
5
  segments?: string[];
6
+ assets?: string[];
6
7
  }
@@ -13,6 +13,7 @@ export default class StandaloneConfiguration {
13
13
  cache;
14
14
  index;
15
15
  segments;
16
+ assets;
16
17
  }
17
18
  __decorate([
18
19
  IsString(),
@@ -34,3 +35,8 @@ __decorate([
34
35
  IsOptional(),
35
36
  __metadata("design:type", Array)
36
37
  ], StandaloneConfiguration.prototype, "segments", void 0);
38
+ __decorate([
39
+ IsArray(),
40
+ IsOptional(),
41
+ __metadata("design:type", Array)
42
+ ], StandaloneConfiguration.prototype, "assets", void 0);
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { Controller, Get, Post } from '@overnightjs/core';
11
11
  import { Logger } from 'tslog';
12
+ import ClientId from '../../runtime/ClientId.js';
12
13
  import ValueSerializer from '../../runtime/serialization/ValueSerializer.js';
13
14
  let ModulesController = class ModulesController {
14
15
  #repository;
@@ -18,6 +19,8 @@ let ModulesController = class ModulesController {
18
19
  this.#logger = logger;
19
20
  }
20
21
  async registerClient(request, response) {
22
+ if ((request.body instanceof Array) === false) {
23
+ }
21
24
  const segmentFiles = request.body;
22
25
  const clientId = await this.#repository.registerClient(segmentFiles);
23
26
  this.#logger.info(`Registered client -> ${clientId} [${segmentFiles.join(',')}]`);
@@ -25,6 +28,9 @@ let ModulesController = class ModulesController {
25
28
  }
26
29
  async getModule(request, response) {
27
30
  const clientId = request.params.clientId;
31
+ if (typeof clientId !== 'string' || ClientId.validate(clientId) === false) {
32
+ return response.status(400).send('Invalid client id.');
33
+ }
28
34
  const pathKey = `/${clientId}/`;
29
35
  const pathIndex = request.path.indexOf(pathKey) + pathKey.length;
30
36
  const filename = request.path.substring(pathIndex);
@@ -17,4 +17,5 @@ export default class LocalFileManager implements FileManager {
17
17
  getSegmentFiles(): Promise<string[]>;
18
18
  getNodeSegmentFiles(): Promise<string[]>;
19
19
  getRepositorySegmentFiles(): Promise<string[]>;
20
+ getAssetFiles(patterns: string[]): Promise<string[]>;
20
21
  }
@@ -51,23 +51,31 @@ export default class LocalFileManager {
51
51
  return fs.remove(location);
52
52
  }
53
53
  async getModuleFileNames() {
54
- const location = this.getAbsoluteLocation('./');
55
- const filenames = await glob(`${location}/**/*.js`);
56
- return filenames;
54
+ return this.#filterFiles('**/*.js');
57
55
  }
58
56
  async getSegmentFiles() {
59
- const location = this.getAbsoluteLocation('./');
60
- const filenames = await glob(`${location}/**/*.segment.json`);
61
- return filenames;
57
+ return this.#filterFiles('**/*.segment.json');
62
58
  }
63
59
  async getNodeSegmentFiles() {
64
- const location = this.getAbsoluteLocation('./');
65
- const filenames = await glob(`${location}/**/*.segment.local.js`);
66
- return filenames;
60
+ return this.#filterFiles('**/*.segment.local.js');
67
61
  }
68
62
  async getRepositorySegmentFiles() {
63
+ return this.#filterFiles('**/*.segment.repository.js');
64
+ }
65
+ async getAssetFiles(patterns) {
66
+ const promises = patterns.map(pattern => this.#filterFiles(pattern));
67
+ const assetFiles = (await Promise.all(promises)).flat();
68
+ return assetFiles
69
+ .map(filename => this.getRelativeLocation(filename))
70
+ .filter(filename => this.#isGeneratedFile(filename) === false);
71
+ }
72
+ async #filterFiles(pattern) {
69
73
  const location = this.getAbsoluteLocation('./');
70
- const filenames = await glob(`${location}/**/*.segment.repository.js`);
71
- return filenames;
74
+ return await glob(`${location}/${pattern}`);
75
+ }
76
+ #isGeneratedFile(filename) {
77
+ return filename.endsWith('.local.js')
78
+ || filename.endsWith('.repository.js')
79
+ || filename.endsWith('.remote.js');
72
80
  }
73
81
  }
@@ -29,19 +29,21 @@ export default class RuntimeConfigurator {
29
29
  static async #configureStandAlone(url, configuration) {
30
30
  const sourceLocation = configuration.source ?? RuntimeDefaults.SOURCE;
31
31
  const cacheLocation = configuration.cache ?? RuntimeDefaults.CACHE;
32
+ const assetFilePatterns = configuration.assets;
32
33
  await this.#buildCache(sourceLocation, cacheLocation);
33
34
  const segmentNames = configuration.segments === undefined
34
35
  ? await this.#getSegmentNames(cacheLocation)
35
36
  : configuration.segments;
36
- const repository = await this.#buildRepository(url, cacheLocation);
37
+ const repository = await this.#buildRepository(url, cacheLocation, assetFilePatterns);
37
38
  const node = await this.#buildNode(url, segmentNames, repository);
38
39
  return this.#buildProxy(url, repository, node);
39
40
  }
40
41
  static async #configureRepository(url, configuration) {
41
42
  const sourceLocation = configuration.source ?? RuntimeDefaults.SOURCE;
42
43
  const cacheLocation = configuration.cache ?? RuntimeDefaults.CACHE;
44
+ const assetFilePatterns = configuration.assets ?? [];
43
45
  await this.#buildCache(sourceLocation, cacheLocation);
44
- return this.#buildRepository(url, cacheLocation);
46
+ return this.#buildRepository(url, cacheLocation, assetFilePatterns);
45
47
  }
46
48
  static async #configureGateway(url, configuration) {
47
49
  return this.#buildGateway(url, configuration.monitor);
@@ -95,9 +97,12 @@ export default class RuntimeConfigurator {
95
97
  const endIndex = name.indexOf('.segment');
96
98
  return name.substring(0, endIndex);
97
99
  }
98
- static async #buildRepository(url, cacheLocation) {
100
+ static async #buildRepository(url, cacheLocation, assetFilePatterns) {
99
101
  const fileManager = new LocalFileManager(cacheLocation);
100
- const repository = new LocalRepository(fileManager, url);
102
+ const assetFiles = assetFilePatterns !== undefined
103
+ ? await fileManager.getAssetFiles(assetFilePatterns)
104
+ : [];
105
+ const repository = new LocalRepository(fileManager, assetFiles, url);
101
106
  const segmentFilenames = await fileManager.getRepositorySegmentFiles();
102
107
  const segmentNames = segmentFilenames.map(filename => this.#extractSegmentName(filename));
103
108
  for (const name of segmentNames) {
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "jitar",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
+ "description": "Distributed runtime for JavaScript and TypeScript to chop monolithic applications into micros.",
4
5
  "author": "Masking Technology <info@masking.tech> (https://jitar.dev)",
5
6
  "license": "MIT",
6
7
  "type": "module",
@@ -30,7 +31,7 @@
30
31
  "glob-promise": "^5.0.0",
31
32
  "mime-types": "^2.1.35",
32
33
  "tslog": "^3.3.3",
33
- "yargs": "^17.5.1"
34
+ "yargs": "^17.6.0"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/express": "^4.17.13",
@@ -38,11 +39,32 @@
38
39
  "@types/fs-extra": "^9.0.13",
39
40
  "@types/jest": "^28.1.3",
40
41
  "@types/mime-types": "^2.1.1",
41
- "@types/yargs": "^17.0.10",
42
+ "@types/yargs": "^17.0.13",
42
43
  "@typescript-eslint/eslint-plugin": "^5.29.0",
43
44
  "@typescript-eslint/parser": "^5.29.0",
44
45
  "eslint": "^8.18.0",
45
46
  "jest": "^28.1.3",
46
47
  "ts-jest": "^28.0.8"
47
- }
48
+ },
49
+ "engines": {
50
+ "node": ">=18.7"
51
+ },
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "https://github.com/MaskingTechnology/jitar"
55
+ },
56
+ "bugs": {
57
+ "url": "https://github.com/MaskingTechnology/jitar/issues"
58
+ },
59
+ "homepage": "https://jitar.dev",
60
+ "keywords": [
61
+ "distributed",
62
+ "runtime",
63
+ "javascript",
64
+ "typescript",
65
+ "microservices",
66
+ "monolith",
67
+ "full stack",
68
+ "web applications"
69
+ ]
48
70
  }
package/.eslintignore DELETED
@@ -1,3 +0,0 @@
1
- coverage
2
- dist
3
- node_modules
package/.eslintrc DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "root": true,
3
- "parser": "@typescript-eslint/parser",
4
- "plugins": [
5
- "@typescript-eslint"
6
- ],
7
- "extends": [
8
- "eslint:recommended",
9
- "plugin:@typescript-eslint/eslint-recommended",
10
- "plugin:@typescript-eslint/recommended"
11
- ],
12
- "rules":
13
- {
14
- "@typescript-eslint/ban-types": "off"
15
- }
16
- }