@uapkg/cli 1.3.0 → 1.3.1

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 (412) hide show
  1. package/dist/app/CompositionRoot.d.ts +36 -33
  2. package/dist/app/CompositionRoot.d.ts.map +1 -1
  3. package/dist/app/CompositionRoot.js +91 -109
  4. package/dist/app/CompositionRoot.js.map +1 -1
  5. package/dist/app/UAPKGApplication.d.ts +6 -3
  6. package/dist/app/UAPKGApplication.d.ts.map +1 -1
  7. package/dist/app/UAPKGApplication.js +155 -169
  8. package/dist/app/UAPKGApplication.js.map +1 -1
  9. package/dist/build/BuildMetadata.d.ts +9 -6
  10. package/dist/build/BuildMetadata.d.ts.map +1 -1
  11. package/dist/build/BuildMetadata.js +2 -2
  12. package/dist/cli/UAPKGCommandLine.d.ts +259 -257
  13. package/dist/cli/UAPKGCommandLine.d.ts.map +1 -1
  14. package/dist/cli/UAPKGCommandLine.js +248 -239
  15. package/dist/cli/UAPKGCommandLine.js.map +1 -1
  16. package/dist/cli/parseCommandLine.d.ts +5 -1
  17. package/dist/cli/parseCommandLine.d.ts.map +1 -1
  18. package/dist/cli/parseCommandLine.js +8 -3
  19. package/dist/cli/parseCommandLine.js.map +1 -1
  20. package/dist/cli/parsing/UAPKGCommandLineParser.d.ts +9 -6
  21. package/dist/cli/parsing/UAPKGCommandLineParser.d.ts.map +1 -1
  22. package/dist/cli/parsing/UAPKGCommandLineParser.js +23 -31
  23. package/dist/cli/parsing/UAPKGCommandLineParser.js.map +1 -1
  24. package/dist/cli/parsing/UAPKGParserRegistry.d.ts +12 -9
  25. package/dist/cli/parsing/UAPKGParserRegistry.d.ts.map +1 -1
  26. package/dist/cli/parsing/UAPKGParserRegistry.js +53 -50
  27. package/dist/cli/parsing/UAPKGParserRegistry.js.map +1 -1
  28. package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts +9 -6
  29. package/dist/cli/parsing/contracts/UAPKGCommandModule.d.ts.map +1 -1
  30. package/dist/cli/parsing/contracts/UAPKGCommandModule.js +1 -2
  31. package/dist/cli/parsing/modules/AddCommandModule.d.ts +8 -5
  32. package/dist/cli/parsing/modules/AddCommandModule.d.ts.map +1 -1
  33. package/dist/cli/parsing/modules/AddCommandModule.js +49 -36
  34. package/dist/cli/parsing/modules/AddCommandModule.js.map +1 -1
  35. package/dist/cli/parsing/modules/ConfigCommandModule.d.ts +8 -5
  36. package/dist/cli/parsing/modules/ConfigCommandModule.d.ts.map +1 -1
  37. package/dist/cli/parsing/modules/ConfigCommandModule.js +87 -83
  38. package/dist/cli/parsing/modules/ConfigCommandModule.js.map +1 -1
  39. package/dist/cli/parsing/modules/InitCommandModule.d.ts +8 -5
  40. package/dist/cli/parsing/modules/InitCommandModule.d.ts.map +1 -1
  41. package/dist/cli/parsing/modules/InitCommandModule.js +25 -22
  42. package/dist/cli/parsing/modules/InitCommandModule.js.map +1 -1
  43. package/dist/cli/parsing/modules/InstallCommandModule.d.ts +8 -5
  44. package/dist/cli/parsing/modules/InstallCommandModule.d.ts.map +1 -1
  45. package/dist/cli/parsing/modules/InstallCommandModule.js +36 -28
  46. package/dist/cli/parsing/modules/InstallCommandModule.js.map +1 -1
  47. package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts +8 -5
  48. package/dist/cli/parsing/modules/LifecycleCommandModule.d.ts.map +1 -1
  49. package/dist/cli/parsing/modules/LifecycleCommandModule.js +78 -50
  50. package/dist/cli/parsing/modules/LifecycleCommandModule.js.map +1 -1
  51. package/dist/cli/parsing/modules/ListCommandModule.d.ts +8 -5
  52. package/dist/cli/parsing/modules/ListCommandModule.d.ts.map +1 -1
  53. package/dist/cli/parsing/modules/ListCommandModule.js +26 -15
  54. package/dist/cli/parsing/modules/ListCommandModule.js.map +1 -1
  55. package/dist/cli/parsing/modules/LoginCommandModule.d.ts +8 -5
  56. package/dist/cli/parsing/modules/LoginCommandModule.d.ts.map +1 -1
  57. package/dist/cli/parsing/modules/LoginCommandModule.js +34 -33
  58. package/dist/cli/parsing/modules/LoginCommandModule.js.map +1 -1
  59. package/dist/cli/parsing/modules/LogoutCommandModule.d.ts +8 -5
  60. package/dist/cli/parsing/modules/LogoutCommandModule.d.ts.map +1 -1
  61. package/dist/cli/parsing/modules/LogoutCommandModule.js +30 -28
  62. package/dist/cli/parsing/modules/LogoutCommandModule.js.map +1 -1
  63. package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts +8 -5
  64. package/dist/cli/parsing/modules/OutdatedCommandModule.d.ts.map +1 -1
  65. package/dist/cli/parsing/modules/OutdatedCommandModule.js +21 -16
  66. package/dist/cli/parsing/modules/OutdatedCommandModule.js.map +1 -1
  67. package/dist/cli/parsing/modules/PackCommandModule.d.ts +8 -5
  68. package/dist/cli/parsing/modules/PackCommandModule.d.ts.map +1 -1
  69. package/dist/cli/parsing/modules/PackCommandModule.js +30 -28
  70. package/dist/cli/parsing/modules/PackCommandModule.js.map +1 -1
  71. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts +8 -5
  72. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.d.ts.map +1 -1
  73. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js +14 -11
  74. package/dist/cli/parsing/modules/ProjectGetNameCommandModule.js.map +1 -1
  75. package/dist/cli/parsing/modules/PublishCommandModule.d.ts +8 -5
  76. package/dist/cli/parsing/modules/PublishCommandModule.d.ts.map +1 -1
  77. package/dist/cli/parsing/modules/PublishCommandModule.js +63 -47
  78. package/dist/cli/parsing/modules/PublishCommandModule.js.map +1 -1
  79. package/dist/cli/parsing/modules/RegistryCommandModule.d.ts +8 -5
  80. package/dist/cli/parsing/modules/RegistryCommandModule.d.ts.map +1 -1
  81. package/dist/cli/parsing/modules/RegistryCommandModule.js +117 -120
  82. package/dist/cli/parsing/modules/RegistryCommandModule.js.map +1 -1
  83. package/dist/cli/parsing/modules/RemoveCommandModule.d.ts +8 -5
  84. package/dist/cli/parsing/modules/RemoveCommandModule.d.ts.map +1 -1
  85. package/dist/cli/parsing/modules/RemoveCommandModule.js +25 -14
  86. package/dist/cli/parsing/modules/RemoveCommandModule.js.map +1 -1
  87. package/dist/cli/parsing/modules/RequestsCommandModule.d.ts +8 -5
  88. package/dist/cli/parsing/modules/RequestsCommandModule.d.ts.map +1 -1
  89. package/dist/cli/parsing/modules/RequestsCommandModule.js +56 -60
  90. package/dist/cli/parsing/modules/RequestsCommandModule.js.map +1 -1
  91. package/dist/cli/parsing/modules/UpdateCommandModule.d.ts +8 -5
  92. package/dist/cli/parsing/modules/UpdateCommandModule.d.ts.map +1 -1
  93. package/dist/cli/parsing/modules/UpdateCommandModule.js +38 -25
  94. package/dist/cli/parsing/modules/UpdateCommandModule.js.map +1 -1
  95. package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts +8 -5
  96. package/dist/cli/parsing/modules/WhoamiCommandModule.d.ts.map +1 -1
  97. package/dist/cli/parsing/modules/WhoamiCommandModule.js +30 -28
  98. package/dist/cli/parsing/modules/WhoamiCommandModule.js.map +1 -1
  99. package/dist/cli/parsing/modules/WhyCommandModule.d.ts +8 -5
  100. package/dist/cli/parsing/modules/WhyCommandModule.d.ts.map +1 -1
  101. package/dist/cli/parsing/modules/WhyCommandModule.js +25 -14
  102. package/dist/cli/parsing/modules/WhyCommandModule.js.map +1 -1
  103. package/dist/cli/parsing/modules/sharedOptions.d.ts +8 -5
  104. package/dist/cli/parsing/modules/sharedOptions.d.ts.map +1 -1
  105. package/dist/cli/parsing/modules/sharedOptions.js +18 -23
  106. package/dist/cli/parsing/modules/sharedOptions.js.map +1 -1
  107. package/dist/cli/runUAPKGCLI.d.ts +4 -1
  108. package/dist/cli/runUAPKGCLI.d.ts.map +1 -1
  109. package/dist/cli/runUAPKGCLI.js +10 -5
  110. package/dist/cli/runUAPKGCLI.js.map +1 -1
  111. package/dist/cli-bootstrap.d.ts +1 -2
  112. package/dist/cli-bootstrap.js +15 -12
  113. package/dist/cli-bootstrap.js.map +1 -1
  114. package/dist/commands/AddCommand.d.ts +19 -16
  115. package/dist/commands/AddCommand.d.ts.map +1 -1
  116. package/dist/commands/AddCommand.js +49 -53
  117. package/dist/commands/AddCommand.js.map +1 -1
  118. package/dist/commands/Command.d.ts +5 -2
  119. package/dist/commands/Command.d.ts.map +1 -1
  120. package/dist/commands/Command.js +1 -2
  121. package/dist/commands/ConfigCommand.d.ts +28 -25
  122. package/dist/commands/ConfigCommand.d.ts.map +1 -1
  123. package/dist/commands/ConfigCommand.js +165 -186
  124. package/dist/commands/ConfigCommand.js.map +1 -1
  125. package/dist/commands/InitCommand.d.ts +19 -16
  126. package/dist/commands/InitCommand.d.ts.map +1 -1
  127. package/dist/commands/InitCommand.js +65 -60
  128. package/dist/commands/InitCommand.js.map +1 -1
  129. package/dist/commands/InstallCommand.d.ts +16 -13
  130. package/dist/commands/InstallCommand.d.ts.map +1 -1
  131. package/dist/commands/InstallCommand.js +118 -110
  132. package/dist/commands/InstallCommand.js.map +1 -1
  133. package/dist/commands/ListCommand.d.ts +13 -10
  134. package/dist/commands/ListCommand.d.ts.map +1 -1
  135. package/dist/commands/ListCommand.js +76 -81
  136. package/dist/commands/ListCommand.js.map +1 -1
  137. package/dist/commands/LoginCommand.d.ts +17 -14
  138. package/dist/commands/LoginCommand.d.ts.map +1 -1
  139. package/dist/commands/LoginCommand.js +66 -72
  140. package/dist/commands/LoginCommand.js.map +1 -1
  141. package/dist/commands/LogoutCommand.d.ts +15 -12
  142. package/dist/commands/LogoutCommand.d.ts.map +1 -1
  143. package/dist/commands/LogoutCommand.js +36 -37
  144. package/dist/commands/LogoutCommand.js.map +1 -1
  145. package/dist/commands/OutdatedCommand.d.ts +12 -9
  146. package/dist/commands/OutdatedCommand.d.ts.map +1 -1
  147. package/dist/commands/OutdatedCommand.js +41 -40
  148. package/dist/commands/OutdatedCommand.js.map +1 -1
  149. package/dist/commands/PackCommand.d.ts +13 -10
  150. package/dist/commands/PackCommand.d.ts.map +1 -1
  151. package/dist/commands/PackCommand.js +26 -21
  152. package/dist/commands/PackCommand.js.map +1 -1
  153. package/dist/commands/PackageLifecycleCommand.d.ts +23 -19
  154. package/dist/commands/PackageLifecycleCommand.d.ts.map +1 -1
  155. package/dist/commands/PackageLifecycleCommand.js +144 -138
  156. package/dist/commands/PackageLifecycleCommand.js.map +1 -1
  157. package/dist/commands/PostinstallCandidateBuilder.d.ts +11 -8
  158. package/dist/commands/PostinstallCandidateBuilder.d.ts.map +1 -1
  159. package/dist/commands/PostinstallCandidateBuilder.js +42 -42
  160. package/dist/commands/PostinstallCandidateBuilder.js.map +1 -1
  161. package/dist/commands/ProjectGetNameCommand.d.ts +10 -7
  162. package/dist/commands/ProjectGetNameCommand.d.ts.map +1 -1
  163. package/dist/commands/ProjectGetNameCommand.js +25 -25
  164. package/dist/commands/ProjectGetNameCommand.js.map +1 -1
  165. package/dist/commands/PublishCommand.d.ts +29 -23
  166. package/dist/commands/PublishCommand.d.ts.map +1 -1
  167. package/dist/commands/PublishCommand.js +243 -254
  168. package/dist/commands/PublishCommand.js.map +1 -1
  169. package/dist/commands/RegistryCommand.d.ts +38 -35
  170. package/dist/commands/RegistryCommand.d.ts.map +1 -1
  171. package/dist/commands/RegistryCommand.js +195 -223
  172. package/dist/commands/RegistryCommand.js.map +1 -1
  173. package/dist/commands/RemoveCommand.d.ts +14 -11
  174. package/dist/commands/RemoveCommand.d.ts.map +1 -1
  175. package/dist/commands/RemoveCommand.js +47 -54
  176. package/dist/commands/RemoveCommand.js.map +1 -1
  177. package/dist/commands/RequestsCommand.d.ts +21 -18
  178. package/dist/commands/RequestsCommand.d.ts.map +1 -1
  179. package/dist/commands/RequestsCommand.js +82 -95
  180. package/dist/commands/RequestsCommand.js.map +1 -1
  181. package/dist/commands/UpdateCommand.d.ts +29 -26
  182. package/dist/commands/UpdateCommand.d.ts.map +1 -1
  183. package/dist/commands/UpdateCommand.js +111 -111
  184. package/dist/commands/UpdateCommand.js.map +1 -1
  185. package/dist/commands/WhoamiCommand.d.ts +30 -27
  186. package/dist/commands/WhoamiCommand.d.ts.map +1 -1
  187. package/dist/commands/WhoamiCommand.js +63 -72
  188. package/dist/commands/WhoamiCommand.js.map +1 -1
  189. package/dist/commands/WhyCommand.d.ts +13 -10
  190. package/dist/commands/WhyCommand.d.ts.map +1 -1
  191. package/dist/commands/WhyCommand.js +45 -44
  192. package/dist/commands/WhyCommand.js.map +1 -1
  193. package/dist/commands/add/DependencyAddResolver.d.ts +14 -11
  194. package/dist/commands/add/DependencyAddResolver.d.ts.map +1 -1
  195. package/dist/commands/add/DependencyAddResolver.js +36 -36
  196. package/dist/commands/add/DependencyAddResolver.js.map +1 -1
  197. package/dist/control-plane/AccountManager.d.ts +96 -94
  198. package/dist/control-plane/AccountManager.d.ts.map +1 -1
  199. package/dist/control-plane/AccountManager.js +775 -967
  200. package/dist/control-plane/AccountManager.js.map +1 -1
  201. package/dist/control-plane/ArtifactObserver.d.ts +19 -16
  202. package/dist/control-plane/ArtifactObserver.d.ts.map +1 -1
  203. package/dist/control-plane/ArtifactObserver.js +73 -59
  204. package/dist/control-plane/ArtifactObserver.js.map +1 -1
  205. package/dist/control-plane/AuthMetadataStore.d.ts +16 -13
  206. package/dist/control-plane/AuthMetadataStore.d.ts.map +1 -1
  207. package/dist/control-plane/AuthMetadataStore.js +111 -113
  208. package/dist/control-plane/AuthMetadataStore.js.map +1 -1
  209. package/dist/control-plane/AuthStoragePaths.d.ts +7 -4
  210. package/dist/control-plane/AuthStoragePaths.d.ts.map +1 -1
  211. package/dist/control-plane/AuthStoragePaths.js +19 -14
  212. package/dist/control-plane/AuthStoragePaths.js.map +1 -1
  213. package/dist/control-plane/AuthenticationSelector.d.ts +21 -18
  214. package/dist/control-plane/AuthenticationSelector.d.ts.map +1 -1
  215. package/dist/control-plane/AuthenticationSelector.js +69 -63
  216. package/dist/control-plane/AuthenticationSelector.js.map +1 -1
  217. package/dist/control-plane/ControlPlaneClient.d.ts +37 -28
  218. package/dist/control-plane/ControlPlaneClient.d.ts.map +1 -1
  219. package/dist/control-plane/ControlPlaneClient.js +265 -254
  220. package/dist/control-plane/ControlPlaneClient.js.map +1 -1
  221. package/dist/control-plane/ControlPlaneEndpoints.d.ts +9 -6
  222. package/dist/control-plane/ControlPlaneEndpoints.d.ts.map +1 -1
  223. package/dist/control-plane/ControlPlaneEndpoints.js +17 -12
  224. package/dist/control-plane/ControlPlaneEndpoints.js.map +1 -1
  225. package/dist/control-plane/ControlPlaneTypes.d.ts +176 -152
  226. package/dist/control-plane/ControlPlaneTypes.d.ts.map +1 -1
  227. package/dist/control-plane/ControlPlaneTypes.js +88 -81
  228. package/dist/control-plane/ControlPlaneTypes.js.map +1 -1
  229. package/dist/control-plane/CredentialStore.d.ts +20 -18
  230. package/dist/control-plane/CredentialStore.d.ts.map +1 -1
  231. package/dist/control-plane/CredentialStore.js +66 -83
  232. package/dist/control-plane/CredentialStore.js.map +1 -1
  233. package/dist/control-plane/DPoPKeyStore.d.ts +12 -9
  234. package/dist/control-plane/DPoPKeyStore.d.ts.map +1 -1
  235. package/dist/control-plane/DPoPKeyStore.js +57 -53
  236. package/dist/control-plane/DPoPKeyStore.js.map +1 -1
  237. package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts +37 -4
  238. package/dist/control-plane/GitHubActionsOidcCredentialProvider.d.ts.map +1 -1
  239. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js +197 -63
  240. package/dist/control-plane/GitHubActionsOidcCredentialProvider.js.map +1 -1
  241. package/dist/control-plane/PublishIdempotencyStore.d.ts +25 -9
  242. package/dist/control-plane/PublishIdempotencyStore.d.ts.map +1 -1
  243. package/dist/control-plane/PublishIdempotencyStore.js +97 -68
  244. package/dist/control-plane/PublishIdempotencyStore.js.map +1 -1
  245. package/dist/control-plane/PublishRequestErrorMapper.d.ts +155 -0
  246. package/dist/control-plane/PublishRequestErrorMapper.d.ts.map +1 -0
  247. package/dist/control-plane/PublishRequestErrorMapper.js +597 -0
  248. package/dist/control-plane/PublishRequestErrorMapper.js.map +1 -0
  249. package/dist/control-plane/RegistryGrantLock.d.ts +29 -26
  250. package/dist/control-plane/RegistryGrantLock.d.ts.map +1 -1
  251. package/dist/control-plane/RegistryGrantLock.js +149 -185
  252. package/dist/control-plane/RegistryGrantLock.js.map +1 -1
  253. package/dist/control-plane/RegistryTrustResolver.d.ts +13 -10
  254. package/dist/control-plane/RegistryTrustResolver.d.ts.map +1 -1
  255. package/dist/control-plane/RegistryTrustResolver.js +97 -132
  256. package/dist/control-plane/RegistryTrustResolver.js.map +1 -1
  257. package/dist/index.d.ts +62 -39
  258. package/dist/index.js +60 -53
  259. package/dist/postinstall/api/PostinstallDsl.d.ts +24 -21
  260. package/dist/postinstall/api/PostinstallDsl.d.ts.map +1 -1
  261. package/dist/postinstall/api/PostinstallDsl.js +32 -35
  262. package/dist/postinstall/api/PostinstallDsl.js.map +1 -1
  263. package/dist/postinstall/api/definePostinstall.d.ts +5 -2
  264. package/dist/postinstall/api/definePostinstall.d.ts.map +1 -1
  265. package/dist/postinstall/api/definePostinstall.js +20 -16
  266. package/dist/postinstall/api/definePostinstall.js.map +1 -1
  267. package/dist/postinstall/index.d.ts +25 -26
  268. package/dist/postinstall/index.js +25 -37
  269. package/dist/postinstall/loader/EntryResolver.d.ts +11 -9
  270. package/dist/postinstall/loader/EntryResolver.d.ts.map +1 -1
  271. package/dist/postinstall/loader/EntryResolver.js +36 -32
  272. package/dist/postinstall/loader/EntryResolver.js.map +1 -1
  273. package/dist/postinstall/loader/EsbuildTranspiler.d.ts +6 -3
  274. package/dist/postinstall/loader/EsbuildTranspiler.d.ts.map +1 -1
  275. package/dist/postinstall/loader/EsbuildTranspiler.js +52 -56
  276. package/dist/postinstall/loader/EsbuildTranspiler.js.map +1 -1
  277. package/dist/postinstall/loader/ExportValidator.d.ts +8 -5
  278. package/dist/postinstall/loader/ExportValidator.d.ts.map +1 -1
  279. package/dist/postinstall/loader/ExportValidator.js +36 -32
  280. package/dist/postinstall/loader/ExportValidator.js.map +1 -1
  281. package/dist/postinstall/loader/ModuleImporter.d.ts +17 -14
  282. package/dist/postinstall/loader/ModuleImporter.d.ts.map +1 -1
  283. package/dist/postinstall/loader/ModuleImporter.js +50 -58
  284. package/dist/postinstall/loader/ModuleImporter.js.map +1 -1
  285. package/dist/postinstall/loader/PostinstallLoader.d.ts +22 -19
  286. package/dist/postinstall/loader/PostinstallLoader.d.ts.map +1 -1
  287. package/dist/postinstall/loader/PostinstallLoader.js +62 -58
  288. package/dist/postinstall/loader/PostinstallLoader.js.map +1 -1
  289. package/dist/postinstall/markers/MarkerBlockEditor.d.ts +19 -16
  290. package/dist/postinstall/markers/MarkerBlockEditor.d.ts.map +1 -1
  291. package/dist/postinstall/markers/MarkerBlockEditor.js +48 -44
  292. package/dist/postinstall/markers/MarkerBlockEditor.js.map +1 -1
  293. package/dist/postinstall/markers/MarkerBlockService.d.ts +10 -7
  294. package/dist/postinstall/markers/MarkerBlockService.d.ts.map +1 -1
  295. package/dist/postinstall/markers/MarkerBlockService.js +44 -44
  296. package/dist/postinstall/markers/MarkerBlockService.js.map +1 -1
  297. package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts +12 -9
  298. package/dist/postinstall/markers/MarkerIntegrityValidator.d.ts.map +1 -1
  299. package/dist/postinstall/markers/MarkerIntegrityValidator.js +47 -52
  300. package/dist/postinstall/markers/MarkerIntegrityValidator.js.map +1 -1
  301. package/dist/postinstall/policy/PostinstallPolicyGate.d.ts +25 -23
  302. package/dist/postinstall/policy/PostinstallPolicyGate.d.ts.map +1 -1
  303. package/dist/postinstall/policy/PostinstallPolicyGate.js +63 -52
  304. package/dist/postinstall/policy/PostinstallPolicyGate.js.map +1 -1
  305. package/dist/postinstall/runner/PostinstallOrchestrator.d.ts +48 -45
  306. package/dist/postinstall/runner/PostinstallOrchestrator.d.ts.map +1 -1
  307. package/dist/postinstall/runner/PostinstallOrchestrator.js +172 -170
  308. package/dist/postinstall/runner/PostinstallOrchestrator.js.map +1 -1
  309. package/dist/postinstall/unreal/BuildCsInjector.d.ts +16 -13
  310. package/dist/postinstall/unreal/BuildCsInjector.d.ts.map +1 -1
  311. package/dist/postinstall/unreal/BuildCsInjector.js +58 -53
  312. package/dist/postinstall/unreal/BuildCsInjector.js.map +1 -1
  313. package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts +13 -10
  314. package/dist/postinstall/unreal/CSharpInjectionEngine.d.ts.map +1 -1
  315. package/dist/postinstall/unreal/CSharpInjectionEngine.js +56 -59
  316. package/dist/postinstall/unreal/CSharpInjectionEngine.js.map +1 -1
  317. package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts +11 -8
  318. package/dist/postinstall/unreal/CSharpStructureAnalyzer.d.ts.map +1 -1
  319. package/dist/postinstall/unreal/CSharpStructureAnalyzer.js +123 -127
  320. package/dist/postinstall/unreal/CSharpStructureAnalyzer.js.map +1 -1
  321. package/dist/postinstall/unreal/CSharpStructures.d.ts +18 -15
  322. package/dist/postinstall/unreal/CSharpStructures.d.ts.map +1 -1
  323. package/dist/postinstall/unreal/CSharpStructures.js +1 -2
  324. package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts +7 -4
  325. package/dist/postinstall/unreal/CSharpWrapperFactory.d.ts.map +1 -1
  326. package/dist/postinstall/unreal/CSharpWrapperFactory.js +54 -58
  327. package/dist/postinstall/unreal/CSharpWrapperFactory.js.map +1 -1
  328. package/dist/postinstall/unreal/PluginHash.d.ts +5 -2
  329. package/dist/postinstall/unreal/PluginHash.d.ts.map +1 -1
  330. package/dist/postinstall/unreal/PluginHash.js +13 -8
  331. package/dist/postinstall/unreal/PluginHash.js.map +1 -1
  332. package/dist/postinstall/unreal/PrettyParseError.d.ts +8 -5
  333. package/dist/postinstall/unreal/PrettyParseError.d.ts.map +1 -1
  334. package/dist/postinstall/unreal/PrettyParseError.js +37 -37
  335. package/dist/postinstall/unreal/PrettyParseError.js.map +1 -1
  336. package/dist/postinstall/unreal/ProjectFileLocator.d.ts +12 -9
  337. package/dist/postinstall/unreal/ProjectFileLocator.d.ts.map +1 -1
  338. package/dist/postinstall/unreal/ProjectFileLocator.js +49 -51
  339. package/dist/postinstall/unreal/ProjectFileLocator.js.map +1 -1
  340. package/dist/postinstall/unreal/TargetCsInjector.d.ts +16 -13
  341. package/dist/postinstall/unreal/TargetCsInjector.d.ts.map +1 -1
  342. package/dist/postinstall/unreal/TargetCsInjector.js +58 -53
  343. package/dist/postinstall/unreal/TargetCsInjector.js.map +1 -1
  344. package/dist/postinstall/unreal/UProjectInjector.d.ts +6 -3
  345. package/dist/postinstall/unreal/UProjectInjector.d.ts.map +1 -1
  346. package/dist/postinstall/unreal/UProjectInjector.js +56 -52
  347. package/dist/postinstall/unreal/UProjectInjector.js.map +1 -1
  348. package/dist/postinstall/unreal/UProjectMetadataReader.d.ts +5 -2
  349. package/dist/postinstall/unreal/UProjectMetadataReader.d.ts.map +1 -1
  350. package/dist/postinstall/unreal/UProjectMetadataReader.js +22 -18
  351. package/dist/postinstall/unreal/UProjectMetadataReader.js.map +1 -1
  352. package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts +17 -14
  353. package/dist/postinstall/unreal/UnrealSourceCatalog.d.ts.map +1 -1
  354. package/dist/postinstall/unreal/UnrealSourceCatalog.js +50 -50
  355. package/dist/postinstall/unreal/UnrealSourceCatalog.js.map +1 -1
  356. package/dist/prompts/InkPromptService.d.ts +10 -7
  357. package/dist/prompts/InkPromptService.d.ts.map +1 -1
  358. package/dist/prompts/InkPromptService.js +100 -71
  359. package/dist/prompts/InkPromptService.js.map +1 -1
  360. package/dist/prompts/ProjectContextDetector.d.ts +10 -7
  361. package/dist/prompts/ProjectContextDetector.d.ts.map +1 -1
  362. package/dist/prompts/ProjectContextDetector.js +32 -26
  363. package/dist/prompts/ProjectContextDetector.js.map +1 -1
  364. package/dist/prompts/PromptService.d.ts +11 -8
  365. package/dist/prompts/PromptService.d.ts.map +1 -1
  366. package/dist/prompts/PromptService.js +1 -8
  367. package/dist/reporting/DiagnosticDeduplicator.d.ts +8 -5
  368. package/dist/reporting/DiagnosticDeduplicator.d.ts.map +1 -1
  369. package/dist/reporting/DiagnosticDeduplicator.js +36 -35
  370. package/dist/reporting/DiagnosticDeduplicator.js.map +1 -1
  371. package/dist/reporting/DiagnosticRenderer.d.ts +11 -8
  372. package/dist/reporting/DiagnosticRenderer.d.ts.map +1 -1
  373. package/dist/reporting/DiagnosticRenderer.js +1 -2
  374. package/dist/reporting/DiagnosticReporter.d.ts +12 -9
  375. package/dist/reporting/DiagnosticReporter.d.ts.map +1 -1
  376. package/dist/reporting/DiagnosticReporter.js +40 -39
  377. package/dist/reporting/DiagnosticReporter.js.map +1 -1
  378. package/dist/reporting/InkDiagnosticRenderer.d.ts +12 -9
  379. package/dist/reporting/InkDiagnosticRenderer.d.ts.map +1 -1
  380. package/dist/reporting/InkDiagnosticRenderer.js +50 -42
  381. package/dist/reporting/InkDiagnosticRenderer.js.map +1 -1
  382. package/dist/reporting/InstallProgressReporter.d.ts +23 -20
  383. package/dist/reporting/InstallProgressReporter.d.ts.map +1 -1
  384. package/dist/reporting/InstallProgressReporter.js +48 -47
  385. package/dist/reporting/InstallProgressReporter.js.map +1 -1
  386. package/dist/reporting/JsonReporter.d.ts +16 -13
  387. package/dist/reporting/JsonReporter.d.ts.map +1 -1
  388. package/dist/reporting/JsonReporter.js +34 -20
  389. package/dist/reporting/JsonReporter.js.map +1 -1
  390. package/dist/reporting/RegistryRequestTerminalFormatter.d.ts +36 -0
  391. package/dist/reporting/RegistryRequestTerminalFormatter.d.ts.map +1 -0
  392. package/dist/reporting/RegistryRequestTerminalFormatter.js +90 -0
  393. package/dist/reporting/RegistryRequestTerminalFormatter.js.map +1 -0
  394. package/dist/reporting/TextDiagnosticRenderer.d.ts +11 -8
  395. package/dist/reporting/TextDiagnosticRenderer.d.ts.map +1 -1
  396. package/dist/reporting/TextDiagnosticRenderer.js +36 -28
  397. package/dist/reporting/TextDiagnosticRenderer.js.map +1 -1
  398. package/dist/reporting/TextSink.d.ts +14 -11
  399. package/dist/reporting/TextSink.d.ts.map +1 -1
  400. package/dist/reporting/TextSink.js +24 -20
  401. package/dist/reporting/TextSink.js.map +1 -1
  402. package/package.json +31 -32
  403. package/dist/cli/parsing/contracts/UAPKGCommandModule.js.map +0 -1
  404. package/dist/cli-bootstrap.d.ts.map +0 -1
  405. package/dist/commands/Command.js.map +0 -1
  406. package/dist/index.d.ts.map +0 -1
  407. package/dist/index.js.map +0 -1
  408. package/dist/postinstall/index.d.ts.map +0 -1
  409. package/dist/postinstall/index.js.map +0 -1
  410. package/dist/postinstall/unreal/CSharpStructures.js.map +0 -1
  411. package/dist/prompts/PromptService.js.map +0 -1
  412. package/dist/reporting/DiagnosticRenderer.js.map +0 -1
