k8ts 0.13.2 → 0.14.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 (585) hide show
  1. package/dist/common-world.d.ts +3 -8
  2. package/dist/common-world.d.ts.map +1 -1
  3. package/dist/common-world.js +6 -9
  4. package/dist/common-world.js.map +1 -1
  5. package/dist/env/env.d.ts +7 -7
  6. package/dist/env/env.d.ts.map +1 -1
  7. package/dist/env/env.js +21 -23
  8. package/dist/env/env.js.map +1 -1
  9. package/dist/env/error.d.ts +5 -0
  10. package/dist/env/error.d.ts.map +1 -0
  11. package/dist/env/error.js +12 -0
  12. package/dist/env/error.js.map +1 -0
  13. package/dist/env/index.d.ts +1 -1
  14. package/dist/env/index.d.ts.map +1 -1
  15. package/dist/env/types.d.ts +5 -5
  16. package/dist/env/types.d.ts.map +1 -1
  17. package/dist/gvks/apps.d.ts +29 -0
  18. package/dist/gvks/apps.d.ts.map +1 -0
  19. package/dist/gvks/apps.js.map +1 -0
  20. package/dist/gvks/batch.d.ts +17 -0
  21. package/dist/gvks/batch.d.ts.map +1 -0
  22. package/dist/gvks/batch.js.map +1 -0
  23. package/dist/gvks/default.d.ts +73 -0
  24. package/dist/gvks/default.d.ts.map +1 -0
  25. package/dist/gvks/default.js.map +1 -0
  26. package/dist/gvks/gateway.d.ts +29 -0
  27. package/dist/gvks/gateway.d.ts.map +1 -0
  28. package/dist/gvks/gateway.js.map +1 -0
  29. package/dist/gvks/index.d.ts.map +1 -0
  30. package/dist/gvks/index.js.map +1 -0
  31. package/dist/gvks/metrics.d.ts +17 -0
  32. package/dist/gvks/metrics.d.ts.map +1 -0
  33. package/dist/gvks/metrics.js.map +1 -0
  34. package/dist/gvks/networking.d.ts +13 -0
  35. package/dist/gvks/networking.d.ts.map +1 -0
  36. package/dist/gvks/networking.js.map +1 -0
  37. package/dist/gvks/rbac.d.ts +25 -0
  38. package/dist/gvks/rbac.d.ts.map +1 -0
  39. package/dist/gvks/rbac.js.map +1 -0
  40. package/dist/gvks/storage.d.ts +17 -0
  41. package/dist/gvks/storage.d.ts.map +1 -0
  42. package/dist/gvks/storage.js.map +1 -0
  43. package/dist/index.d.ts +2 -2
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +2 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/kinds.d.ts +2 -0
  48. package/dist/kinds.d.ts.map +1 -0
  49. package/dist/kinds.js +18 -0
  50. package/dist/kinds.js.map +1 -0
  51. package/dist/origins/file/file.d.ts +13 -14
  52. package/dist/origins/file/file.d.ts.map +1 -1
  53. package/dist/origins/file/file.js +14 -17
  54. package/dist/origins/file/file.js.map +1 -1
  55. package/dist/origins/file/index.d.ts +0 -1
  56. package/dist/origins/file/index.d.ts.map +1 -1
  57. package/dist/origins/file/index.js +0 -1
  58. package/dist/origins/file/index.js.map +1 -1
  59. package/dist/origins/file/section.d.ts +11 -11
  60. package/dist/origins/file/section.d.ts.map +1 -1
  61. package/dist/origins/file/section.js +15 -13
  62. package/dist/origins/file/section.js.map +1 -1
  63. package/dist/origins/world.d.ts +6 -5
  64. package/dist/origins/world.d.ts.map +1 -1
  65. package/dist/origins/world.js +9 -5
  66. package/dist/origins/world.js.map +1 -1
  67. package/dist/resources/annotations.d.ts +2 -0
  68. package/dist/resources/annotations.d.ts.map +1 -0
  69. package/dist/resources/{persistent/block-mode.js → annotations.js} +1 -1
  70. package/dist/resources/annotations.js.map +1 -0
  71. package/dist/resources/config/configmap.d.ts +7 -7
  72. package/dist/resources/config/configmap.d.ts.map +1 -1
  73. package/dist/resources/config/configmap.js +7 -6
  74. package/dist/resources/config/configmap.js.map +1 -1
  75. package/dist/resources/config/index.d.ts +0 -1
  76. package/dist/resources/config/index.d.ts.map +1 -1
  77. package/dist/resources/config/index.js +0 -1
  78. package/dist/resources/config/index.js.map +1 -1
  79. package/dist/resources/config/resolver.d.ts +2 -2
  80. package/dist/resources/config/resolver.d.ts.map +1 -1
  81. package/dist/resources/config/resolver.js +4 -3
  82. package/dist/resources/config/resolver.js.map +1 -1
  83. package/dist/resources/config/secret.d.ts +7 -14
  84. package/dist/resources/config/secret.d.ts.map +1 -1
  85. package/dist/resources/config/secret.js +6 -4
  86. package/dist/resources/config/secret.js.map +1 -1
  87. package/dist/resources/errors.d.ts +7 -0
  88. package/dist/resources/errors.d.ts.map +1 -0
  89. package/dist/resources/errors.js +12 -0
  90. package/dist/resources/errors.js.map +1 -0
  91. package/dist/resources/hostpath.d.ts +1 -1
  92. package/dist/resources/hostpath.d.ts.map +1 -1
  93. package/dist/resources/index.d.ts +2 -5
  94. package/dist/resources/index.d.ts.map +1 -1
  95. package/dist/resources/index.js +2 -5
  96. package/dist/resources/index.js.map +1 -1
  97. package/dist/resources/namespace/namespace.d.ts +7 -9
  98. package/dist/resources/namespace/namespace.d.ts.map +1 -1
  99. package/dist/resources/namespace/namespace.js +7 -4
  100. package/dist/resources/namespace/namespace.js.map +1 -1
  101. package/dist/resources/network/http-route/http-route.d.ts +19 -0
  102. package/dist/resources/network/http-route/http-route.d.ts.map +1 -0
  103. package/dist/resources/network/http-route/http-route.js +51 -0
  104. package/dist/resources/network/http-route/http-route.js.map +1 -0
  105. package/dist/resources/network/http-route/index.d.ts.map +1 -0
  106. package/dist/resources/network/http-route/index.js.map +1 -0
  107. package/dist/resources/network/index.d.ts +3 -0
  108. package/dist/resources/network/index.d.ts.map +1 -0
  109. package/dist/resources/network/index.js +19 -0
  110. package/dist/resources/network/index.js.map +1 -0
  111. package/dist/resources/network/service/index.d.ts.map +1 -0
  112. package/dist/resources/network/service/index.js.map +1 -0
  113. package/dist/resources/network/service/service-port.d.ts +12 -0
  114. package/dist/resources/network/service/service-port.d.ts.map +1 -0
  115. package/dist/resources/{service → network/service}/service-port.js +5 -5
  116. package/dist/resources/network/service/service-port.js.map +1 -0
  117. package/dist/resources/network/service/service.d.ts +46 -0
  118. package/dist/resources/network/service/service.d.ts.map +1 -0
  119. package/dist/resources/{service → network/service}/service.js +34 -22
  120. package/dist/resources/network/service/service.js.map +1 -0
  121. package/dist/resources/network/service/utils.d.ts +5 -0
  122. package/dist/resources/network/service/utils.d.ts.map +1 -0
  123. package/dist/resources/network/service/utils.js +22 -0
  124. package/dist/resources/network/service/utils.js.map +1 -0
  125. package/dist/resources/persistent/access-mode.d.ts +4 -7
  126. package/dist/resources/persistent/access-mode.d.ts.map +1 -1
  127. package/dist/resources/persistent/access-mode.js +20 -24
  128. package/dist/resources/persistent/access-mode.js.map +1 -1
  129. package/dist/resources/persistent/claim/pvc.d.ts +17 -20
  130. package/dist/resources/persistent/claim/pvc.d.ts.map +1 -1
  131. package/dist/resources/persistent/claim/pvc.js +22 -28
  132. package/dist/resources/persistent/claim/pvc.js.map +1 -1
  133. package/dist/resources/persistent/index.d.ts +1 -1
  134. package/dist/resources/persistent/index.d.ts.map +1 -1
  135. package/dist/resources/persistent/index.js +1 -1
  136. package/dist/resources/persistent/index.js.map +1 -1
  137. package/dist/resources/persistent/volume/parse-backend.d.ts +1 -1
  138. package/dist/resources/persistent/volume/parse-backend.js +3 -3
  139. package/dist/resources/persistent/volume/parse-backend.js.map +1 -1
  140. package/dist/resources/persistent/volume/pv.d.ts +23 -25
  141. package/dist/resources/persistent/volume/pv.d.ts.map +1 -1
  142. package/dist/resources/persistent/volume/pv.js +23 -29
  143. package/dist/resources/persistent/volume/pv.js.map +1 -1
  144. package/dist/resources/persistent/volume-mode.d.ts +2 -0
  145. package/dist/resources/persistent/volume-mode.d.ts.map +1 -0
  146. package/dist/resources/persistent/volume-mode.js +3 -0
  147. package/dist/resources/persistent/volume-mode.js.map +1 -0
  148. package/dist/resources/rbac/cluster-role-binding.d.ts +12 -12
  149. package/dist/resources/rbac/cluster-role-binding.d.ts.map +1 -1
  150. package/dist/resources/rbac/cluster-role-binding.js +12 -10
  151. package/dist/resources/rbac/cluster-role-binding.js.map +1 -1
  152. package/dist/resources/rbac/cluster-role.d.ts +6 -23
  153. package/dist/resources/rbac/cluster-role.d.ts.map +1 -1
  154. package/dist/resources/rbac/cluster-role.js +9 -18
  155. package/dist/resources/rbac/cluster-role.js.map +1 -1
  156. package/dist/resources/rbac/role-props.d.ts +20 -0
  157. package/dist/resources/rbac/role-props.d.ts.map +1 -0
  158. package/dist/resources/rbac/role-props.js +17 -0
  159. package/dist/resources/rbac/role-props.js.map +1 -0
  160. package/dist/resources/rbac/service-account.d.ts +8 -8
  161. package/dist/resources/rbac/service-account.d.ts.map +1 -1
  162. package/dist/resources/rbac/service-account.js +8 -6
  163. package/dist/resources/rbac/service-account.js.map +1 -1
  164. package/dist/resources/workload/cronjob/index.d.ts +21 -0
  165. package/dist/resources/workload/cronjob/index.d.ts.map +1 -0
  166. package/dist/resources/workload/cronjob/index.js +98 -0
  167. package/dist/resources/workload/cronjob/index.js.map +1 -0
  168. package/dist/resources/workload/daemonset/daemonset.d.ts +16 -0
  169. package/dist/resources/workload/daemonset/daemonset.d.ts.map +1 -0
  170. package/dist/resources/workload/daemonset/daemonset.js +117 -0
  171. package/dist/resources/workload/daemonset/daemonset.js.map +1 -0
  172. package/dist/resources/workload/daemonset/index.d.ts +2 -0
  173. package/dist/resources/workload/daemonset/index.d.ts.map +1 -0
  174. package/dist/resources/workload/daemonset/index.js +18 -0
  175. package/dist/resources/workload/daemonset/index.js.map +1 -0
  176. package/dist/resources/workload/daemonset/props.d.ts +15 -0
  177. package/dist/resources/workload/daemonset/props.d.ts.map +1 -0
  178. package/dist/resources/{pod/container/mounts.js → workload/daemonset/props.js} +1 -1
  179. package/dist/resources/workload/daemonset/props.js.map +1 -0
  180. package/dist/resources/workload/deployment/deployment.d.ts +16 -0
  181. package/dist/resources/workload/deployment/deployment.d.ts.map +1 -0
  182. package/dist/resources/{deployment → workload/deployment}/deployment.js +39 -34
  183. package/dist/resources/workload/deployment/deployment.js.map +1 -0
  184. package/dist/resources/workload/deployment/index.d.ts.map +1 -0
  185. package/dist/resources/workload/deployment/index.js.map +1 -0
  186. package/dist/resources/workload/deployment/props.d.ts +17 -0
  187. package/dist/resources/workload/deployment/props.d.ts.map +1 -0
  188. package/dist/{_type/prefix$.js → resources/workload/deployment/props.js} +1 -1
  189. package/dist/resources/workload/deployment/props.js.map +1 -0
  190. package/dist/resources/workload/index.d.ts +7 -0
  191. package/dist/resources/workload/index.d.ts.map +1 -0
  192. package/dist/resources/{pod → workload}/index.js +6 -3
  193. package/dist/resources/workload/index.js.map +1 -0
  194. package/dist/resources/workload/pod/container/container.d.ts +47 -0
  195. package/dist/resources/workload/pod/container/container.d.ts.map +1 -0
  196. package/dist/resources/{pod → workload/pod}/container/container.js +46 -38
  197. package/dist/resources/workload/pod/container/container.js.map +1 -0
  198. package/dist/resources/workload/pod/container/index.d.ts +3 -0
  199. package/dist/resources/workload/pod/container/index.d.ts.map +1 -0
  200. package/dist/resources/{pod → workload/pod}/container/index.js +1 -0
  201. package/dist/resources/workload/pod/container/index.js.map +1 -0
  202. package/dist/resources/workload/pod/container/mounts/device.d.ts +17 -0
  203. package/dist/resources/workload/pod/container/mounts/device.d.ts.map +1 -0
  204. package/dist/resources/workload/pod/container/mounts/device.js +29 -0
  205. package/dist/resources/workload/pod/container/mounts/device.js.map +1 -0
  206. package/dist/resources/workload/pod/container/mounts/volume.d.ts +21 -0
  207. package/dist/resources/workload/pod/container/mounts/volume.d.ts.map +1 -0
  208. package/dist/resources/{pod → workload/pod}/container/mounts/volume.js +9 -7
  209. package/dist/resources/workload/pod/container/mounts/volume.js.map +1 -0
  210. package/dist/resources/workload/pod/container/ref.d.ts +6 -0
  211. package/dist/resources/workload/pod/container/ref.d.ts.map +1 -0
  212. package/dist/{runner/exporter/meta.js → resources/workload/pod/container/ref.js} +1 -1
  213. package/dist/resources/workload/pod/container/ref.js.map +1 -0
  214. package/dist/resources/workload/pod/container/scope.d.ts +25 -0
  215. package/dist/resources/workload/pod/container/scope.d.ts.map +1 -0
  216. package/dist/resources/workload/pod/container/scope.js +50 -0
  217. package/dist/resources/workload/pod/container/scope.js.map +1 -0
  218. package/dist/resources/workload/pod/container/utils.d.ts +5 -0
  219. package/dist/resources/workload/pod/container/utils.d.ts.map +1 -0
  220. package/dist/resources/workload/pod/container/utils.js +18 -0
  221. package/dist/resources/workload/pod/container/utils.js.map +1 -0
  222. package/dist/resources/workload/pod/pod.d.ts +27 -0
  223. package/dist/resources/workload/pod/pod.d.ts.map +1 -0
  224. package/dist/resources/workload/pod/pod.js +78 -0
  225. package/dist/resources/workload/pod/pod.js.map +1 -0
  226. package/dist/resources/workload/pod/volume/devices.d.ts +24 -0
  227. package/dist/resources/workload/pod/volume/devices.d.ts.map +1 -0
  228. package/dist/resources/{pod → workload/pod}/volume/devices.js +11 -9
  229. package/dist/resources/workload/pod/volume/devices.js.map +1 -0
  230. package/dist/resources/workload/pod/volume/index.d.ts +3 -0
  231. package/dist/resources/workload/pod/volume/index.d.ts.map +1 -0
  232. package/dist/resources/workload/pod/volume/index.js +8 -0
  233. package/dist/resources/workload/pod/volume/index.js.map +1 -0
  234. package/dist/resources/workload/pod/volume/volumes.d.ts +74 -0
  235. package/dist/resources/workload/pod/volume/volumes.d.ts.map +1 -0
  236. package/dist/resources/workload/pod/volume/volumes.js +111 -0
  237. package/dist/resources/workload/pod/volume/volumes.js.map +1 -0
  238. package/dist/resources/workload/statefulset/index.d.ts +2 -0
  239. package/dist/resources/workload/statefulset/index.d.ts.map +1 -0
  240. package/dist/resources/workload/statefulset/index.js +18 -0
  241. package/dist/resources/workload/statefulset/index.js.map +1 -0
  242. package/dist/resources/workload/statefulset/props.d.ts +24 -0
  243. package/dist/resources/workload/statefulset/props.d.ts.map +1 -0
  244. package/dist/{runner/proverbs.js → resources/workload/statefulset/props.js} +1 -1
  245. package/dist/resources/workload/statefulset/props.js.map +1 -0
  246. package/dist/resources/workload/statefulset/scope.d.ts +13 -0
  247. package/dist/resources/workload/statefulset/scope.d.ts.map +1 -0
  248. package/dist/resources/workload/statefulset/scope.js +26 -0
  249. package/dist/resources/workload/statefulset/scope.js.map +1 -0
  250. package/dist/resources/workload/statefulset/statefulset.d.ts +22 -0
  251. package/dist/resources/workload/statefulset/statefulset.d.ts.map +1 -0
  252. package/dist/resources/workload/statefulset/statefulset.js +110 -0
  253. package/dist/resources/workload/statefulset/statefulset.js.map +1 -0
  254. package/dist/resources/workload/util.d.ts +4 -0
  255. package/dist/resources/workload/util.d.ts.map +1 -0
  256. package/dist/resources/workload/util.js +10 -0
  257. package/dist/resources/workload/util.js.map +1 -0
  258. package/dist/resources/workload/workload-ref.d.ts +5 -0
  259. package/dist/resources/workload/workload-ref.d.ts.map +1 -0
  260. package/dist/resources/workload/workload-ref.js +3 -0
  261. package/dist/resources/workload/workload-ref.js.map +1 -0
  262. package/dist/runner/{exporter → engine}/assembler.d.ts +15 -14
  263. package/dist/runner/engine/assembler.d.ts.map +1 -0
  264. package/dist/runner/{exporter → engine}/assembler.js +63 -40
  265. package/dist/runner/engine/assembler.js.map +1 -0
  266. package/dist/runner/engine/index.d.ts +3 -0
  267. package/dist/runner/engine/index.d.ts.map +1 -0
  268. package/dist/runner/{exporter → engine}/index.js +1 -1
  269. package/dist/runner/engine/index.js.map +1 -0
  270. package/dist/runner/engine/loader.d.ts +19 -0
  271. package/dist/runner/engine/loader.d.ts.map +1 -0
  272. package/dist/runner/{exporter → engine}/loader.js +18 -19
  273. package/dist/runner/engine/loader.js.map +1 -0
  274. package/dist/runner/{exporter → engine}/manifester.d.ts +8 -8
  275. package/dist/runner/engine/manifester.d.ts.map +1 -0
  276. package/dist/runner/{exporter → engine}/manifester.js +4 -25
  277. package/dist/runner/engine/manifester.js.map +1 -0
  278. package/dist/runner/{exporter → engine}/saver.d.ts +5 -4
  279. package/dist/runner/engine/saver.d.ts.map +1 -0
  280. package/dist/runner/{exporter → engine}/saver.js +5 -10
  281. package/dist/runner/engine/saver.js.map +1 -0
  282. package/dist/runner/engine/serializer.d.ts +20 -0
  283. package/dist/runner/engine/serializer.d.ts.map +1 -0
  284. package/dist/runner/{exporter → engine}/serializer.js +8 -17
  285. package/dist/runner/engine/serializer.js.map +1 -0
  286. package/dist/runner/{exporter → engine}/stage.d.ts +2 -2
  287. package/dist/runner/engine/stage.d.ts.map +1 -0
  288. package/dist/runner/{exporter → engine}/stage.js +10 -10
  289. package/dist/runner/engine/stage.js.map +1 -0
  290. package/dist/runner/error.d.ts +7 -0
  291. package/dist/runner/error.d.ts.map +1 -0
  292. package/dist/runner/error.js +12 -0
  293. package/dist/runner/error.js.map +1 -0
  294. package/dist/runner/index.d.ts +1 -1
  295. package/dist/runner/index.d.ts.map +1 -1
  296. package/dist/runner/index.js +3 -15
  297. package/dist/runner/index.js.map +1 -1
  298. package/dist/runner/runner.d.ts +8 -6
  299. package/dist/runner/runner.d.ts.map +1 -1
  300. package/dist/runner/runner.js +27 -22
  301. package/dist/runner/runner.js.map +1 -1
  302. package/dist/runner/viz/progress-shower.d.ts +11 -0
  303. package/dist/runner/viz/progress-shower.d.ts.map +1 -0
  304. package/dist/runner/viz/progress-shower.js +63 -0
  305. package/dist/runner/viz/progress-shower.js.map +1 -0
  306. package/dist/runner/{summarizer.d.ts → viz/summarizer.d.ts} +5 -5
  307. package/dist/runner/viz/summarizer.d.ts.map +1 -0
  308. package/dist/runner/{summarizer.js → viz/summarizer.js} +9 -10
  309. package/dist/runner/viz/summarizer.js.map +1 -0
  310. package/dist/util/merge.d.ts +2 -0
  311. package/dist/util/merge.d.ts.map +1 -0
  312. package/dist/util/merge.js +3 -0
  313. package/dist/util/merge.js.map +1 -0
  314. package/package.json +12 -12
  315. package/src/common-world.ts +10 -11
  316. package/src/env/env.ts +33 -35
  317. package/src/env/error.ts +7 -0
  318. package/src/env/index.ts +1 -1
  319. package/src/env/types.ts +5 -5
  320. package/src/index.ts +2 -2
  321. package/src/kinds.ts +1 -0
  322. package/src/origins/file/file.ts +25 -33
  323. package/src/origins/file/index.ts +0 -1
  324. package/src/origins/file/section.ts +17 -16
  325. package/src/origins/world.ts +19 -13
  326. package/src/resources/config/configmap.ts +14 -13
  327. package/src/resources/config/index.ts +0 -1
  328. package/src/resources/config/resolver.ts +8 -5
  329. package/src/resources/config/secret.ts +11 -7
  330. package/src/resources/errors.ts +7 -0
  331. package/src/resources/hostpath.ts +1 -1
  332. package/src/resources/index.ts +2 -5
  333. package/src/resources/namespace/namespace.ts +11 -8
  334. package/src/resources/network/http-route/http-route.ts +62 -0
  335. package/src/resources/network/index.ts +2 -0
  336. package/src/resources/network/service/service-port.ts +17 -0
  337. package/src/resources/network/service/service.ts +135 -0
  338. package/src/resources/network/service/utils.ts +20 -0
  339. package/src/resources/persistent/access-mode.ts +20 -24
  340. package/src/resources/persistent/claim/pvc.ts +41 -43
  341. package/src/resources/persistent/index.ts +1 -1
  342. package/src/resources/persistent/volume/parse-backend.ts +3 -3
  343. package/src/resources/persistent/volume/pv.ts +55 -51
  344. package/src/resources/persistent/volume-mode.ts +1 -0
  345. package/src/resources/rbac/cluster-role-binding.ts +19 -17
  346. package/src/resources/rbac/cluster-role.ts +13 -62
  347. package/src/resources/rbac/role-props.ts +26 -0
  348. package/src/resources/rbac/service-account.ts +14 -12
  349. package/src/resources/workload/cronjob/index.ts +74 -0
  350. package/src/resources/workload/daemonset/daemonset.ts +82 -0
  351. package/src/resources/workload/daemonset/index.ts +1 -0
  352. package/src/resources/workload/daemonset/props.ts +19 -0
  353. package/src/resources/workload/deployment/deployment.ts +79 -0
  354. package/src/resources/workload/deployment/props.ts +19 -0
  355. package/src/resources/workload/index.ts +6 -0
  356. package/src/resources/workload/pod/container/container.ts +227 -0
  357. package/src/resources/{pod → workload/pod}/container/index.ts +1 -0
  358. package/src/resources/workload/pod/container/mounts/device.ts +41 -0
  359. package/src/resources/workload/pod/container/mounts/volume.ts +46 -0
  360. package/src/resources/workload/pod/container/ref.ts +6 -0
  361. package/src/resources/workload/pod/container/scope.ts +83 -0
  362. package/src/resources/workload/pod/container/utils.ts +16 -0
  363. package/src/resources/workload/pod/pod.ts +96 -0
  364. package/src/resources/workload/pod/volume/devices.ts +56 -0
  365. package/src/resources/workload/pod/volume/index.ts +2 -0
  366. package/src/resources/workload/pod/volume/volumes.ts +203 -0
  367. package/src/resources/workload/statefulset/index.ts +1 -0
  368. package/src/resources/workload/statefulset/props.ts +34 -0
  369. package/src/resources/workload/statefulset/scope.ts +25 -0
  370. package/src/resources/workload/statefulset/statefulset.ts +137 -0
  371. package/src/resources/workload/util.ts +8 -0
  372. package/src/resources/workload/workload-ref.ts +5 -0
  373. package/src/runner/{exporter → engine}/assembler.ts +83 -54
  374. package/src/runner/engine/index.ts +2 -0
  375. package/src/runner/{exporter → engine}/loader.ts +32 -29
  376. package/src/runner/{exporter → engine}/manifester.ts +20 -32
  377. package/src/runner/{exporter → engine}/saver.ts +8 -9
  378. package/src/runner/{exporter → engine}/serializer.ts +21 -20
  379. package/src/runner/{exporter → engine}/stage.ts +5 -5
  380. package/src/runner/error.ts +7 -0
  381. package/src/runner/index.ts +1 -1
  382. package/src/runner/runner.ts +44 -29
  383. package/src/runner/{exporter → viz}/progress-shower.ts +21 -21
  384. package/src/runner/{summarizer.ts → viz/summarizer.ts} +21 -21
  385. package/dist/_type/prefix$.d.ts +0 -4
  386. package/dist/_type/prefix$.d.ts.map +0 -1
  387. package/dist/_type/prefix$.js.map +0 -1
  388. package/dist/kinds/apps.d.ts +0 -29
  389. package/dist/kinds/apps.d.ts.map +0 -1
  390. package/dist/kinds/apps.js.map +0 -1
  391. package/dist/kinds/batch.d.ts +0 -17
  392. package/dist/kinds/batch.d.ts.map +0 -1
  393. package/dist/kinds/batch.js.map +0 -1
  394. package/dist/kinds/default.d.ts +0 -73
  395. package/dist/kinds/default.d.ts.map +0 -1
  396. package/dist/kinds/default.js.map +0 -1
  397. package/dist/kinds/gateway.d.ts +0 -29
  398. package/dist/kinds/gateway.d.ts.map +0 -1
  399. package/dist/kinds/gateway.js.map +0 -1
  400. package/dist/kinds/index.d.ts.map +0 -1
  401. package/dist/kinds/index.js.map +0 -1
  402. package/dist/kinds/metrics.d.ts +0 -17
  403. package/dist/kinds/metrics.d.ts.map +0 -1
  404. package/dist/kinds/metrics.js.map +0 -1
  405. package/dist/kinds/networking.d.ts +0 -13
  406. package/dist/kinds/networking.d.ts.map +0 -1
  407. package/dist/kinds/networking.js.map +0 -1
  408. package/dist/kinds/rbac.d.ts +0 -25
  409. package/dist/kinds/rbac.d.ts.map +0 -1
  410. package/dist/kinds/rbac.js.map +0 -1
  411. package/dist/kinds/storage.d.ts +0 -17
  412. package/dist/kinds/storage.d.ts.map +0 -1
  413. package/dist/kinds/storage.js.map +0 -1
  414. package/dist/origins/file/modifier.d.ts +0 -10
  415. package/dist/origins/file/modifier.d.ts.map +0 -1
  416. package/dist/origins/file/modifier.js +0 -21
  417. package/dist/origins/file/modifier.js.map +0 -1
  418. package/dist/resources/config/config-keys-of.d.ts +0 -2
  419. package/dist/resources/config/config-keys-of.d.ts.map +0 -1
  420. package/dist/resources/config/config-keys-of.js +0 -3
  421. package/dist/resources/config/config-keys-of.js.map +0 -1
  422. package/dist/resources/config/key-ref.d.ts +0 -7
  423. package/dist/resources/config/key-ref.d.ts.map +0 -1
  424. package/dist/resources/config/key-ref.js +0 -13
  425. package/dist/resources/config/key-ref.js.map +0 -1
  426. package/dist/resources/cronjob/index.d.ts +0 -20
  427. package/dist/resources/cronjob/index.d.ts.map +0 -1
  428. package/dist/resources/cronjob/index.js +0 -37
  429. package/dist/resources/cronjob/index.js.map +0 -1
  430. package/dist/resources/deployment/deployment.d.ts +0 -30
  431. package/dist/resources/deployment/deployment.d.ts.map +0 -1
  432. package/dist/resources/deployment/deployment.js.map +0 -1
  433. package/dist/resources/deployment/index.d.ts.map +0 -1
  434. package/dist/resources/deployment/index.js.map +0 -1
  435. package/dist/resources/http-route/http-route.d.ts +0 -21
  436. package/dist/resources/http-route/http-route.d.ts.map +0 -1
  437. package/dist/resources/http-route/http-route.js +0 -45
  438. package/dist/resources/http-route/http-route.js.map +0 -1
  439. package/dist/resources/http-route/index.d.ts.map +0 -1
  440. package/dist/resources/http-route/index.js.map +0 -1
  441. package/dist/resources/persistent/block-mode.d.ts +0 -2
  442. package/dist/resources/persistent/block-mode.d.ts.map +0 -1
  443. package/dist/resources/persistent/block-mode.js.map +0 -1
  444. package/dist/resources/pod/container/container.d.ts +0 -47
  445. package/dist/resources/pod/container/container.d.ts.map +0 -1
  446. package/dist/resources/pod/container/container.js.map +0 -1
  447. package/dist/resources/pod/container/index.d.ts +0 -2
  448. package/dist/resources/pod/container/index.d.ts.map +0 -1
  449. package/dist/resources/pod/container/index.js.map +0 -1
  450. package/dist/resources/pod/container/mounts/device.d.ts +0 -17
  451. package/dist/resources/pod/container/mounts/device.d.ts.map +0 -1
  452. package/dist/resources/pod/container/mounts/device.js +0 -27
  453. package/dist/resources/pod/container/mounts/device.js.map +0 -1
  454. package/dist/resources/pod/container/mounts/volume.d.ts +0 -21
  455. package/dist/resources/pod/container/mounts/volume.d.ts.map +0 -1
  456. package/dist/resources/pod/container/mounts/volume.js.map +0 -1
  457. package/dist/resources/pod/container/mounts.d.ts +0 -3
  458. package/dist/resources/pod/container/mounts.d.ts.map +0 -1
  459. package/dist/resources/pod/container/mounts.js.map +0 -1
  460. package/dist/resources/pod/index.d.ts +0 -4
  461. package/dist/resources/pod/index.d.ts.map +0 -1
  462. package/dist/resources/pod/index.js.map +0 -1
  463. package/dist/resources/pod/pod-template.d.ts +0 -54
  464. package/dist/resources/pod/pod-template.d.ts.map +0 -1
  465. package/dist/resources/pod/pod-template.js +0 -119
  466. package/dist/resources/pod/pod-template.js.map +0 -1
  467. package/dist/resources/pod/volume/devices.d.ts +0 -24
  468. package/dist/resources/pod/volume/devices.d.ts.map +0 -1
  469. package/dist/resources/pod/volume/devices.js.map +0 -1
  470. package/dist/resources/pod/volume/index.d.ts +0 -3
  471. package/dist/resources/pod/volume/index.d.ts.map +0 -1
  472. package/dist/resources/pod/volume/index.js +0 -8
  473. package/dist/resources/pod/volume/index.js.map +0 -1
  474. package/dist/resources/pod/volume/volumes.d.ts +0 -66
  475. package/dist/resources/pod/volume/volumes.d.ts.map +0 -1
  476. package/dist/resources/pod/volume/volumes.js +0 -97
  477. package/dist/resources/pod/volume/volumes.js.map +0 -1
  478. package/dist/resources/service/index.d.ts.map +0 -1
  479. package/dist/resources/service/index.js.map +0 -1
  480. package/dist/resources/service/service-port.d.ts +0 -12
  481. package/dist/resources/service/service-port.d.ts.map +0 -1
  482. package/dist/resources/service/service-port.js.map +0 -1
  483. package/dist/resources/service/service.d.ts +0 -39
  484. package/dist/resources/service/service.d.ts.map +0 -1
  485. package/dist/resources/service/service.js.map +0 -1
  486. package/dist/resources/utils/adapters.d.ts +0 -7
  487. package/dist/resources/utils/adapters.d.ts.map +0 -1
  488. package/dist/resources/utils/adapters.js +0 -32
  489. package/dist/resources/utils/adapters.js.map +0 -1
  490. package/dist/runner/exporter/assembler.d.ts.map +0 -1
  491. package/dist/runner/exporter/assembler.js.map +0 -1
  492. package/dist/runner/exporter/index.d.ts +0 -3
  493. package/dist/runner/exporter/index.d.ts.map +0 -1
  494. package/dist/runner/exporter/index.js.map +0 -1
  495. package/dist/runner/exporter/loader.d.ts +0 -18
  496. package/dist/runner/exporter/loader.d.ts.map +0 -1
  497. package/dist/runner/exporter/loader.js.map +0 -1
  498. package/dist/runner/exporter/manifester.d.ts.map +0 -1
  499. package/dist/runner/exporter/manifester.js.map +0 -1
  500. package/dist/runner/exporter/meta.d.ts +0 -2
  501. package/dist/runner/exporter/meta.d.ts.map +0 -1
  502. package/dist/runner/exporter/meta.js.map +0 -1
  503. package/dist/runner/exporter/progress-shower.d.ts +0 -11
  504. package/dist/runner/exporter/progress-shower.d.ts.map +0 -1
  505. package/dist/runner/exporter/progress-shower.js +0 -69
  506. package/dist/runner/exporter/progress-shower.js.map +0 -1
  507. package/dist/runner/exporter/saver.d.ts.map +0 -1
  508. package/dist/runner/exporter/saver.js.map +0 -1
  509. package/dist/runner/exporter/serializer.d.ts +0 -19
  510. package/dist/runner/exporter/serializer.d.ts.map +0 -1
  511. package/dist/runner/exporter/serializer.js.map +0 -1
  512. package/dist/runner/exporter/stage.d.ts.map +0 -1
  513. package/dist/runner/exporter/stage.js.map +0 -1
  514. package/dist/runner/exporter/validator.d.ts +0 -16
  515. package/dist/runner/exporter/validator.d.ts.map +0 -1
  516. package/dist/runner/exporter/validator.js +0 -12
  517. package/dist/runner/exporter/validator.js.map +0 -1
  518. package/dist/runner/paths.d.ts +0 -2
  519. package/dist/runner/paths.d.ts.map +0 -1
  520. package/dist/runner/paths.js +0 -5
  521. package/dist/runner/paths.js.map +0 -1
  522. package/dist/runner/proverbs.d.ts +0 -2
  523. package/dist/runner/proverbs.d.ts.map +0 -1
  524. package/dist/runner/proverbs.js.map +0 -1
  525. package/dist/runner/silly/proverbs.d.ts +0 -7
  526. package/dist/runner/silly/proverbs.d.ts.map +0 -1
  527. package/dist/runner/silly/proverbs.js +0 -21
  528. package/dist/runner/silly/proverbs.js.map +0 -1
  529. package/dist/runner/summarizer.d.ts.map +0 -1
  530. package/dist/runner/summarizer.js.map +0 -1
  531. package/proverbs.txt +0 -20
  532. package/src/_type/prefix$.ts +0 -3
  533. package/src/origins/file/modifier.ts +0 -21
  534. package/src/resources/config/key-ref.ts +0 -8
  535. package/src/resources/cronjob/index.ts +0 -50
  536. package/src/resources/deployment/deployment.ts +0 -95
  537. package/src/resources/http-route/http-route.ts +0 -60
  538. package/src/resources/persistent/block-mode.ts +0 -1
  539. package/src/resources/pod/container/container.ts +0 -215
  540. package/src/resources/pod/container/mounts/device.ts +0 -33
  541. package/src/resources/pod/container/mounts/volume.ts +0 -38
  542. package/src/resources/pod/container/mounts.ts +0 -2
  543. package/src/resources/pod/index.ts +0 -3
  544. package/src/resources/pod/pod-template.ts +0 -166
  545. package/src/resources/pod/volume/devices.ts +0 -55
  546. package/src/resources/pod/volume/index.ts +0 -2
  547. package/src/resources/pod/volume/volumes.ts +0 -170
  548. package/src/resources/service/service-port.ts +0 -17
  549. package/src/resources/service/service.ts +0 -101
  550. package/src/resources/utils/adapters.ts +0 -29
  551. package/src/runner/exporter/index.ts +0 -2
  552. package/src/runner/exporter/validator.ts +0 -13
  553. package/src/runner/paths.ts +0 -1
  554. package/src/runner/proverbs.ts +0 -0
  555. package/src/runner/silly/proverbs.ts +0 -14
  556. /package/dist/{kinds → gvks}/apps.js +0 -0
  557. /package/dist/{kinds → gvks}/batch.js +0 -0
  558. /package/dist/{kinds → gvks}/default.js +0 -0
  559. /package/dist/{kinds → gvks}/gateway.js +0 -0
  560. /package/dist/{kinds → gvks}/index.d.ts +0 -0
  561. /package/dist/{kinds → gvks}/index.js +0 -0
  562. /package/dist/{kinds → gvks}/metrics.js +0 -0
  563. /package/dist/{kinds → gvks}/networking.js +0 -0
  564. /package/dist/{kinds → gvks}/rbac.js +0 -0
  565. /package/dist/{kinds → gvks}/storage.js +0 -0
  566. /package/dist/resources/{http-route → network/http-route}/index.d.ts +0 -0
  567. /package/dist/resources/{http-route → network/http-route}/index.js +0 -0
  568. /package/dist/resources/{service → network/service}/index.d.ts +0 -0
  569. /package/dist/resources/{service → network/service}/index.js +0 -0
  570. /package/dist/resources/{deployment → workload/deployment}/index.d.ts +0 -0
  571. /package/dist/resources/{deployment → workload/deployment}/index.js +0 -0
  572. /package/src/{kinds → gvks}/apps.ts +0 -0
  573. /package/src/{kinds → gvks}/batch.ts +0 -0
  574. /package/src/{kinds → gvks}/default.ts +0 -0
  575. /package/src/{kinds → gvks}/gateway.ts +0 -0
  576. /package/src/{kinds → gvks}/index.ts +0 -0
  577. /package/src/{kinds → gvks}/metrics.ts +0 -0
  578. /package/src/{kinds → gvks}/networking.ts +0 -0
  579. /package/src/{kinds → gvks}/rbac.ts +0 -0
  580. /package/src/{kinds → gvks}/storage.ts +0 -0
  581. /package/src/resources/{config/config-keys-of.ts → annotations.ts} +0 -0
  582. /package/src/resources/{http-route → network/http-route}/index.ts +0 -0
  583. /package/src/resources/{service → network/service}/index.ts +0 -0
  584. /package/src/resources/{deployment → workload/deployment}/index.ts +0 -0
  585. /package/src/{runner/exporter/meta.ts → util/merge.ts} +0 -0
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatefulSet = void 0;
4
+ const instruments_1 = require("@k8ts/instruments");
5
+ const doddle_1 = require("doddle");
6
+ const lodash_1 = require("lodash");
7
+ const __1 = require("../../..");
8
+ const apps_1 = require("../../../gvks/apps");
9
+ const errors_1 = require("../../errors");
10
+ const network_1 = require("../../network");
11
+ const pod_1 = require("../pod/pod");
12
+ const util_1 = require("../util");
13
+ const scope_1 = require("./scope");
14
+ class StatefulSet extends instruments_1.K8sResource {
15
+ _template = new instruments_1.TemplateOrigin(`${this.ident.name}_template`, {
16
+ owner: this
17
+ });
18
+ Service = new network_1.Service(this.props.$service.name, {
19
+ ...this.props.$service,
20
+ $backend: this,
21
+ $frontend: {
22
+ type: "Headless"
23
+ }
24
+ }, {
25
+ metadata: {
26
+ "^k8ts.org/auto-created-by": this.__entity_id__
27
+ }
28
+ });
29
+ get kind() {
30
+ return apps_1.apps.v1.StatefulSet._;
31
+ }
32
+ __needs__() {
33
+ return {
34
+ service: this.Service
35
+ };
36
+ }
37
+ get selectorLabels() {
38
+ return (0, util_1.createSelectionMetadata)(this);
39
+ }
40
+ _podTemplate = (0, doddle_1.doddle)(() => {
41
+ const self = this;
42
+ const wrappedContainers = (podScope) => {
43
+ return this.props.$template.containers$(new scope_1.StatefulSet_Scope(podScope, self._template));
44
+ };
45
+ const resource = new pod_1.Pod(`${self.ident.name}`, {
46
+ ...self.props.$template,
47
+ containers$: wrappedContainers
48
+ }, {
49
+ origins: {
50
+ own: self._template,
51
+ subscope: self["__origin__"]
52
+ },
53
+ metadata: this.selectorLabels
54
+ });
55
+ return resource;
56
+ });
57
+ __kids__() {
58
+ this._podTemplate.pull();
59
+ return [...this.PvcTemplates, this.PodTemplate];
60
+ }
61
+ async __body__() {
62
+ const self = this;
63
+ const template = await self.PodTemplate["__manifest__"]();
64
+ const noKindFields = (0, lodash_1.omit)(template, ["kind", "apiVersion"]);
65
+ const spec = {
66
+ replicas: self.props.$replicas,
67
+ selector: {
68
+ matchLabels: this.selectorLabels.labels
69
+ },
70
+ serviceName: self.Service.ident.name,
71
+ template: noKindFields,
72
+ volumeClaimTemplates: await Promise.all((0, doddle_1.seq)(self.PvcTemplates).map(pvc => pvc["__manifest__"]())),
73
+ updateStrategy: self._updateStrategy
74
+ };
75
+ const spec2 = (0, lodash_1.merge)(spec, self.props.$$manifest);
76
+ return {
77
+ spec: spec2
78
+ };
79
+ }
80
+ get _updateStrategy() {
81
+ const strategy = this.props.$updateStrategy;
82
+ if (!strategy) {
83
+ return undefined;
84
+ }
85
+ if (strategy.type === "OnDelete") {
86
+ return { type: "OnDelete" };
87
+ }
88
+ if (strategy.type === "RollingUpdate") {
89
+ return {
90
+ type: "RollingUpdate",
91
+ rollingUpdate: (0, lodash_1.omit)(strategy, "type")
92
+ };
93
+ }
94
+ throw new errors_1.K8tsResourceError(`Invalid update strategy type: ${strategy}`);
95
+ }
96
+ get PodTemplate() {
97
+ return this._podTemplate.pull();
98
+ }
99
+ get PvcTemplates() {
100
+ this._podTemplate.pull();
101
+ return (0, doddle_1.seq)(this._template.resources)
102
+ .filter(x => x.is(__1.Pvc))
103
+ .toIterable();
104
+ }
105
+ get ports() {
106
+ return this.PodTemplate.ports;
107
+ }
108
+ }
109
+ exports.StatefulSet = StatefulSet;
110
+ //# sourceMappingURL=statefulset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statefulset.js","sourceRoot":"","sources":["../../../../src/resources/workload/statefulset/statefulset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { K8sResource } from "@k8ts/instruments";
2
+ import { Metadata } from "@k8ts/metadata";
3
+ export declare function createSelectionMetadata(r: K8sResource): Metadata;
4
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/resources/workload/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,WAAW,YAIrD"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSelectionMetadata = createSelectionMetadata;
4
+ const metadata_1 = require("@k8ts/metadata");
5
+ function createSelectionMetadata(r) {
6
+ return new metadata_1.Metadata({
7
+ "%k8ts.org/owner": r["__entity_id__"]
8
+ });
9
+ }
10
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/resources/workload/util.ts"],"names":[],"mappings":";;AAGA,0DAIC;AAND,6CAAyC;AAEzC,SAAgB,uBAAuB,CAAC,CAAc;IAClD,OAAO,IAAI,mBAAQ,CAAC;QAChB,iBAAiB,EAAE,CAAC,CAAC,eAAe,CAAC;KACxC,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { PortExports, ResourceRef } from "@k8ts/instruments";
2
+ export type Workload_Ref<Ports extends string> = ResourceRef & {
3
+ ports: PortExports<Ports>;
4
+ };
5
+ //# sourceMappingURL=workload-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workload-ref.d.ts","sourceRoot":"","sources":["../../../src/resources/workload/workload-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEjE,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,MAAM,IAAI,WAAW,GAAG;IAC3D,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAA;CAC5B,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=workload-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workload-ref.js","sourceRoot":"","sources":["../../../src/resources/workload/workload-ref.ts"],"names":[],"mappings":""}
@@ -1,25 +1,28 @@
1
- import { OriginNode, type Origin_Exporter } from "@k8ts/instruments";
2
- import { Meta } from "@k8ts/metadata";
3
- import Emittery from "emittery";
4
- import { type Assembler_RscLoaderEvents } from "./loader";
1
+ import { OriginVertex, type ExporterOrigin } from "@k8ts/instruments";
2
+ import { Metadata, type Metadata_Input } from "@k8ts/metadata";
3
+ import { type AssemblerRscLoaderEvents } from "./loader";
5
4
  import { NodeManifest, type ManifesterEventsTable } from "./manifester";