@@ -1,61 +1,66 @@
1
- import { PackageNameSchema, PackageVersionSchema } from '@uapkg/common-schema';
2
- import { ManifestReader, ManifestWriter } from '@uapkg/package-manifest';
3
- // ---------------------------------------------------------------------------
4
- // InitCommand — creates a minimal `uapkg.json` (new schema) for the current
5
- // working directory, interactively selecting `kind` + `name` when missing.
6
- //
7
- // - Writes via `@uapkg/package-manifest` ManifestWriter.
8
- // - Pre-check uses ManifestReader (fails fast if manifest already present).
9
- // ---------------------------------------------------------------------------
10
- const DEFAULT_INITIAL_VERSION = '0.1.0';
11
- export class InitCommand {
12
- root;
13
- options;
14
- detector;
15
- prompts;
16
- constructor(root, options, detector, prompts) {
17
- this.root = root;
18
- this.options = options;
19
- this.detector = detector;
20
- this.prompts = prompts;
21
- }
22
- async execute() {
23
- const existing = await new ManifestReader().read(this.root.cwd);
24
- if (existing.ok) {
25
- process.stderr.write('[uapkg] uapkg.json already exists in current directory\n');
26
- return 1;
27
- }
28
- const detected = this.detector.detect(this.root.cwd);
29
- const kind = this.options.explicitKind ??
30
- (await this.prompts.select('Select manifest kind', [
31
- { label: 'Project', value: 'project' },
32
- { label: 'Plugin', value: 'plugin' },
33
- ], detected.suggestedKind));
34
- const rawName = this.options.explicitName ?? (await this.prompts.text('Package name', detected.suggestedName));
35
- const nameResult = PackageNameSchema.safeParse(rawName.trim());
36
- if (!nameResult.success) {
37
- process.stderr.write(`[uapkg] Invalid package name "${rawName}": must be lowercase alphanumeric with hyphens\n`);
38
- return 1;
39
- }
40
- const versionResult = PackageVersionSchema.safeParse(DEFAULT_INITIAL_VERSION);
41
- if (!versionResult.success) {
42
- process.stderr.write(`[uapkg] Internal error: default version "${DEFAULT_INITIAL_VERSION}" rejected by schema\n`);
43
- return 1;
44
- }
45
- const manifest = this.buildManifest(kind, nameResult.data, versionResult.data);
46
- const writeResult = await new ManifestWriter().write(this.root.cwd, manifest);
47
- if (!writeResult.ok) {
48
- this.root.diagnostics.reportAll(writeResult.diagnostics);
49
- return 1;
50
- }
51
- process.stdout.write(`[uapkg] Created uapkg.json (${kind}) for ${String(nameResult.data)}\n`);
52
- return 0;
53
- }
54
- buildManifest(kind, name, version) {
55
- if (kind === 'plugin') {
56
- return { name, version, kind: 'plugin' };
57
- }
58
- return { name, version, kind: 'project' };
59
- }
60
- }
1
+ import { PackageNameSchema, PackageVersionSchema } from "@uapkg/common-schema";
2
+ import { ManifestReader, ManifestWriter } from "@uapkg/package-manifest";
3
+
4
+ //#region src/commands/InitCommand.ts
5
+ const DEFAULT_INITIAL_VERSION = "0.1.0";
6
+ var InitCommand = class {
7
+ root;
8
+ options;
9
+ detector;
10
+ prompts;
11
+ constructor(root, options, detector, prompts) {
12
+ this.root = root;
13
+ this.options = options;
14
+ this.detector = detector;
15
+ this.prompts = prompts;
16
+ }
17
+ async execute() {
18
+ if ((await new ManifestReader().read(this.root.cwd)).ok) {
19
+ process.stderr.write("[uapkg] uapkg.json already exists in current directory\n");
20
+ return 1;
21
+ }
22
+ const detected = this.detector.detect(this.root.cwd);
23
+ const kind = this.options.explicitKind ?? await this.prompts.select("Select manifest kind", [{
24
+ label: "Project",
25
+ value: "project"
26
+ }, {
27
+ label: "Plugin",
28
+ value: "plugin"
29
+ }], detected.suggestedKind);
30
+ const rawName = this.options.explicitName ?? await this.prompts.text("Package name", detected.suggestedName);
31
+ const nameResult = PackageNameSchema.safeParse(rawName.trim());
32
+ if (!nameResult.success) {
33
+ process.stderr.write(`[uapkg] Invalid package name "${rawName}": must be lowercase alphanumeric with hyphens\n`);
34
+ return 1;
35
+ }
36
+ const versionResult = PackageVersionSchema.safeParse(DEFAULT_INITIAL_VERSION);
37
+ if (!versionResult.success) {
38
+ process.stderr.write(`[uapkg] Internal error: default version "${DEFAULT_INITIAL_VERSION}" rejected by schema\n`);
39
+ return 1;
40
+ }
41
+ const manifest = this.buildManifest(kind, nameResult.data, versionResult.data);
42
+ const writeResult = await new ManifestWriter().write(this.root.cwd, manifest);
43
+ if (!writeResult.ok) {
44
+ this.root.diagnostics.reportAll(writeResult.diagnostics);
45
+ return 1;
46
+ }
47
+ process.stdout.write(`[uapkg] Created uapkg.json (${kind}) for ${String(nameResult.data)}\n`);
48
+ return 0;
49
+ }
50
+ buildManifest(kind, name, version) {
51
+ if (kind === "plugin") return {
52
+ name,
53
+ version,
54
+ kind: "plugin"
55
+ };
56
+ return {
57
+ name,
58
+ version,
59
+ kind: "project"
60
+ };
61
+ }
62
+ };
63
+
64
+ //#endregion
65
+ export { InitCommand };
61
66
  //# sourceMappingURL=InitCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../src/commands/InitCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InitCommand.js","names":[],"sources":["../../src/commands/InitCommand.ts"],"sourcesContent":["import type { PackageName, PackageVersion } from '@uapkg/common-schema';\nimport { PackageNameSchema, PackageVersionSchema } from '@uapkg/common-schema';\nimport { ManifestReader, ManifestWriter } from '@uapkg/package-manifest';\nimport type { Manifest, ManifestKind } from '@uapkg/package-manifest-schema';\nimport type { CompositionRoot } from '../app/CompositionRoot.js';\nimport type { ProjectContextDetector } from '../prompts/ProjectContextDetector.js';\nimport type { PromptService } from '../prompts/PromptService.js';\nimport type { Command } from './Command.js';\n\nexport interface InitCommandOptions {\n readonly explicitKind?: ManifestKind;\n readonly explicitName?: string;\n}\n\n// ---------------------------------------------------------------------------\n// InitCommand — creates a minimal `uapkg.json` (new schema) for the current\n// working directory, interactively selecting `kind` + `name` when missing.\n//\n// - Writes via `@uapkg/package-manifest` ManifestWriter.\n// - Pre-check uses ManifestReader (fails fast if manifest already present).\n// ---------------------------------------------------------------------------\n\nconst DEFAULT_INITIAL_VERSION = '0.1.0';\n\nexport class InitCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: InitCommandOptions,\n private readonly detector: ProjectContextDetector,\n private readonly prompts: PromptService,\n ) {}\n\n public async execute(): Promise<number> {\n const existing = await new ManifestReader().read(this.root.cwd);\n if (existing.ok) {\n process.stderr.write('[uapkg] uapkg.json already exists in current directory\\n');\n return 1;\n }\n\n const detected = this.detector.detect(this.root.cwd);\n const kind =\n this.options.explicitKind ??\n ((await this.prompts.select(\n 'Select manifest kind',\n [\n { label: 'Project', value: 'project' },\n { label: 'Plugin', value: 'plugin' },\n ],\n detected.suggestedKind,\n )) as ManifestKind);\n\n const rawName = this.options.explicitName ?? (await this.prompts.text('Package name', detected.suggestedName));\n\n const nameResult = PackageNameSchema.safeParse(rawName.trim());\n if (!nameResult.success) {\n process.stderr.write(`[uapkg] Invalid package name \"${rawName}\": must be lowercase alphanumeric with hyphens\\n`);\n return 1;\n }\n const versionResult = PackageVersionSchema.safeParse(DEFAULT_INITIAL_VERSION);\n if (!versionResult.success) {\n process.stderr.write(`[uapkg] Internal error: default version \"${DEFAULT_INITIAL_VERSION}\" rejected by schema\\n`);\n return 1;\n }\n\n const manifest: Manifest = this.buildManifest(kind, nameResult.data, versionResult.data);\n const writeResult = await new ManifestWriter().write(this.root.cwd, manifest);\n if (!writeResult.ok) {\n this.root.diagnostics.reportAll(writeResult.diagnostics);\n return 1;\n }\n\n process.stdout.write(`[uapkg] Created uapkg.json (${kind}) for ${String(nameResult.data)}\\n`);\n return 0;\n }\n\n private buildManifest(kind: ManifestKind, name: PackageName, version: PackageVersion): Manifest {\n if (kind === 'plugin') {\n return { name, version, kind: 'plugin' };\n }\n return { name, version, kind: 'project' };\n }\n}\n"],"mappings":";;;;AAsBA,MAAM,0BAA0B;AAEhC,IAAa,cAAb,MAA4C;CAEvB;CACA;CACA;CACA;CAJnB,AAAO,YACL,AAAiB,MACjB,AAAiB,SACjB,AAAiB,UACjB,AAAiB,SACjB;EAJiB;EACA;EACA;EACA;CAChB;CAEH,MAAa,UAA2B;EAEtC,KAAI,MADmB,IAAI,eAAe,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,EAClD,CAAC,IAAI;GACf,QAAQ,OAAO,MAAM,0DAA0D;GAC/E,OAAO;EACT;EAEA,MAAM,WAAW,KAAK,SAAS,OAAO,KAAK,KAAK,GAAG;EACnD,MAAM,OACJ,KAAK,QAAQ,gBACX,MAAM,KAAK,QAAQ,OACnB,wBACA,CACE;GAAE,OAAO;GAAW,OAAO;EAAU,GACrC;GAAE,OAAO;GAAU,OAAO;EAAS,CACrC,GACA,SAAS,aACX;EAEF,MAAM,UAAU,KAAK,QAAQ,gBAAiB,MAAM,KAAK,QAAQ,KAAK,gBAAgB,SAAS,aAAa;EAE5G,MAAM,aAAa,kBAAkB,UAAU,QAAQ,KAAK,CAAC;EAC7D,IAAI,CAAC,WAAW,SAAS;GACvB,QAAQ,OAAO,MAAM,iCAAiC,QAAQ,iDAAiD;GAC/G,OAAO;EACT;EACA,MAAM,gBAAgB,qBAAqB,UAAU,uBAAuB;EAC5E,IAAI,CAAC,cAAc,SAAS;GAC1B,QAAQ,OAAO,MAAM,4CAA4C,wBAAwB,uBAAuB;GAChH,OAAO;EACT;EAEA,MAAM,WAAqB,KAAK,cAAc,MAAM,WAAW,MAAM,cAAc,IAAI;EACvF,MAAM,cAAc,MAAM,IAAI,eAAe,CAAC,CAAC,MAAM,KAAK,KAAK,KAAK,QAAQ;EAC5E,IAAI,CAAC,YAAY,IAAI;GACnB,KAAK,KAAK,YAAY,UAAU,YAAY,WAAW;GACvD,OAAO;EACT;EAEA,QAAQ,OAAO,MAAM,+BAA+B,KAAK,QAAQ,OAAO,WAAW,IAAI,EAAE,GAAG;EAC5F,OAAO;CACT;CAEA,AAAQ,cAAc,MAAoB,MAAmB,SAAmC;EAC9F,IAAI,SAAS,UACX,OAAO;GAAE;GAAM;GAAS,MAAM;EAAS;EAEzC,OAAO;GAAE;GAAM;GAAS,MAAM;EAAU;CAC1C;AACF"}