6
5
  import { type ManifestSaverEventsTable } from "./saver";
7
6
  import { type SerializerEventsTable } from "./serializer";
8
- import { ValidatorEventsTable } from "./validator";
9
- export declare class Assembler extends Emittery<AssemblerEventsTable> {
7
+ export declare const assemblerEventNames: (keyof AssemblerEventsTable)[];
8
+ export declare class Assembler {
10
9
  private readonly _options;
10
+ private _emitter;
11
11
  constructor(_options: AssemblerOptions);
12
- assemble(inFiles: Iterable<Origin_Exporter>): Promise<AssembledResult>;
12
+ on<Name extends keyof AssemblerEventsTable>(event: Name, listener: (payload: AssemblerEventsTable[Name]) => void): this;
13
+ onAny(handler: <Name extends keyof AssemblerEventsTable>(name: Name, payload: AssemblerEventsTable[Name]) => void): this;
14
+ private _attachProductionAnnotations;
15
+ assemble(inFiles: Iterable<ExporterOrigin>): Promise<AssembledResult>;
13
16
  }
14
17
  export interface FileNodes {
15
- file: OriginNode;
18
+ file: OriginVertex;
16
19
  resources: NodeManifest[];
17
20
  }
18
21
  export interface Artifact extends NodeManifest {
19
22
  yaml: string;
20
23
  }
21
24
  export interface AssembledFile {
22
- file: OriginNode;
25
+ file: OriginVertex;
23
26
  path: string;
24
27
  filename: string;
25
28
  bytes: number;
@@ -30,16 +33,14 @@ export interface AssembledResult {
30
33
  options: AssemblerOptions;
31
34
  }
32
35
  export interface AssemblerOptions {
36
+ displayCwd?: string;
33
37
  cwd?: string;
34
38
  printOptions?: boolean;
35
39
  outdir: string;
36
- meta?: Omit<Meta.Input, "name" | "namespace"> | Meta;
40
+ metadata?: Omit<Metadata_Input, "name" | "namespace"> | Metadata;
37
41
  }
38
42
  export type AssemblyStage = "loading" | "validating" | "manifesting" | "serializing" | "saving" | "start" | "reporting" | "done" | "gathering";
39
- export interface AssemblerEventsTable extends ManifestSaverEventsTable, SerializerEventsTable, ManifesterEventsTable, Assembler_RscLoaderEvents, ValidatorEventsTable {
40
- ["received-file"]: {
41
- file: OriginNode;
42
- };
43
+ export interface AssemblerEventsTable extends ManifestSaverEventsTable, SerializerEventsTable, ManifesterEventsTable, AssemblerRscLoaderEvents {
43
44
  ["stage"]: {
44
45
  stage: AssemblyStage;
45
46
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../../src/runner/engine/assembler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAuB,MAAM,mBAAmB,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAM9D,OAAO,EAAyB,KAAK,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAC/E,OAAO,EAAqB,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAC1F,OAAO,EAAgB,KAAK,wBAAwB,EAAE,MAAM,SAAS,CAAA;AACrE,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEjF,eAAO,MAAM,mBAAmB,gCAU5B,CAAA;AACJ,qBAAa,SAAS;IAEN,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,OAAO,CAAC,QAAQ,CAAyD;gBAC5C,QAAQ,EAAE,gBAAgB;IAEvD,EAAE,CAAC,IAAI,SAAS,MAAM,oBAAoB,EACtC,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,IAAI;IAM3D,KAAK,CACD,OAAO,EAAE,CAAC,IAAI,SAAS,MAAM,oBAAoB,EAC7C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAClC,IAAI;IASb,OAAO,CAAC,4BAA4B;IAS9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC;CAyGnD;AACD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,YAAY,EAAE,CAAA;CAC5B;AACD,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC1C,IAAI,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,QAAQ,EAAE,CAAA;CACxB;AACD,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,OAAO,EAAE,gBAAgB,CAAA;CAC5B;AACD,MAAM,WAAW,gBAAgB;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,QAAQ,CAAA;CACnE;AACD,MAAM,MAAM,aAAa,GACnB,SAAS,GACT,YAAY,GACZ,aAAa,GACb,aAAa,GACb,QAAQ,GACR,OAAO,GACP,WAAW,GACX,MAAM,GACN,WAAW,CAAA;AACjB,MAAM,WAAW,oBACb,SAAQ,wBAAwB,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB;IAC5B,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,aAAa,CAAA;KAAE,CAAA;CACtC;AACD,MAAM,MAAM,iBAAiB,GAAG;KAC3B,CAAC,IAAI,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG;QACzD,IAAI,EAAE,CAAC,CAAA;KACV;CACJ,CAAC,MAAM,oBAAoB,CAAC,CAAA"}
@@ -3,65 +3,95 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Assembler = void 0;
6
+ exports.Assembler = exports.assemblerEventNames = void 0;
7
7
  const doddle_1 = require("doddle");
8
- const emittery_1 = __importDefault(require("emittery"));
8
+ const eventemitter3_1 = __importDefault(require("eventemitter3"));
9
9
  const lodash_1 = require("lodash");
10
+ const path_1 = __importDefault(require("path"));
11
+ const version_1 = require("../../version");
10
12
  const loader_1 = require("./loader");
11
13
  const manifester_1 = require("./manifester");
12
14
  const saver_1 = require("./saver");
13
15
  const serializer_1 = require("./serializer");
14
- const validator_1 = require("./validator");
15
- class Assembler extends emittery_1.default {
16
+ exports.assemblerEventNames = (() => {
17
+ const rec = {
18
+ purge: true,
19
+ stage: true,
20
+ load: true,
21
+ manifest: true,
22
+ serialize: true,
23
+ save: true
24
+ };
25
+ return Object.keys(rec);
26
+ })();
27
+ class Assembler {
16
28
  _options;
29
+ _emitter = new eventemitter3_1.default();
17
30
  constructor(_options) {
18
- super();
19
31
  this._options = _options;
20
32
  }
33
+ on(event, listener) {
34
+ this._emitter.on(event, listener);
35
+ return this;
36
+ }
37
+ onAny(handler) {
38
+ for (const eventName of exports.assemblerEventNames) {
39
+ this._emitter.on(eventName, (payload) => {
40
+ handler(eventName, payload);
41
+ });
42
+ }
43
+ return this;
44
+ }
45
+ _attachProductionAnnotations(resource) {
46
+ const loc = resource.trace.format({
47
+ cwd: this._options.displayCwd || this._options.cwd
48
+ });
49
+ resource.metadata.add(`build.k8ts.org/`, {
50
+ "^constructed-at": loc,
51
+ "^produced-by": `k8ts@${version_1.version}`
52
+ });
53
+ }
21
54
  async assemble(inFiles) {
22
- const _emit = async (event, payload) => {
23
- return await this.emit(event, payload);
24
- };
25
- const validator = new validator_1.NodeGraphValidator({});
26
- const loader = new loader_1.Assembler_RscLoader({});
27
- loader.onAny(_emit);
28
- const generator = new manifester_1.Manifester({
29
- cwd: this._options.cwd
55
+ const emitter = this._emitter;
56
+ const loader = new loader_1.Engine_ResourceLoader({
57
+ emitter
58
+ });
59
+ emitter.on("load", ({ resource }) => {
60
+ this._attachProductionAnnotations(resource);
30
61
  });
31
- generator.onAny(_emit);
32
- const serializer = new serializer_1.YamlSerializer({});
33
- serializer.onAny(_emit);
34
- const saver = new saver_1.ManifestSaver({
35
- outdir: this._options.outdir
62
+ const generator = new manifester_1.Engine_Manifester({
63
+ cwd: this._options.cwd,
64
+ emitter
65
+ });
66
+ const serializer = new serializer_1.Engine_Serializer_Yaml({ emitter });
67
+ const saver = new saver_1.Engine_Saver({
68
+ outdir: path_1.default.resolve(this._options.cwd ?? ".", this._options.outdir),
69
+ emitter
36
70
  });
37
- saver.onAny(_emit);
38
71
  const reports = (0, doddle_1.aseq)(inFiles)
39
- .map(x => x.node)
72
+ .map(x => x.__vertex__)
40
73
  .before(async () => {
41
- await _emit("stage", { stage: "gathering" });
42
- })
43
- .each(async (file) => {
44
- await _emit("received-file", { file: file });
74
+ emitter.emit("stage", { stage: "gathering" });
45
75
  })
46
76
  .after(async () => {
47
- await _emit("stage", { stage: "loading" });
77
+ emitter.emit("stage", { stage: "loading" });
48
78
  })
49
79
  .collect()
50
80
  .map(async (file) => {
51
81
  const loaded = await loader.load(file);
52
- loaded.forEach(r => r.meta.add(this._options.meta));
82
+ loaded.forEach(r => r.metadata.add(this._options.metadata));
53
83
  return {
54
84
  file: file,
55
- resources: loaded.filter(x => !x.isExternal)
85
+ resources: loaded.filter(x => !x.noEmit)
56
86
  };
57
87
  })
58
88
  .after(async () => {
59
- await _emit("stage", { stage: "manifesting" });
89
+ emitter.emit("stage", { stage: "manifesting" });
60
90
  })
61
91
  .collect()
62
92
  .map(async ({ file, resources }) => {
63
93
  const manifests = await (0, doddle_1.aseq)(resources)
64
- .filter(x => !x.disabled)
94
+ .filter(x => !x.noEmit)
65
95
  .map(async (resource) => {
66
96
  return await generator.generate(resource);
67
97
  })
@@ -73,16 +103,9 @@ class Assembler extends emittery_1.default {
73
103
  };
74
104
  })
75
105
  .after(async () => {
76
- await _emit("stage", { stage: "validating" });
77
- })
78
- .chunk(1000000)
79
- .concatMap(async (x) => {
80
- validator.validate(x);
81
- return x;
82
- })
83
- .after(async () => {
84
- await _emit("stage", { stage: "serializing" });
106
+ emitter.emit("stage", { stage: "serializing" });
85
107
  })
108
+ .collect()
86
109
  .map(async ({ file, resources }) => {
87
110
  const artifacts = await (0, doddle_1.aseq)(resources)
88
111
  .map(async (obj) => {
@@ -99,7 +122,7 @@ class Assembler extends emittery_1.default {
99
122
  };
100
123
  })
101
124
  .after(async () => {
102
- await _emit("stage", { stage: "saving" });
125
+ emitter.emit("stage", { stage: "saving" });
103
126
  })
104
127
  .after(async () => {
105
128
  await saver.prepareOnce();
@@ -116,7 +139,7 @@ class Assembler extends emittery_1.default {
116
139
  };
117
140
  })
118
141
  .after(async () => {
119
- await _emit("stage", { stage: "done" });
142
+ emitter.emit("stage", { stage: "done" });
120
143
  })
121
144
  .collect()
122
145
  .toArray();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../../src/runner/engine/assembler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "../viz/progress-shower";
2
+ export * from "./assembler";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runner/engine/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA"}
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../viz/progress-shower"), exports);
17
18
  __exportStar(require("./assembler"), exports);
18
- __exportStar(require("./progress-shower"), exports);
19
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runner/engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,8CAA2B"}
@@ -0,0 +1,19 @@
1
+ import { OriginVertex, ResourceVertex } from "@k8ts/instruments";
2
+ import type EventEmitter from "eventemitter3";
3
+ export declare class Engine_ResourceLoader {
4
+ private readonly _options;
5
+ constructor(_options: AssemblerRscLoaderOptions);
6
+ private _checkNames;
7
+ load(input: OriginVertex): Promise<ResourceVertex[]>;
8
+ }
9
+ export interface AssemblerRscLoadedEvent {
10
+ isExported: boolean;
11
+ resource: ResourceVertex;
12
+ }
13
+ export interface AssemblerRscLoaderEvents {
14
+ load: AssemblerRscLoadedEvent;
15
+ }
16
+ export interface AssemblerRscLoaderOptions {
17
+ emitter?: EventEmitter<any>;
18
+ }
19
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/runner/engine/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAiC,MAAM,mBAAmB,CAAA;AAC/F,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAE7C,qBAAa,qBAAqB;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,yBAAyB;IAEhE,OAAO,CAAC,WAAW;IAsBb,IAAI,CAAC,KAAK,EAAE,YAAY;CAqDjC;AACD,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,cAAc,CAAA;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,uBAAuB,CAAA;CAChC;AAED,MAAM,WAAW,yBAAyB;IACtC,OAAO,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;CAC9B"}
@@ -1,41 +1,39 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Assembler_RscLoader = void 0;
3
+ exports.Engine_ResourceLoader = void 0;
7
4
  const instruments_1 = require("@k8ts/instruments");
8
- const emittery_1 = __importDefault(require("emittery"));
9
- const error_1 = require("../../error");
10
- class Assembler_RscLoader extends emittery_1.default {
5
+ const error_1 = require("../error");
6
+ class Engine_ResourceLoader {
11
7
  _options;
12
8
  constructor(_options) {
13
- super();
14
9
  this._options = _options;
15
10
  }
16
11
  _checkNames(resources) {
17
12
  let names = new Map();
18
13
  const nameRegexp = /^[a-zA-Z0-9][a-zA-Z0-9_-]*$/;
19
14
  for (const resource of resources) {
20
- const name = [resource.kind.name, resource.namespace, resource.name]
15
+ const name = [resource.kind.value, resource.namespace, resource.name]
21
16
  .filter(Boolean)
22
17
  .join("/");
23
18
  const existing = names.get(name);
24
19
  if (existing) {
25
- throw new error_1.MakeError(`Duplicate resource designation ${name}. Existing: ${existing.format("source")}, new: ${resource.format("source")}`);
20
+ throw new error_1.K8tsEngineError(`Duplicate resource designation ${name}. Existing: ${existing.format("source")}, new: ${resource.format("source")}`);
26
21
  }
27
22
  if (!nameRegexp.test(resource.name)) {
28
- throw new error_1.MakeError(`Invalid resource name ${resource.name}. Must match ${nameRegexp}`);
23
+ throw new error_1.K8tsEngineError(`Invalid resource name ${resource.name}. Must match ${nameRegexp}`);
29
24
  }
30
25
  names.set(name, resource);
31
26
  }
32
27
  }
33
28
  async load(input) {
29
+ if (input.noEmit) {
30
+ return [];
31
+ }
34
32
  // TODO: Handle ORIGINS that are referenced but not passed to the runner
35
33
  let resources = [];
36
34
  const addResource = async (res) => {
37
- if (!(res instanceof instruments_1.Rsc_Node)) {
38
- throw new Error(`Expected ResourceNode, got ${res.constructor.name}`);
35
+ if (!(res instanceof instruments_1.ResourceVertex)) {
36
+ throw new error_1.K8tsEngineError(`Expected ResourceNode, got ${res.constructor.name}`);
39
37
  }
40
38
  if (resources.some(r => r.equals(res))) {
41
39
  return;
@@ -43,17 +41,18 @@ class Assembler_RscLoader extends emittery_1.default {
43
41
  if (!res.isRoot) {
44
42
  return;
45
43
  }
44
+ if (res.hasInheritedNoEmit) {
45
+ return;
46
+ }
46
47
  const origin = res.origin;
47
48
  if (!origin.isChildOf(input)) {
48
49
  return;
49
50
  }
50
51
  const event = {
51
- isExported: res.meta.has(`#k8ts.org/is-exported`),
52
+ isExported: res.metadata.has(`#k8ts.org/exported`),
52
53
  resource: res
53
54
  };
54
- await this.emit("load", event);
55
- const resourceOriginMetas = res.origin.inheritedMeta;
56
- res.meta.add(resourceOriginMetas);
55
+ this._options.emitter?.emit("load", event);
57
56
  origin.entity["__emit__"]("resource/loaded", {
58
57
  origin: origin.entity,
59
58
  resource: res.entity
@@ -61,7 +60,7 @@ class Assembler_RscLoader extends emittery_1.default {
61
60
  resources.push(res);
62
61
  };
63
62
  for (const resource of input.resources) {
64
- await addResource(resource.node);
63
+ await addResource(resource.__vertex__);
65
64
  }
66
65
  // Some resources might appear as dependencies to sub-resources that
67
66
  // haven't loaded. We can acquire them by getting all the needed resources
@@ -74,5 +73,5 @@ class Assembler_RscLoader extends emittery_1.default {
74
73
  return [...resources];
75
74
  }
76
75
  }
77
- exports.Assembler_RscLoader = Assembler_RscLoader;
76
+ exports.Engine_ResourceLoader = Engine_ResourceLoader;
78
77
  //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/runner/engine/loader.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
1
- import { Manifest, Rsc_Node } from "@k8ts/instruments";
2
- import Emittery from "emittery";
1
+ import { K8tsManifest, ResourceVertex } from "@k8ts/instruments";
2
+ import type EventEmitter from "eventemitter3";
3
3
  export interface ManifesterOptions {
4
4
  cwd?: string;
5
+ emitter?: EventEmitter<any>;
5
6
  }
6
- export declare class Manifester extends Emittery<ManifesterEventsTable> {
7
+ export declare class Engine_Manifester {
7
8
  private readonly _options;
8
9
  constructor(_options: ManifesterOptions);
9
10
  private _cleanSpecificEmptyObjects;
10
11
  private _cleanNullishValues;
11
12
  private _generate;
12
- private _attachProductionAnnotations;
13
- generate(res: Rsc_Node): Promise<NodeManifest>;
13
+ generate(res: ResourceVertex): Promise<NodeManifest>;
14
14
  }
15
15
  export interface NodeManifest {
16
- node: Rsc_Node;
17
- manifest: Manifest;
16
+ node: ResourceVertex;
17
+ manifest: K8tsManifest;
18
18
  }
19
19
  export interface ManifesterManifestEvent {
20
- resource: Rsc_Node;
20
+ resource: ResourceVertex;
21
21
  }
22
22
  export interface ManifesterEventsTable {
23
23
  manifest: ManifesterManifestEvent;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifester.d.ts","sourceRoot":"","sources":["../../../src/runner/engine/manifester.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,YAAY,EAEZ,cAAc,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAE7C,MAAM,WAAW,iBAAiB;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;CAC9B;AAED,qBAAa,iBAAiB;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,iBAAiB;IACxD,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,mBAAmB;YAiBb,SAAS;IAQjB,QAAQ,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;CAU7D;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,YAAY,CAAA;CACzB;AACD,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,cAAc,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,uBAAuB,CAAA;CACpC"}
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Manifester = void 0;
3
+ exports.Engine_Manifester = void 0;
7
4
  const instruments_1 = require("@k8ts/instruments");
8
- const emittery_1 = __importDefault(require("emittery"));
9
5
  const lodash_1 = require("lodash");
10
- const version_1 = require("../../version");
11
- class Manifester extends emittery_1.default {
6
+ class Engine_Manifester {
12
7
  _options;
13
8
  constructor(_options) {
14
- super();
15
9
  this._options = _options;
16
10
  }
17
11
  _cleanSpecificEmptyObjects(manifest) {
@@ -50,30 +44,15 @@ class Manifester extends emittery_1.default {
50
44
  const noEmpty = this._cleanSpecificEmptyObjects(noNullish);
51
45
  return noEmpty;
52
46
  }
53
- _attachProductionAnnotations(resource) {
54
- const loc = resource.trace.format({
55
- cwd: this._options.cwd
56
- });
57
- resource.meta.add(`build.k8ts.org/`, {
58
- "^constructed-at": loc,
59
- "^produced-by": `k8ts@${version_1.version}`
60
- });
61
- }
62
47
  async generate(res) {
63
- this._attachProductionAnnotations(res);
64
- await this.emit("manifest", { resource: res });
48
+ this._options.emitter?.emit("manifest", { resource: res });
65
49
  const manifest = await this._generate(res.entity);
66
50
  instruments_1.ManifestSourceEmbedder.add(manifest, res.entity);
67
- res.origin.entity["__emit__"]("resource/manifested", {
68
- origin: res.origin.entity,
69
- manifest,
70
- resource: res.entity
71
- });
72
51
  return {
73
52
  node: res,
74
53
  manifest: manifest
75
54
  };
76
55
  }
77
56
  }
78
- exports.Manifester = Manifester;
57
+ exports.Engine_Manifester = Engine_Manifester;
79
58
  //# sourceMappingURL=manifester.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifester.js","sourceRoot":"","sources":["../../../src/runner/engine/manifester.ts"],"names":[],"mappings":";;;AAAA,mDAK0B;AAE1B,mCAAiE;AAMjE,MAAa,iBAAiB;IACG;IAA7B,YAA6B,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IACpD,0BAA0B,CAAC,QAAsB;QACrD,MAAM,KAAK,GAAG,IAAA,sBAAa,EAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACrB,OAAM;YACV,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpB,IAAA,cAAK,EAAC,KAAK,EAAE,CAAC,CAAC,CAAA;oBACnB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IAChB,CAAC;IACO,mBAAmB,CAAC,QAAsB;QAC9C,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE;YAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAA;YACd,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;oBACZ,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;gBACjB,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAA;QACpB,CAAC,CAAA;QACD,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC,CAAA;QAEjC,OAAO,IAAA,sBAAa,EAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAC3C,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,QAAqB;QACzC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAA;QAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAA;QAC1D,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAmB;QAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAqB,CAAC,CAAA;QAChE,oCAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAEhD,OAAO;YACH,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;SACrB,CAAA;IACL,CAAC;CACJ;AApDD,8CAoDC"}