@@ -1,10 +1,11 @@
1
- import type { CompositionRoot } from '../app/CompositionRoot.js';
2
- import type { Command } from './Command.js';
3
- export interface InstallCommandOptions {
4
- readonly force: boolean;
5
- readonly frozen: boolean;
6
- readonly dryRun: boolean;
7
- readonly outputFormat: 'text' | 'json';
1
+ import { CompositionRoot } from "../app/CompositionRoot.js";
2
+ import { Command } from "./Command.js";
3
+ //#region src/commands/InstallCommand.d.ts
4
+ interface InstallCommandOptions {
5
+ readonly force: boolean;
6
+ readonly frozen: boolean;
7
+ readonly dryRun: boolean;
8
+ readonly outputFormat: 'text' | 'json';
8
9
  }
9
10
  /**
10
11
  * `uapkg install` — resolve → plan → download/extract/remove → postinstall.
@@ -20,11 +21,13 @@ export interface InstallCommandOptions {
20
21
  *
21
22
  * `--force` and `--frozen` are mutually exclusive; the parser layer enforces this.
22
23
  */
23
- export declare class InstallCommand implements Command {
24
- private readonly root;
25
- private readonly options;
26
- constructor(root: CompositionRoot, options: InstallCommandOptions);
27
- execute(): Promise<number>;
28
- private fail;
24
+ declare class InstallCommand implements Command {
25
+ private readonly root;
26
+ private readonly options;
27
+ constructor(root: CompositionRoot, options: InstallCommandOptions);
28
+ execute(): Promise<number>;
29
+ private fail;
29
30
  }
31
+ //#endregion
32
+ export { InstallCommand, InstallCommandOptions };
30
33
  //# sourceMappingURL=InstallCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstallCommand.d.ts","sourceRoot":"","sources":["../../src/commands/InstallCommand.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,OAAO;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,qBAAqB;IAGpC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAsFvC,OAAO,CAAC,IAAI;CAQb"}
1
+ {"version":3,"file":"InstallCommand.d.ts","names":[],"sources":["../../src/commands/InstallCommand.ts"],"mappings":";;;UAOiB;WACN;WACA;WACA;WACA;;;;;;;;;;;;;;;;cAiBE,0BAA0B;mBAElB;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW;UAsFhB"}
@@ -1,112 +1,120 @@
1
- import { InstallProgressReporter } from '../reporting/InstallProgressReporter.js';
2
- import { PostinstallCandidateBuilder } from './PostinstallCandidateBuilder.js';
1
+ import { InstallProgressReporter } from "../reporting/InstallProgressReporter.js";
2
+ import { PostinstallCandidateBuilder } from "./PostinstallCandidateBuilder.js";
3
+
4
+ //#region src/commands/InstallCommand.ts
3
5
  /**
4
- * `uapkg install` — resolve → plan → download/extract/remove → postinstall.
5
- *
6
- * Pipeline (never throws; errors become diagnostics):
7
- *
8
- * 1. Read manifest + previous lockfile (best-effort).
9
- * 2. `PackageManifest.install({ frozen })` → writes a fresh lockfile.
10
- * 3. `Installer.execute(...)` → executes the install plan.
11
- * 4. Consume installer's status stream in parallel via `InstallProgressReporter`.
12
- * 5. On success (non-dryRun), `PostinstallOrchestrator.run()` for added/updated plugins.
13
- * 6. Report summary + diagnostics.
14
- *
15
- * `--force` and `--frozen` are mutually exclusive; the parser layer enforces this.
16
- */
17
- export class InstallCommand {
18
- root;
19
- options;
20
- constructor(root, options) {
21
- this.root = root;
22
- this.options = options;
23
- }
24
- async execute() {
25
- const pm = this.root.packageManifest;
26
- const commandDiagnostics = [];
27
- const manifestResult = await pm.readManifest();
28
- if (!manifestResult.ok)
29
- return this.fail(manifestResult.diagnostics);
30
- const manifest = manifestResult.value;
31
- let previousLockfile = null;
32
- if (!this.options.frozen) {
33
- const previousLockfileResult = await pm.readLockfileOptional();
34
- if (!previousLockfileResult.ok)
35
- return this.fail(previousLockfileResult.diagnostics);
36
- previousLockfile = previousLockfileResult.value;
37
- }
38
- const installResult = await pm.install({ frozen: this.options.frozen });
39
- if (!installResult.ok)
40
- return this.fail([...commandDiagnostics, ...installResult.diagnostics]);
41
- commandDiagnostics.push(...installResult.diagnostics);
42
- const lockfile = installResult.value;
43
- if (this.options.frozen) {
44
- previousLockfile = lockfile;
45
- }
46
- const progress = new InstallProgressReporter();
47
- const consumer = progress.consume(this.root.installer.getStatusStream());
48
- // Trusted roots for verification-gated traversal: the manifest's declared buckets.
49
- const rootDependencies = [
50
- ...Object.keys(manifest.dependencies ?? {}),
51
- ...Object.keys(manifest.devDependencies ?? {}),
52
- ...Object.keys(manifest.peerDependencies ?? {}),
53
- ];
54
- const executeResult = await this.root.installer.execute(lockfile, previousLockfile, {
55
- manifestRoot: this.root.cwd,
56
- force: this.options.force,
57
- dryRun: this.options.dryRun,
58
- rootDependencies,
59
- });
60
- await consumer;
61
- if (!executeResult.ok)
62
- return this.fail([...commandDiagnostics, ...executeResult.diagnostics]);
63
- const report = executeResult.value;
64
- const plan = report.plan;
65
- const hasBranchFailures = report.failed.length > 0 || report.skipped.length > 0;
66
- const builder = new PostinstallCandidateBuilder();
67
- const candidates = builder.build(this.root, plan, lockfile, new Set(report.installed));
68
- const manifestType = builder.resolveManifestType(manifest);
69
- let postDiagnostics = [];
70
- if (!this.options.dryRun && candidates.length > 0) {
71
- const moduleNameOverride = manifest.kind === 'project' ? manifest.postinstall?.modules : undefined;
72
- const postResult = await this.root.postinstall.run({
73
- projectRoot: this.root.cwd,
74
- manifestType,
75
- candidates,
76
- moduleNameOverride,
77
- });
78
- postDiagnostics = postResult.diagnostics;
79
- if (!postResult.ok) {
80
- return this.fail([...commandDiagnostics, ...executeResult.diagnostics, ...postResult.diagnostics]);
81
- }
82
- }
83
- if (this.options.outputFormat === 'json') {
84
- this.root.json.emit({
85
- status: hasBranchFailures ? 'error' : 'ok',
86
- command: 'install',
87
- data: {
88
- plan: plan.summary,
89
- installed: report.installed,
90
- failed: report.failed,
91
- skipped: report.skipped,
92
- incompleteClosure: report.incompleteClosure,
93
- },
94
- diagnostics: [...commandDiagnostics, ...executeResult.diagnostics, ...postDiagnostics],
95
- });
96
- return hasBranchFailures ? 1 : 0;
97
- }
98
- this.root.diagnostics.reportAll([...commandDiagnostics, ...executeResult.diagnostics, ...postDiagnostics]);
99
- progress.renderSummary(plan.summary);
100
- return hasBranchFailures ? 1 : 0;
101
- }
102
- fail(diagnostics) {
103
- if (this.options.outputFormat === 'json') {
104
- this.root.json.emit({ status: 'error', command: 'install', diagnostics });
105
- }
106
- else {
107
- this.root.diagnostics.reportAll(diagnostics);
108
- }
109
- return 1;
110
- }
111
- }
6
+ * `uapkg install` — resolve → plan → download/extract/remove → postinstall.
7
+ *
8
+ * Pipeline (never throws; errors become diagnostics):
9
+ *
10
+ * 1. Read manifest + previous lockfile (best-effort).
11
+ * 2. `PackageManifest.install({ frozen })` → writes a fresh lockfile.
12
+ * 3. `Installer.execute(...)` → executes the install plan.
13
+ * 4. Consume installer's status stream in parallel via `InstallProgressReporter`.
14
+ * 5. On success (non-dryRun), `PostinstallOrchestrator.run()` for added/updated plugins.
15
+ * 6. Report summary + diagnostics.
16
+ *
17
+ * `--force` and `--frozen` are mutually exclusive; the parser layer enforces this.
18
+ */
19
+ var InstallCommand = class {
20
+ root;
21
+ options;
22
+ constructor(root, options) {
23
+ this.root = root;
24
+ this.options = options;
25
+ }
26
+ async execute() {
27
+ const pm = this.root.packageManifest;
28
+ const commandDiagnostics = [];
29
+ const manifestResult = await pm.readManifest();
30
+ if (!manifestResult.ok) return this.fail(manifestResult.diagnostics);
31
+ const manifest = manifestResult.value;
32
+ let previousLockfile = null;
33
+ if (!this.options.frozen) {
34
+ const previousLockfileResult = await pm.readLockfileOptional();
35
+ if (!previousLockfileResult.ok) return this.fail(previousLockfileResult.diagnostics);
36
+ previousLockfile = previousLockfileResult.value;
37
+ }
38
+ const installResult = await pm.install({ frozen: this.options.frozen });
39
+ if (!installResult.ok) return this.fail([...commandDiagnostics, ...installResult.diagnostics]);
40
+ commandDiagnostics.push(...installResult.diagnostics);
41
+ const lockfile = installResult.value;
42
+ if (this.options.frozen) previousLockfile = lockfile;
43
+ const progress = new InstallProgressReporter();
44
+ const consumer = progress.consume(this.root.installer.getStatusStream());
45
+ const rootDependencies = [
46
+ ...Object.keys(manifest.dependencies ?? {}),
47
+ ...Object.keys(manifest.devDependencies ?? {}),
48
+ ...Object.keys(manifest.peerDependencies ?? {})
49
+ ];
50
+ const executeResult = await this.root.installer.execute(lockfile, previousLockfile, {
51
+ manifestRoot: this.root.cwd,
52
+ force: this.options.force,
53
+ dryRun: this.options.dryRun,
54
+ rootDependencies
55
+ });
56
+ await consumer;
57
+ if (!executeResult.ok) return this.fail([...commandDiagnostics, ...executeResult.diagnostics]);
58
+ const report = executeResult.value;
59
+ const plan = report.plan;
60
+ const hasBranchFailures = report.failed.length > 0 || report.skipped.length > 0;
61
+ const builder = new PostinstallCandidateBuilder();
62
+ const candidates = builder.build(this.root, plan, lockfile, new Set(report.installed));
63
+ const manifestType = builder.resolveManifestType(manifest);
64
+ let postDiagnostics = [];
65
+ if (!this.options.dryRun && candidates.length > 0) {
66
+ const moduleNameOverride = manifest.kind === "project" ? manifest.postinstall?.modules : void 0;
67
+ const postResult = await this.root.postinstall.run({
68
+ projectRoot: this.root.cwd,
69
+ manifestType,
70
+ candidates,
71
+ moduleNameOverride
72
+ });
73
+ postDiagnostics = postResult.diagnostics;
74
+ if (!postResult.ok) return this.fail([
75
+ ...commandDiagnostics,
76
+ ...executeResult.diagnostics,
77
+ ...postResult.diagnostics
78
+ ]);
79
+ }
80
+ if (this.options.outputFormat === "json") {
81
+ this.root.json.emit({
82
+ status: hasBranchFailures ? "error" : "ok",
83
+ command: "install",
84
+ data: {
85
+ plan: plan.summary,
86
+ installed: report.installed,
87
+ failed: report.failed,
88
+ skipped: report.skipped,
89
+ incompleteClosure: report.incompleteClosure
90
+ },
91
+ diagnostics: [
92
+ ...commandDiagnostics,
93
+ ...executeResult.diagnostics,
94
+ ...postDiagnostics
95
+ ]
96
+ });
97
+ return hasBranchFailures ? 1 : 0;
98
+ }
99
+ this.root.diagnostics.reportAll([
100
+ ...commandDiagnostics,
101
+ ...executeResult.diagnostics,
102
+ ...postDiagnostics
103
+ ]);
104
+ progress.renderSummary(plan.summary);
105
+ return hasBranchFailures ? 1 : 0;
106
+ }
107
+ fail(diagnostics) {
108
+ if (this.options.outputFormat === "json") this.root.json.emit({
109
+ status: "error",
110
+ command: "install",
111
+ diagnostics
112
+ });
113
+ else this.root.diagnostics.reportAll(diagnostics);
114
+ return 1;
115
+ }
116
+ };
117
+
118
+ //#endregion
119
+ export { InstallCommand };
112
120
  //# sourceMappingURL=InstallCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstallCommand.js","sourceRoot":"","sources":["../../src/commands/InstallCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstallCommand.js","names":[],"sources":["../../src/commands/InstallCommand.ts"],"sourcesContent":["import type { Diagnostic } from '@uapkg/diagnostics';\nimport type { Lockfile } from '@uapkg/package-manifest-schema';\nimport type { CompositionRoot } from '../app/CompositionRoot.js';\nimport { InstallProgressReporter } from '../reporting/InstallProgressReporter.js';\nimport type { Command } from './Command.js';\nimport { PostinstallCandidateBuilder } from './PostinstallCandidateBuilder.js';\n\nexport interface InstallCommandOptions {\n readonly force: boolean;\n readonly frozen: boolean;\n readonly dryRun: boolean;\n readonly outputFormat: 'text' | 'json';\n}\n\n/**\n * `uapkg install` — resolve → plan → download/extract/remove → postinstall.\n *\n * Pipeline (never throws; errors become diagnostics):\n *\n * 1. Read manifest + previous lockfile (best-effort).\n * 2. `PackageManifest.install({ frozen })` → writes a fresh lockfile.\n * 3. `Installer.execute(...)` → executes the install plan.\n * 4. Consume installer's status stream in parallel via `InstallProgressReporter`.\n * 5. On success (non-dryRun), `PostinstallOrchestrator.run()` for added/updated plugins.\n * 6. Report summary + diagnostics.\n *\n * `--force` and `--frozen` are mutually exclusive; the parser layer enforces this.\n */\nexport class InstallCommand implements Command {\n public constructor(\n private readonly root: CompositionRoot,\n private readonly options: InstallCommandOptions,\n ) {}\n\n public async execute(): Promise<number> {\n const pm = this.root.packageManifest;\n const commandDiagnostics: Diagnostic[] = [];\n\n const manifestResult = await pm.readManifest();\n if (!manifestResult.ok) return this.fail(manifestResult.diagnostics);\n const manifest = manifestResult.value;\n\n let previousLockfile: Lockfile | null = null;\n if (!this.options.frozen) {\n const previousLockfileResult = await pm.readLockfileOptional();\n if (!previousLockfileResult.ok) return this.fail(previousLockfileResult.diagnostics);\n previousLockfile = previousLockfileResult.value;\n }\n\n const installResult = await pm.install({ frozen: this.options.frozen });\n if (!installResult.ok) return this.fail([...commandDiagnostics, ...installResult.diagnostics]);\n commandDiagnostics.push(...installResult.diagnostics);\n const lockfile = installResult.value;\n if (this.options.frozen) {\n previousLockfile = lockfile;\n }\n\n const progress = new InstallProgressReporter();\n const consumer = progress.consume(this.root.installer.getStatusStream());\n\n // Trusted roots for verification-gated traversal: the manifest's declared buckets.\n const rootDependencies = [\n ...Object.keys(manifest.dependencies ?? {}),\n ...Object.keys(manifest.devDependencies ?? {}),\n ...Object.keys(manifest.peerDependencies ?? {}),\n ];\n\n const executeResult = await this.root.installer.execute(lockfile, previousLockfile, {\n manifestRoot: this.root.cwd,\n force: this.options.force,\n dryRun: this.options.dryRun,\n rootDependencies,\n });\n await consumer;\n\n if (!executeResult.ok) return this.fail([...commandDiagnostics, ...executeResult.diagnostics]);\n const report = executeResult.value;\n const plan = report.plan;\n const hasBranchFailures = report.failed.length > 0 || report.skipped.length > 0;\n\n const builder = new PostinstallCandidateBuilder();\n const candidates = builder.build(this.root, plan, lockfile, new Set(report.installed));\n const manifestType = builder.resolveManifestType(manifest);\n\n let postDiagnostics: readonly Diagnostic[] = [];\n if (!this.options.dryRun && candidates.length > 0) {\n const moduleNameOverride = manifest.kind === 'project' ? manifest.postinstall?.modules : undefined;\n const postResult = await this.root.postinstall.run({\n projectRoot: this.root.cwd,\n manifestType,\n candidates,\n moduleNameOverride,\n });\n postDiagnostics = postResult.diagnostics;\n if (!postResult.ok) {\n return this.fail([...commandDiagnostics, ...executeResult.diagnostics, ...postResult.diagnostics]);\n }\n }\n\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({\n status: hasBranchFailures ? 'error' : 'ok',\n command: 'install',\n data: {\n plan: plan.summary,\n installed: report.installed,\n failed: report.failed,\n skipped: report.skipped,\n incompleteClosure: report.incompleteClosure,\n },\n diagnostics: [...commandDiagnostics, ...executeResult.diagnostics, ...postDiagnostics],\n });\n return hasBranchFailures ? 1 : 0;\n }\n\n this.root.diagnostics.reportAll([...commandDiagnostics, ...executeResult.diagnostics, ...postDiagnostics]);\n progress.renderSummary(plan.summary);\n return hasBranchFailures ? 1 : 0;\n }\n\n private fail(diagnostics: readonly Diagnostic[]): number {\n if (this.options.outputFormat === 'json') {\n this.root.json.emit({ status: 'error', command: 'install', diagnostics });\n } else {\n this.root.diagnostics.reportAll(diagnostics);\n }\n return 1;\n }\n}\n"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { CompositionRoot } from '../app/CompositionRoot.js';
2
- import type { Command } from './Command.js';
3
- export interface ListCommandOptions {
4
- readonly depth: number;
5
- readonly outputFormat: 'text' | 'json';
1
+ import { CompositionRoot } from "../app/CompositionRoot.js";
2
+ import { Command } from "./Command.js";
3
+ //#region src/commands/ListCommand.d.ts
4
+ interface ListCommandOptions {
5
+ readonly depth: number;
6
+ readonly outputFormat: 'text' | 'json';
6
7
  }
7
8
  /**
8
9
  * `uapkg list [--depth N]` — renders the resolved dependency tree.
@@ -11,10 +12,12 @@ export interface ListCommandOptions {
11
12
  * prints only root declarations; `Infinity` prints everything (duplicates
12
13
  * guarded so cycles can't loop forever).
13
14
  */
14
- export declare class ListCommand implements Command {
15
- private readonly root;
16
- private readonly options;
17
- constructor(root: CompositionRoot, options: ListCommandOptions);
18
- execute(): Promise<number>;
15
+ declare class ListCommand implements Command {
16
+ private readonly root;
17
+ private readonly options;
18
+ constructor(root: CompositionRoot, options: ListCommandOptions);
19
+ execute(): Promise<number>;
19
20
  }
21
+ //#endregion
22
+ export { ListCommand, ListCommandOptions };
20
23
  //# sourceMappingURL=ListCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListCommand.d.ts","sourceRoot":"","sources":["../../src/commands/ListCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAED;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,OAAO;IAEvC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,kBAAkB;IAGjC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAyExC"}
1
+ {"version":3,"file":"ListCommand.d.ts","names":[],"sources":["../../src/commands/ListCommand.ts"],"mappings":";;;UAGiB;WACN;WACA;;;;;;;;;cAUE,uBAAuB;mBAEf;mBACA;EAFnB,YACmB,MAAM,iBACN,SAAS;EAGf,WAAW"}