@rockcarver/frodo-cli 2.0.0-57 → 2.0.0-58

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 (398) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/esm/cli/FrodoCommand.js +9 -1
  3. package/esm/cli/FrodoCommand.js.map +1 -1
  4. package/esm/cli/_template/something-delete.js +14 -12
  5. package/esm/cli/_template/something-delete.js.map +1 -1
  6. package/esm/cli/_template/something-describe.js +14 -12
  7. package/esm/cli/_template/something-describe.js.map +1 -1
  8. package/esm/cli/_template/something-else-delete.js +14 -12
  9. package/esm/cli/_template/something-else-delete.js.map +1 -1
  10. package/esm/cli/_template/something-else-describe.js +14 -12
  11. package/esm/cli/_template/something-else-describe.js.map +1 -1
  12. package/esm/cli/_template/something-else-export.js +14 -12
  13. package/esm/cli/_template/something-else-export.js.map +1 -1
  14. package/esm/cli/_template/something-else-import.js +14 -12
  15. package/esm/cli/_template/something-else-import.js.map +1 -1
  16. package/esm/cli/_template/something-else-list.js +14 -12
  17. package/esm/cli/_template/something-else-list.js.map +1 -1
  18. package/esm/cli/_template/something-else.js +15 -8
  19. package/esm/cli/_template/something-else.js.map +1 -1
  20. package/esm/cli/_template/something-export.js +14 -12
  21. package/esm/cli/_template/something-export.js.map +1 -1
  22. package/esm/cli/_template/something-import.js +14 -12
  23. package/esm/cli/_template/something-import.js.map +1 -1
  24. package/esm/cli/_template/something-list.js +14 -12
  25. package/esm/cli/_template/something-list.js.map +1 -1
  26. package/esm/cli/_template/something-other-delete.js +14 -12
  27. package/esm/cli/_template/something-other-delete.js.map +1 -1
  28. package/esm/cli/_template/something-other-describe.js +14 -12
  29. package/esm/cli/_template/something-other-describe.js.map +1 -1
  30. package/esm/cli/_template/something-other-export.js +14 -12
  31. package/esm/cli/_template/something-other-export.js.map +1 -1
  32. package/esm/cli/_template/something-other-import.js +14 -12
  33. package/esm/cli/_template/something-other-import.js.map +1 -1
  34. package/esm/cli/_template/something-other-list.js +14 -12
  35. package/esm/cli/_template/something-other-list.js.map +1 -1
  36. package/esm/cli/_template/something-other.js +15 -8
  37. package/esm/cli/_template/something-other.js.map +1 -1
  38. package/esm/cli/_template/something.js +15 -11
  39. package/esm/cli/_template/something.js.map +1 -1
  40. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +16 -14
  41. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  42. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +62 -60
  43. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  44. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +27 -25
  45. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +34 -32
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -1
  48. package/esm/cli/admin/admin-federation-import.js +39 -37
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -1
  50. package/esm/cli/admin/admin-federation-list.js +20 -18
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -1
  52. package/esm/cli/admin/admin-federation.js +16 -8
  53. package/esm/cli/admin/admin-federation.js.map +1 -1
  54. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +29 -27
  55. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -1
  56. package/esm/cli/admin/admin-get-access-token.js +16 -14
  57. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  58. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +16 -14
  59. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  60. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +16 -14
  61. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +16 -14
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +16 -14
  65. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-list-static-user-mappings.js +16 -14
  67. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  68. package/esm/cli/admin/admin-remove-static-user-mapping.js +16 -14
  69. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  70. package/esm/cli/admin/admin-repair-org-model.js +16 -14
  71. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  72. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +16 -14
  73. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  74. package/esm/cli/admin/admin-show-generic-extension-attributes.js +16 -14
  75. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  76. package/esm/cli/admin/admin-train-auto-access-model.js +19 -17
  77. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -1
  78. package/esm/cli/admin/admin.js +34 -20
  79. package/esm/cli/admin/admin.js.map +1 -1
  80. package/esm/cli/agent/agent-delete.js +28 -26
  81. package/esm/cli/agent/agent-delete.js.map +1 -1
  82. package/esm/cli/agent/agent-describe.js +14 -12
  83. package/esm/cli/agent/agent-describe.js.map +1 -1
  84. package/esm/cli/agent/agent-export.js +34 -32
  85. package/esm/cli/agent/agent-export.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-delete.js +28 -26
  87. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-describe.js +14 -12
  89. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-export.js +34 -32
  91. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-import.js +40 -38
  93. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway-list.js +15 -13
  95. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  96. package/esm/cli/agent/agent-gateway.js +15 -8
  97. package/esm/cli/agent/agent-gateway.js.map +1 -1
  98. package/esm/cli/agent/agent-import.js +40 -38
  99. package/esm/cli/agent/agent-import.js.map +1 -1
  100. package/esm/cli/agent/agent-java-delete.js +28 -26
  101. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  102. package/esm/cli/agent/agent-java-describe.js +14 -12
  103. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  104. package/esm/cli/agent/agent-java-export.js +34 -32
  105. package/esm/cli/agent/agent-java-export.js.map +1 -1
  106. package/esm/cli/agent/agent-java-import.js +40 -38
  107. package/esm/cli/agent/agent-java-import.js.map +1 -1
  108. package/esm/cli/agent/agent-java-list.js +15 -13
  109. package/esm/cli/agent/agent-java-list.js.map +1 -1
  110. package/esm/cli/agent/agent-java.js +15 -8
  111. package/esm/cli/agent/agent-java.js.map +1 -1
  112. package/esm/cli/agent/agent-list.js +15 -13
  113. package/esm/cli/agent/agent-list.js.map +1 -1
  114. package/esm/cli/agent/agent-web-delete.js +28 -26
  115. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  116. package/esm/cli/agent/agent-web-describe.js +14 -12
  117. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  118. package/esm/cli/agent/agent-web-export.js +34 -32
  119. package/esm/cli/agent/agent-web-export.js.map +1 -1
  120. package/esm/cli/agent/agent-web-import.js +40 -38
  121. package/esm/cli/agent/agent-web-import.js.map +1 -1
  122. package/esm/cli/agent/agent-web-list.js +15 -13
  123. package/esm/cli/agent/agent-web-list.js.map +1 -1
  124. package/esm/cli/agent/agent-web.js +15 -8
  125. package/esm/cli/agent/agent-web.js.map +1 -1
  126. package/esm/cli/agent/agent.js +17 -12
  127. package/esm/cli/agent/agent.js.map +1 -1
  128. package/esm/cli/app/app-delete.js +27 -25
  129. package/esm/cli/app/app-delete.js.map +1 -1
  130. package/esm/cli/app/app-describe.js +14 -12
  131. package/esm/cli/app/app-describe.js.map +1 -1
  132. package/esm/cli/app/app-export.js +42 -40
  133. package/esm/cli/app/app-export.js.map +1 -1
  134. package/esm/cli/app/app-import.js +47 -45
  135. package/esm/cli/app/app-import.js.map +1 -1
  136. package/esm/cli/app/app-list.js +16 -14
  137. package/esm/cli/app/app-list.js.map +1 -1
  138. package/esm/cli/app/app.js +11 -10
  139. package/esm/cli/app/app.js.map +1 -1
  140. package/esm/cli/authn/authn-describe.js +20 -18
  141. package/esm/cli/authn/authn-describe.js.map +1 -1
  142. package/esm/cli/authn/authn-export.js +16 -14
  143. package/esm/cli/authn/authn-export.js.map +1 -1
  144. package/esm/cli/authn/authn-import.js +16 -14
  145. package/esm/cli/authn/authn-import.js.map +1 -1
  146. package/esm/cli/authn/authn.js +7 -7
  147. package/esm/cli/authn/authn.js.map +1 -1
  148. package/esm/cli/authz/authz-policy-delete.js +33 -31
  149. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  150. package/esm/cli/authz/authz-policy-describe.js +20 -18
  151. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-export.js +65 -63
  153. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-import.js +55 -53
  155. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  156. package/esm/cli/authz/authz-policy-list.js +27 -25
  157. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  158. package/esm/cli/authz/authz-policy.js +15 -8
  159. package/esm/cli/authz/authz-policy.js.map +1 -1
  160. package/esm/cli/authz/authz-set-delete.js +27 -25
  161. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  162. package/esm/cli/authz/authz-set-describe.js +20 -18
  163. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  164. package/esm/cli/authz/authz-set-export.js +45 -43
  165. package/esm/cli/authz/authz-set-export.js.map +1 -1
  166. package/esm/cli/authz/authz-set-import.js +51 -49
  167. package/esm/cli/authz/authz-set-import.js.map +1 -1
  168. package/esm/cli/authz/authz-set-list.js +16 -14
  169. package/esm/cli/authz/authz-set-list.js.map +1 -1
  170. package/esm/cli/authz/authz-set.js +15 -8
  171. package/esm/cli/authz/authz-set.js.map +1 -1
  172. package/esm/cli/authz/authz-type-delete.js +33 -31
  173. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  174. package/esm/cli/authz/authz-type-describe.js +24 -22
  175. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  176. package/esm/cli/authz/authz-type-export.js +39 -37
  177. package/esm/cli/authz/authz-type-export.js.map +1 -1
  178. package/esm/cli/authz/authz-type-import.js +45 -43
  179. package/esm/cli/authz/authz-type-import.js.map +1 -1
  180. package/esm/cli/authz/authz-type-list.js +16 -14
  181. package/esm/cli/authz/authz-type-list.js.map +1 -1
  182. package/esm/cli/authz/authz-type.js +15 -8
  183. package/esm/cli/authz/authz-type.js.map +1 -1
  184. package/esm/cli/authz/authz.js +7 -7
  185. package/esm/cli/authz/authz.js.map +1 -1
  186. package/esm/cli/config/config-delete.js +14 -12
  187. package/esm/cli/config/config-delete.js.map +1 -1
  188. package/esm/cli/config/config-describe.js +14 -12
  189. package/esm/cli/config/config-describe.js.map +1 -1
  190. package/esm/cli/config/config-export.js +43 -41
  191. package/esm/cli/config/config-export.js.map +1 -1
  192. package/esm/cli/config/config-import.js +53 -51
  193. package/esm/cli/config/config-import.js.map +1 -1
  194. package/esm/cli/config/config-list.js +14 -12
  195. package/esm/cli/config/config-list.js.map +1 -1
  196. package/esm/cli/config/config.js +12 -9
  197. package/esm/cli/config/config.js.map +1 -1
  198. package/esm/cli/conn/conn-delete.js +15 -13
  199. package/esm/cli/conn/conn-delete.js.map +1 -1
  200. package/esm/cli/conn/conn-describe.js +11 -9
  201. package/esm/cli/conn/conn-describe.js.map +1 -1
  202. package/esm/cli/conn/conn-list.js +11 -9
  203. package/esm/cli/conn/conn-list.js.map +1 -1
  204. package/esm/cli/conn/conn-save.js +77 -75
  205. package/esm/cli/conn/conn-save.js.map +1 -1
  206. package/esm/cli/conn/conn.js +9 -8
  207. package/esm/cli/conn/conn.js.map +1 -1
  208. package/esm/cli/email/email-template-export.js +33 -31
  209. package/esm/cli/email/email-template-export.js.map +1 -1
  210. package/esm/cli/email/email-template-import.js +39 -37
  211. package/esm/cli/email/email-template-import.js.map +1 -1
  212. package/esm/cli/email/email-template-list.js +16 -14
  213. package/esm/cli/email/email-template-list.js.map +1 -1
  214. package/esm/cli/email/email-template.js +11 -6
  215. package/esm/cli/email/email-template.js.map +1 -1
  216. package/esm/cli/email/email.js +3 -5
  217. package/esm/cli/email/email.js.map +1 -1
  218. package/esm/cli/esv/esv-apply.js +39 -37
  219. package/esm/cli/esv/esv-apply.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-create.js +19 -17
  221. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-delete.js +26 -24
  223. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-describe.js +16 -14
  225. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-export.js +25 -23
  227. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-import.js +14 -12
  229. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-list.js +16 -14
  231. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  232. package/esm/cli/esv/esv-secret-set.js +16 -14
  233. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  234. package/esm/cli/esv/esv-secret-version-activate.js +20 -18
  235. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  236. package/esm/cli/esv/esv-secret-version-create.js +19 -17
  237. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  238. package/esm/cli/esv/esv-secret-version-deactivate.js +20 -18
  239. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  240. package/esm/cli/esv/esv-secret-version-delete.js +26 -24
  241. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  242. package/esm/cli/esv/esv-secret-version-list.js +16 -14
  243. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  244. package/esm/cli/esv/esv-secret-version.js +15 -8
  245. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  246. package/esm/cli/esv/esv-secret.js +21 -11
  247. package/esm/cli/esv/esv-secret.js.map +1 -1
  248. package/esm/cli/esv/esv-variable-create.js +16 -14
  249. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  250. package/esm/cli/esv/esv-variable-delete.js +27 -25
  251. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  252. package/esm/cli/esv/esv-variable-describe.js +16 -14
  253. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  254. package/esm/cli/esv/esv-variable-export.js +26 -24
  255. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  256. package/esm/cli/esv/esv-variable-import.js +14 -12
  257. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  258. package/esm/cli/esv/esv-variable-list.js +16 -14
  259. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  260. package/esm/cli/esv/esv-variable-set.js +24 -22
  261. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  262. package/esm/cli/esv/esv-variable.js +19 -10
  263. package/esm/cli/esv/esv-variable.js.map +1 -1
  264. package/esm/cli/esv/esv.js +7 -7
  265. package/esm/cli/esv/esv.js.map +1 -1
  266. package/esm/cli/idm/idm-count.js +16 -14
  267. package/esm/cli/idm/idm-count.js.map +1 -1
  268. package/esm/cli/idm/idm-export.js +41 -39
  269. package/esm/cli/idm/idm-export.js.map +1 -1
  270. package/esm/cli/idm/idm-import.js +45 -43
  271. package/esm/cli/idm/idm-import.js.map +1 -1
  272. package/esm/cli/idm/idm-list.js +21 -19
  273. package/esm/cli/idm/idm-list.js.map +1 -1
  274. package/esm/cli/idm/idm.js +9 -8
  275. package/esm/cli/idm/idm.js.map +1 -1
  276. package/esm/cli/idp/idp-export.js +34 -32
  277. package/esm/cli/idp/idp-export.js.map +1 -1
  278. package/esm/cli/idp/idp-import.js +47 -45
  279. package/esm/cli/idp/idp-import.js.map +1 -1
  280. package/esm/cli/idp/idp-list.js +20 -18
  281. package/esm/cli/idp/idp-list.js.map +1 -1
  282. package/esm/cli/idp/idp.js +7 -7
  283. package/esm/cli/idp/idp.js.map +1 -1
  284. package/esm/cli/journey/journey-delete.js +27 -25
  285. package/esm/cli/journey/journey-delete.js.map +1 -1
  286. package/esm/cli/journey/journey-describe.js +92 -90
  287. package/esm/cli/journey/journey-describe.js.map +1 -1
  288. package/esm/cli/journey/journey-disable.js +27 -25
  289. package/esm/cli/journey/journey-disable.js.map +1 -1
  290. package/esm/cli/journey/journey-enable.js +27 -25
  291. package/esm/cli/journey/journey-enable.js.map +1 -1
  292. package/esm/cli/journey/journey-export.js +55 -53
  293. package/esm/cli/journey/journey-export.js.map +1 -1
  294. package/esm/cli/journey/journey-import.js +51 -49
  295. package/esm/cli/journey/journey-import.js.map +1 -1
  296. package/esm/cli/journey/journey-list.js +16 -14
  297. package/esm/cli/journey/journey-list.js.map +1 -1
  298. package/esm/cli/journey/journey-prune.js +26 -24
  299. package/esm/cli/journey/journey-prune.js.map +1 -1
  300. package/esm/cli/journey/journey.js +17 -12
  301. package/esm/cli/journey/journey.js.map +1 -1
  302. package/esm/cli/log/log-fetch.js +98 -96
  303. package/esm/cli/log/log-fetch.js.map +1 -1
  304. package/esm/cli/log/log-key-delete.js +25 -23
  305. package/esm/cli/log/log-key-delete.js.map +1 -1
  306. package/esm/cli/log/log-key-describe.js +14 -12
  307. package/esm/cli/log/log-key-describe.js.map +1 -1
  308. package/esm/cli/log/log-key-list.js +16 -14
  309. package/esm/cli/log/log-key-list.js.map +1 -1
  310. package/esm/cli/log/log-key.js +11 -6
  311. package/esm/cli/log/log-key.js.map +1 -1
  312. package/esm/cli/log/log-list.js +70 -68
  313. package/esm/cli/log/log-list.js.map +1 -1
  314. package/esm/cli/log/log-tail.js +60 -58
  315. package/esm/cli/log/log-tail.js.map +1 -1
  316. package/esm/cli/log/log.js +9 -8
  317. package/esm/cli/log/log.js.map +1 -1
  318. package/esm/cli/oauth/oauth-client-delete.js +14 -12
  319. package/esm/cli/oauth/oauth-client-delete.js.map +1 -1
  320. package/esm/cli/oauth/oauth-client-describe.js +14 -12
  321. package/esm/cli/oauth/oauth-client-describe.js.map +1 -1
  322. package/esm/cli/oauth/oauth-client-export.js +42 -40
  323. package/esm/cli/oauth/oauth-client-export.js.map +1 -1
  324. package/esm/cli/oauth/oauth-client-import.js +47 -45
  325. package/esm/cli/oauth/oauth-client-import.js.map +1 -1
  326. package/esm/cli/oauth/oauth-client-list.js +16 -14
  327. package/esm/cli/oauth/oauth-client-list.js.map +1 -1
  328. package/esm/cli/oauth/oauth-client.js +16 -8
  329. package/esm/cli/oauth/oauth-client.js.map +1 -1
  330. package/esm/cli/oauth/oauth.js +4 -6
  331. package/esm/cli/oauth/oauth.js.map +1 -1
  332. package/esm/cli/realm/realm-add-custom-domain.js +15 -13
  333. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  334. package/esm/cli/realm/realm-describe.js +15 -13
  335. package/esm/cli/realm/realm-describe.js.map +1 -1
  336. package/esm/cli/realm/realm-list.js +15 -13
  337. package/esm/cli/realm/realm-list.js.map +1 -1
  338. package/esm/cli/realm/realm-remove-custom-domain.js +15 -13
  339. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  340. package/esm/cli/realm/realm.js +13 -10
  341. package/esm/cli/realm/realm.js.map +1 -1
  342. package/esm/cli/saml/saml-cot-export.js +33 -31
  343. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  344. package/esm/cli/saml/saml-cot-import.js +39 -37
  345. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  346. package/esm/cli/saml/saml-cot-list.js +16 -14
  347. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  348. package/esm/cli/saml/saml-cot.js +11 -6
  349. package/esm/cli/saml/saml-cot.js.map +1 -1
  350. package/esm/cli/saml/saml-delete.js +25 -23
  351. package/esm/cli/saml/saml-delete.js.map +1 -1
  352. package/esm/cli/saml/saml-describe.js +16 -14
  353. package/esm/cli/saml/saml-describe.js.map +1 -1
  354. package/esm/cli/saml/saml-export.js +39 -37
  355. package/esm/cli/saml/saml-export.js.map +1 -1
  356. package/esm/cli/saml/saml-import.js +47 -45
  357. package/esm/cli/saml/saml-import.js.map +1 -1
  358. package/esm/cli/saml/saml-list.js +16 -14
  359. package/esm/cli/saml/saml-list.js.map +1 -1
  360. package/esm/cli/saml/saml-metadata-export.js +33 -31
  361. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  362. package/esm/cli/saml/saml-metadata.js +7 -4
  363. package/esm/cli/saml/saml-metadata.js.map +1 -1
  364. package/esm/cli/saml/saml.js +15 -11
  365. package/esm/cli/saml/saml.js.map +1 -1
  366. package/esm/cli/script/script-delete.js +28 -27
  367. package/esm/cli/script/script-delete.js.map +1 -1
  368. package/esm/cli/script/script-describe.js +14 -12
  369. package/esm/cli/script/script-describe.js.map +1 -1
  370. package/esm/cli/script/script-export.js +43 -41
  371. package/esm/cli/script/script-export.js.map +1 -1
  372. package/esm/cli/script/script-import.js +32 -30
  373. package/esm/cli/script/script-import.js.map +1 -1
  374. package/esm/cli/script/script-list.js +16 -14
  375. package/esm/cli/script/script-list.js.map +1 -1
  376. package/esm/cli/script/script.js +11 -9
  377. package/esm/cli/script/script.js.map +1 -1
  378. package/esm/cli/service/service-delete.js +18 -16
  379. package/esm/cli/service/service-delete.js.map +1 -1
  380. package/esm/cli/service/service-export.js +32 -30
  381. package/esm/cli/service/service-export.js.map +1 -1
  382. package/esm/cli/service/service-import.js +56 -54
  383. package/esm/cli/service/service-import.js.map +1 -1
  384. package/esm/cli/service/service-list.js +14 -12
  385. package/esm/cli/service/service-list.js.map +1 -1
  386. package/esm/cli/service/service.js +9 -8
  387. package/esm/cli/service/service.js.map +1 -1
  388. package/esm/cli/theme/theme-delete.js +33 -31
  389. package/esm/cli/theme/theme-delete.js.map +1 -1
  390. package/esm/cli/theme/theme-export.js +39 -37
  391. package/esm/cli/theme/theme-export.js.map +1 -1
  392. package/esm/cli/theme/theme-import.js +45 -43
  393. package/esm/cli/theme/theme-import.js.map +1 -1
  394. package/esm/cli/theme/theme-list.js +16 -14
  395. package/esm/cli/theme/theme-list.js.map +1 -1
  396. package/esm/cli/theme/theme.js +9 -8
  397. package/esm/cli/theme/theme.js.map +1 -1
  398. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.0.0-57] - 2024-05-02
11
+
10
12
  ## [2.0.0-56] - 2024-05-01
11
13
 
12
14
  ## [2.0.0-55] - 2024-04-09
@@ -1545,7 +1547,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1545
1547
  - Fixed problem with adding connection profiles
1546
1548
  - Miscellaneous bug fixes
1547
1549
 
1548
- [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-56...HEAD
1550
+ [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-57...HEAD
1551
+
1552
+ [2.0.0-57]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-56...v2.0.0-57
1549
1553
 
1550
1554
  [2.0.0-56]: https://github.com/rockcarver/frodo-cli/compare/v2.0.0-55...v2.0.0-56
1551
1555
 
@@ -1,5 +1,5 @@
1
1
  import { frodo, state } from '@rockcarver/frodo-lib';
2
- import { Argument, Command, Option } from 'commander';
2
+ import { Argument, Command, Help, Option } from 'commander';
3
3
  import fs from 'fs';
4
4
  import * as globalConfig from '../storage/StaticStorage';
5
5
  import { cleanupProgressIndicators, createProgressIndicator, curlirizeMessage, debugMessage, printMessage, stopProgressIndicator, updateProgressIndicator, verboseMessage } from '../utils/Console.js';
@@ -101,6 +101,14 @@ export class FrodoStubCommand extends Command {
101
101
  cleanupProgressIndicators();
102
102
  });
103
103
  }
104
+ createHelp() {
105
+ return Object.assign(new FrodoStubHelp(), this.configureHelp());
106
+ }
107
+ }
108
+ class FrodoStubHelp extends Help {
109
+ subcommandTerm(cmd) {
110
+ return cmd._name + (cmd._aliases[0] ? '|' + cmd._aliases[0] : '');
111
+ }
104
112
  }
105
113
 
106
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FrodoCommand.js","names":["frodo","state","Argument","Command","Option","fs","globalConfig","cleanupProgressIndicators","createProgressIndicator","curlirizeMessage","debugMessage","printMessage","stopProgressIndicator","updateProgressIndicator","verboseMessage","hostArgument","realmArgument","default","process","env","FRODO_REALM","DEFAULT_REALM_KEY","usernameArgument","passwordArgument","serviceAccountIdOption","serviceAccountJwkFileOption","deploymentOption","choices","DEPLOYMENT_TYPES","directoryOption","undefined","insecureOption","verboseOption","debugOption","curlirizeOption","noCacheOption","flushCacheOption","defaultArgs","defaultOpts","stateMap","name","host","setHost","realm","setRealm","username","setUsername","password","setPassword","attributeName","saId","setServiceAccountId","file","data","readFileSync","jwk","JSON","parse","toString","setServiceAccountJwk","error","message","type","setDeploymentType","directory","setDirectory","insecure","setAllowInsecureConnection","verbose","setVerbose","debug","setDebug","curlirize","setCurlirize","cache","setUseTokenCache","flush","FrodoStubCommand","constructor","listenerCount","on","_error$config","_error$config2","_error$response","config","method","url","response","stack","exitCode","helpOption","showHelpAfterError","configureHelp","sortSubcommands","sortOptions","setPrintHandler","setVerboseHandler","setDebugHandler","setCurlirizeHandler","setCreateProgressHandler","setUpdateProgressHandler","setStopProgressHandler","hook","thisCommand","actionCommand","FrodoCommand","omits","arg","includes","addArgument","opt","addOption","addHelpText","startsWith","handleDefaultArgsAndOpts","args","command","pop","options","i","v","entries","_args","length","Object","keys","handler","k"],"sources":["../../src/cli/FrodoCommand.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Argument, Command, Option } from 'commander';\nimport fs from 'fs';\n\nimport * as globalConfig from '../storage/StaticStorage';\nimport {\n cleanupProgressIndicators,\n createProgressIndicator,\n curlirizeMessage,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n verboseMessage,\n} from '../utils/Console.js';\n\nconst hostArgument = new Argument(\n '[host]',\n 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.'\n);\n\nconst realmArgument = new Argument(\n '[realm]',\n \"Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.\"\n).default(\n // must check for FRODO_REALM env variable here because otherwise cli will overwrite realm with default value\n process.env.FRODO_REALM || globalConfig.DEFAULT_REALM_KEY,\n '\"alpha\" for Identity Cloud tenants, \"/\" otherwise.'\n);\n\nconst usernameArgument = new Argument(\n '[username]',\n 'Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees.'\n);\n\nconst passwordArgument = new Argument('[password]', 'Password.');\n\nconst serviceAccountIdOption = new Option(\n '--sa-id <sa-id>',\n 'Service account id.'\n);\n\nconst serviceAccountJwkFileOption = new Option(\n '--sa-jwk-file <file>',\n 'File containing the JSON Web Key (JWK) associated with the the service account.'\n);\n\nconst deploymentOption = new Option(\n '-m, --type <type>',\n 'Override auto-detected deployment type. Valid values for type: \\n\\\nclassic: A classic Access Management-only deployment with custom layout and configuration. \\n\\\ncloud: A ForgeRock Identity Cloud environment. \\n\\\nforgeops: A ForgeOps CDK or CDM deployment. \\n\\\nThe detected or provided deployment type controls certain behavior like obtaining an Identity \\\nManagement admin token or not and whether to export/import referenced email templates or how \\\nto walk through the tenant admin login flow of Identity Cloud and handle MFA'\n).choices(globalConfig.DEPLOYMENT_TYPES);\n\nconst directoryOption = new Option(\n '-D, --directory <directory>',\n 'Set the working directory.'\n).default(undefined, 'undefined');\n\nconst insecureOption = new Option(\n '-k, --insecure',\n 'Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability.'\n).default(false, \"Don't allow insecure connections\");\n\nconst verboseOption = new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n);\n\nconst debugOption = new Option(\n '--debug',\n 'Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting.'\n);\n\nconst curlirizeOption = new Option(\n '--curlirize',\n 'Output all network calls in curl format.'\n);\n\nconst noCacheOption = new Option(\n '--no-cache',\n 'Disable token cache for this operation.'\n);\n\nconst flushCacheOption = new Option('--flush-cache', 'Flush token cache.');\n\nconst defaultArgs = [\n hostArgument,\n realmArgument,\n usernameArgument,\n passwordArgument,\n];\n\nconst defaultOpts = [\n serviceAccountIdOption,\n serviceAccountJwkFileOption,\n deploymentOption,\n directoryOption,\n insecureOption,\n verboseOption,\n debugOption,\n curlirizeOption,\n noCacheOption,\n flushCacheOption,\n];\n\nconst stateMap = {\n [hostArgument.name()]: (host: string) => state.setHost(host),\n [realmArgument.name()]: (realm: string) => state.setRealm(realm),\n [usernameArgument.name()]: (username: string) => state.setUsername(username),\n [passwordArgument.name()]: (password: string) => state.setPassword(password),\n [serviceAccountIdOption.attributeName()]: (saId: string) =>\n state.setServiceAccountId(saId),\n [serviceAccountJwkFileOption.attributeName()]: (file: string) => {\n try {\n const data = fs.readFileSync(file);\n const jwk = JSON.parse(data.toString());\n state.setServiceAccountJwk(jwk);\n } catch (error) {\n printMessage(\n `Error parsing JWK from file ${file}: ${error.message}`,\n 'error'\n );\n }\n },\n [deploymentOption.attributeName()]: (type: string) =>\n state.setDeploymentType(type),\n [directoryOption.attributeName()]: (directory: string) =>\n state.setDirectory(directory),\n [insecureOption.attributeName()]: (insecure: boolean) =>\n state.setAllowInsecureConnection(insecure),\n [verboseOption.attributeName()]: (verbose: boolean) =>\n state.setVerbose(verbose),\n [debugOption.attributeName()]: (debug: boolean) => state.setDebug(debug),\n [curlirizeOption.attributeName()]: (curlirize: boolean) =>\n state.setCurlirize(curlirize),\n [noCacheOption.attributeName()]: (cache: boolean) =>\n state.setUseTokenCache(cache),\n [flushCacheOption.attributeName()]: (flush: boolean) => {\n if (flush) frodo.cache.flush();\n },\n};\n\n/**\n * Command with default options\n */\nexport class FrodoStubCommand extends Command {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string) {\n super(name);\n\n if (!process.listenerCount('unhandledRejection')) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n process.on('unhandledRejection', (error: any) => {\n printMessage(\n `${error.config?.method ? error.config.method + ' ' : ''}${\n error.config?.url ? error.config.url : ''\n }`,\n 'error'\n );\n printMessage(error.response?.data, 'error');\n printMessage(error.stack, 'error');\n printMessage(\n `Please report this unhandled error here: https://github.com/rockcarver/frodo-cli/issues`,\n 'error'\n );\n process.exitCode = 1;\n });\n }\n\n // other default settings\n this.helpOption('-h, --help', 'Help');\n this.showHelpAfterError();\n this.configureHelp({\n sortSubcommands: true,\n sortOptions: true,\n });\n\n // register default handlers\n state.setPrintHandler(printMessage);\n state.setVerboseHandler(verboseMessage);\n state.setDebugHandler(debugMessage);\n state.setCurlirizeHandler(curlirizeMessage);\n state.setCreateProgressHandler(createProgressIndicator);\n state.setUpdateProgressHandler(updateProgressIndicator);\n state.setStopProgressHandler(stopProgressIndicator);\n\n // shutdown handlers\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.hook('postAction', (thisCommand, actionCommand) => {\n debugMessage(\n `FrodoCommand: running postAction hook: this command: ${thisCommand.name()}, action command: ${actionCommand.name()}`\n );\n cleanupProgressIndicators();\n });\n }\n}\n\n/**\n * Command with default options\n */\nexport class FrodoCommand extends FrodoStubCommand {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string, omits: string[] = []) {\n super(name);\n\n // register default arguments\n for (const arg of defaultArgs) {\n if (!omits.includes(arg.name())) this.addArgument(arg);\n }\n\n // register default options\n for (const opt of defaultOpts) {\n if (!omits.includes(opt.name())) this.addOption(opt);\n }\n\n // additional help\n this.addHelpText(\n 'after',\n `\\nEvironment Variables:\\n` +\n ` FRODO_HOST: Access Management base URL. Overrides 'host' argument.\\n` +\n ` FRODO_REALM: Realm. Overrides 'realm' argument.\\n` +\n ` FRODO_USERNAME: Username. Overrides 'username' argument.\\n` +\n ` FRODO_PASSWORD: Password. Overrides 'password' argument.\\n` +\n ` FRODO_SA_ID: Service account uuid. Overrides '--sa-id' option.\\n` +\n ` FRODO_SA_JWK: Service account JWK. Overrides '--sa-jwk-file' option but takes the actual JWK as a value, not a file name.\\n` +\n ` FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option.\\n` +\n ` FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'.\\n` +\n ('frodo conn save' === this.name()\n ? ` FRODO_LOG_KEY: Log API key. Overrides '--log-api-key' option.\\n` +\n ` FRODO_LOG_SECRET: Log API secret. Overrides '--log-api-secret' option.\\n`\n : ``) +\n (this.name().startsWith('frodo log')\n ? ` FRODO_LOG_KEY: Log API key. Overrides 'username' argument.\\n` +\n ` FRODO_LOG_SECRET: Log API secret. Overrides 'password' argument.\\n`\n : ``) +\n ` FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'.\\n` +\n ` FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use.\\n` +\n ` FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'.\\n` +\n ` FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file.\\n` +\n ` FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH.\\n`\n );\n }\n\n /**\n *\n * @param args\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleDefaultArgsAndOpts(...args: any) {\n const command = args.pop();\n const options = args.pop();\n\n // handle arguments first\n for (const [i, v] of command.args.entries()) {\n if (!command._args[i]) {\n printMessage(\n `${command.args.length} arguments supplied but command only supports ${command._args.length}.`,\n 'warn'\n );\n break;\n }\n const arg = command._args[i].name();\n // handle only default arguments\n if (Object.keys(stateMap).includes(arg)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default argument '${arg}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[arg];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default argument '${arg}'.`\n );\n }\n }\n\n // handle options\n for (const [k, v] of Object.entries(options)) {\n // handle only default options\n if (Object.keys(stateMap).includes(k)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default option '${k}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[k];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default option '${k}'.`\n );\n }\n }\n }\n}\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,QAAQ,EAAEC,OAAO,EAAEC,MAAM,QAAQ,WAAW;AACrD,OAAOC,EAAE,MAAM,IAAI;AAEnB,OAAO,KAAKC,YAAY,MAAM,0BAA0B;AACxD,SACEC,yBAAyB,EACzBC,uBAAuB,EACvBC,gBAAgB,EAChBC,YAAY,EACZC,YAAY,EACZC,qBAAqB,EACrBC,uBAAuB,EACvBC,cAAc,QACT,qBAAqB;AAE5B,MAAMC,YAAY,GAAG,IAAIb,QAAQ,CAC/B,QAAQ,EACR,iIACF,CAAC;AAED,MAAMc,aAAa,GAAG,IAAId,QAAQ,CAChC,SAAS,EACT,yFACF,CAAC,CAACe,OAAO;AACP;AACAC,OAAO,CAACC,GAAG,CAACC,WAAW,IAAId,YAAY,CAACe,iBAAiB,EACzD,oDACF,CAAC;AAED,MAAMC,gBAAgB,GAAG,IAAIpB,QAAQ,CACnC,YAAY,EACZ,gHACF,CAAC;AAED,MAAMqB,gBAAgB,GAAG,IAAIrB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;AAEhE,MAAMsB,sBAAsB,GAAG,IAAIpB,MAAM,CACvC,iBAAiB,EACjB,qBACF,CAAC;AAED,MAAMqB,2BAA2B,GAAG,IAAIrB,MAAM,CAC5C,sBAAsB,EACtB,iFACF,CAAC;AAED,MAAMsB,gBAAgB,GAAG,IAAItB,MAAM,CACjC,mBAAmB,EACnB;AACF;AACA;AACA;AACA;AACA;AACA,6EACA,CAAC,CAACuB,OAAO,CAACrB,YAAY,CAACsB,gBAAgB,CAAC;AAExC,MAAMC,eAAe,GAAG,IAAIzB,MAAM,CAChC,6BAA6B,EAC7B,4BACF,CAAC,CAACa,OAAO,CAACa,SAAS,EAAE,WAAW,CAAC;AAEjC,MAAMC,cAAc,GAAG,IAAI3B,MAAM,CAC/B,gBAAgB,EAChB,4LACF,CAAC,CAACa,OAAO,CAAC,KAAK,EAAE,kCAAkC,CAAC;AAEpD,MAAMe,aAAa,GAAG,IAAI5B,MAAM,CAC9B,WAAW,EACX,kGACF,CAAC;AAED,MAAM6B,WAAW,GAAG,IAAI7B,MAAM,CAC5B,SAAS,EACT,4HACF,CAAC;AAED,MAAM8B,eAAe,GAAG,IAAI9B,MAAM,CAChC,aAAa,EACb,0CACF,CAAC;AAED,MAAM+B,aAAa,GAAG,IAAI/B,MAAM,CAC9B,YAAY,EACZ,yCACF,CAAC;AAED,MAAMgC,gBAAgB,GAAG,IAAIhC,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;AAE1E,MAAMiC,WAAW,GAAG,CAClBtB,YAAY,EACZC,aAAa,EACbM,gBAAgB,EAChBC,gBAAgB,CACjB;AAED,MAAMe,WAAW,GAAG,CAClBd,sBAAsB,EACtBC,2BAA2B,EAC3BC,gBAAgB,EAChBG,eAAe,EACfE,cAAc,EACdC,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,aAAa,EACbC,gBAAgB,CACjB;AAED,MAAMG,QAAQ,GAAG;EACf,CAACxB,YAAY,CAACyB,IAAI,CAAC,CAAC,GAAIC,IAAY,IAAKxC,KAAK,CAACyC,OAAO,CAACD,IAAI,CAAC;EAC5D,CAACzB,aAAa,CAACwB,IAAI,CAAC,CAAC,GAAIG,KAAa,IAAK1C,KAAK,CAAC2C,QAAQ,CAACD,KAAK,CAAC;EAChE,CAACrB,gBAAgB,CAACkB,IAAI,CAAC,CAAC,GAAIK,QAAgB,IAAK5C,KAAK,CAAC6C,WAAW,CAACD,QAAQ,CAAC;EAC5E,CAACtB,gBAAgB,CAACiB,IAAI,CAAC,CAAC,GAAIO,QAAgB,IAAK9C,KAAK,CAAC+C,WAAW,CAACD,QAAQ,CAAC;EAC5E,CAACvB,sBAAsB,CAACyB,aAAa,CAAC,CAAC,GAAIC,IAAY,IACrDjD,KAAK,CAACkD,mBAAmB,CAACD,IAAI,CAAC;EACjC,CAACzB,2BAA2B,CAACwB,aAAa,CAAC,CAAC,GAAIG,IAAY,IAAK;IAC/D,IAAI;MACF,MAAMC,IAAI,GAAGhD,EAAE,CAACiD,YAAY,CAACF,IAAI,CAAC;MAClC,MAAMG,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,QAAQ,CAAC,CAAC,CAAC;MACvCzD,KAAK,CAAC0D,oBAAoB,CAACJ,GAAG,CAAC;IACjC,CAAC,CAAC,OAAOK,KAAK,EAAE;MACdjD,YAAY,CACT,+BAA8ByC,IAAK,KAAIQ,KAAK,CAACC,OAAQ,EAAC,EACvD,OACF,CAAC;IACH;EACF,CAAC;EACD,CAACnC,gBAAgB,CAACuB,aAAa,CAAC,CAAC,GAAIa,IAAY,IAC/C7D,KAAK,CAAC8D,iBAAiB,CAACD,IAAI,CAAC;EAC/B,CAACjC,eAAe,CAACoB,aAAa,CAAC,CAAC,GAAIe,SAAiB,IACnD/D,KAAK,CAACgE,YAAY,CAACD,SAAS,CAAC;EAC/B,CAACjC,cAAc,CAACkB,aAAa,CAAC,CAAC,GAAIiB,QAAiB,IAClDjE,KAAK,CAACkE,0BAA0B,CAACD,QAAQ,CAAC;EAC5C,CAAClC,aAAa,CAACiB,aAAa,CAAC,CAAC,GAAImB,OAAgB,IAChDnE,KAAK,CAACoE,UAAU,CAACD,OAAO,CAAC;EAC3B,CAACnC,WAAW,CAACgB,aAAa,CAAC,CAAC,GAAIqB,KAAc,IAAKrE,KAAK,CAACsE,QAAQ,CAACD,KAAK,CAAC;EACxE,CAACpC,eAAe,CAACe,aAAa,CAAC,CAAC,GAAIuB,SAAkB,IACpDvE,KAAK,CAACwE,YAAY,CAACD,SAAS,CAAC;EAC/B,CAACrC,aAAa,CAACc,aAAa,CAAC,CAAC,GAAIyB,KAAc,IAC9CzE,KAAK,CAAC0E,gBAAgB,CAACD,KAAK,CAAC;EAC/B,CAACtC,gBAAgB,CAACa,aAAa,CAAC,CAAC,GAAI2B,KAAc,IAAK;IACtD,IAAIA,KAAK,EAAE5E,KAAK,CAAC0E,KAAK,CAACE,KAAK,CAAC,CAAC;EAChC;AACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,SAAS1E,OAAO,CAAC;EAC5C;AACF;AACA;AACA;AACA;EACE2E,WAAWA,CAACtC,IAAY,EAAE;IACxB,KAAK,CAACA,IAAI,CAAC;IAEX,IAAI,CAACtB,OAAO,CAAC6D,aAAa,CAAC,oBAAoB,CAAC,EAAE;MAChD;MACA7D,OAAO,CAAC8D,EAAE,CAAC,oBAAoB,EAAGpB,KAAU,IAAK;QAAA,IAAAqB,aAAA,EAAAC,cAAA,EAAAC,eAAA;QAC/CxE,YAAY,CACT,GAAE,CAAAsE,aAAA,GAAArB,KAAK,CAACwB,MAAM,cAAAH,aAAA,eAAZA,aAAA,CAAcI,MAAM,GAAGzB,KAAK,CAACwB,MAAM,CAACC,MAAM,GAAG,GAAG,GAAG,EAAG,GACvD,CAAAH,cAAA,GAAAtB,KAAK,CAACwB,MAAM,cAAAF,cAAA,eAAZA,cAAA,CAAcI,GAAG,GAAG1B,KAAK,CAACwB,MAAM,CAACE,GAAG,GAAG,EACxC,EAAC,EACF,OACF,CAAC;QACD3E,YAAY,EAAAwE,eAAA,GAACvB,KAAK,CAAC2B,QAAQ,cAAAJ,eAAA,uBAAdA,eAAA,CAAgB9B,IAAI,EAAE,OAAO,CAAC;QAC3C1C,YAAY,CAACiD,KAAK,CAAC4B,KAAK,EAAE,OAAO,CAAC;QAClC7E,YAAY,CACT,yFAAwF,EACzF,OACF,CAAC;QACDO,OAAO,CAACuE,QAAQ,GAAG,CAAC;MACtB,CAAC,CAAC;IACJ;;IAEA;IACA,IAAI,CAACC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC;IACrC,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACC,aAAa,CAAC;MACjBC,eAAe,EAAE,IAAI;MACrBC,WAAW,EAAE;IACf,CAAC,CAAC;;IAEF;IACA7F,KAAK,CAAC8F,eAAe,CAACpF,YAAY,CAAC;IACnCV,KAAK,CAAC+F,iBAAiB,CAAClF,cAAc,CAAC;IACvCb,KAAK,CAACgG,eAAe,CAACvF,YAAY,CAAC;IACnCT,KAAK,CAACiG,mBAAmB,CAACzF,gBAAgB,CAAC;IAC3CR,KAAK,CAACkG,wBAAwB,CAAC3F,uBAAuB,CAAC;IACvDP,KAAK,CAACmG,wBAAwB,CAACvF,uBAAuB,CAAC;IACvDZ,KAAK,CAACoG,sBAAsB,CAACzF,qBAAqB,CAAC;;IAEnD;IACA;IACA,IAAI,CAAC0F,IAAI,CAAC,YAAY,EAAE,CAACC,WAAW,EAAEC,aAAa,KAAK;MACtD9F,YAAY,CACT,wDAAuD6F,WAAW,CAAC/D,IAAI,CAAC,CAAE,qBAAoBgE,aAAa,CAAChE,IAAI,CAAC,CAAE,EACtH,CAAC;MACDjC,yBAAyB,CAAC,CAAC;IAC7B,CAAC,CAAC;EACJ;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMkG,YAAY,SAAS5B,gBAAgB,CAAC;EACjD;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACtC,IAAY,EAAEkE,KAAe,GAAG,EAAE,EAAE;IAC9C,KAAK,CAAClE,IAAI,CAAC;;IAEX;IACA,KAAK,MAAMmE,GAAG,IAAItE,WAAW,EAAE;MAC7B,IAAI,CAACqE,KAAK,CAACE,QAAQ,CAACD,GAAG,CAACnE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAACqE,WAAW,CAACF,GAAG,CAAC;IACxD;;IAEA;IACA,KAAK,MAAMG,GAAG,IAAIxE,WAAW,EAAE;MAC7B,IAAI,CAACoE,KAAK,CAACE,QAAQ,CAACE,GAAG,CAACtE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAACuE,SAAS,CAACD,GAAG,CAAC;IACtD;;IAEA;IACA,IAAI,CAACE,WAAW,CACd,OAAO,EACN,2BAA0B,GACxB,wEAAuE,GACvE,qDAAoD,GACpD,8DAA6D,GAC7D,8DAA6D,GAC7D,oEAAmE,GACnE,+HAA8H,GAC9H,uEAAsE,GACtE,8FAA6F,IAC7F,iBAAiB,KAAK,IAAI,CAACxE,IAAI,CAAC,CAAC,GAC7B,mEAAkE,GAClE,4EAA2E,GAC3E,EAAC,CAAC,IACN,IAAI,CAACA,IAAI,CAAC,CAAC,CAACyE,UAAU,CAAC,WAAW,CAAC,GAC/B,gEAA+D,GAC/D,sEAAqE,GACrE,EAAC,CAAC,GACN,+GAA8G,GAC9G,mEAAkE,GAClE,8EAA6E,GAC7E,+FAA8F,GAC9F,uIACL,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACE;EACAC,wBAAwBA,CAAC,GAAGC,IAAS,EAAE;IACrC,MAAMC,OAAO,GAAGD,IAAI,CAACE,GAAG,CAAC,CAAC;IAC1B,MAAMC,OAAO,GAAGH,IAAI,CAACE,GAAG,CAAC,CAAC;;IAE1B;IACA,KAAK,MAAM,CAACE,CAAC,EAAEC,CAAC,CAAC,IAAIJ,OAAO,CAACD,IAAI,CAACM,OAAO,CAAC,CAAC,EAAE;MAC3C,IAAI,CAACL,OAAO,CAACM,KAAK,CAACH,CAAC,CAAC,EAAE;QACrB5G,YAAY,CACT,GAAEyG,OAAO,CAACD,IAAI,CAACQ,MAAO,iDAAgDP,OAAO,CAACM,KAAK,CAACC,MAAO,GAAE,EAC9F,MACF,CAAC;QACD;MACF;MACA,MAAMhB,GAAG,GAAGS,OAAO,CAACM,KAAK,CAACH,CAAC,CAAC,CAAC/E,IAAI,CAAC,CAAC;MACnC;MACA,IAAIoF,MAAM,CAACC,IAAI,CAACtF,QAAQ,CAAC,CAACqE,QAAQ,CAACD,GAAG,CAAC,EAAE;QACvCjG,YAAY,CACT,qEAAoEiG,GAAI,IAC3E,CAAC;QACD;QACA,MAAMmB,OAAY,GAAGvF,QAAQ,CAACoE,GAAG,CAAC;QAClCmB,OAAO,CAACN,CAAC,CAAC;MACZ,CAAC,MAAM;QACL9G,YAAY,CACT,yEAAwEiG,GAAI,IAC/E,CAAC;MACH;IACF;;IAEA;IACA,KAAK,MAAM,CAACoB,CAAC,EAAEP,CAAC,CAAC,IAAII,MAAM,CAACH,OAAO,CAACH,OAAO,CAAC,EAAE;MAC5C;MACA,IAAIM,MAAM,CAACC,IAAI,CAACtF,QAAQ,CAAC,CAACqE,QAAQ,CAACmB,CAAC,CAAC,EAAE;QACrCrH,YAAY,CACT,mEAAkEqH,CAAE,IACvE,CAAC;QACD;QACA,MAAMD,OAAY,GAAGvF,QAAQ,CAACwF,CAAC,CAAC;QAChCD,OAAO,CAACN,CAAC,CAAC;MACZ,CAAC,MAAM;QACL9G,YAAY,CACT,uEAAsEqH,CAAE,IAC3E,CAAC;MACH;IACF;EACF;AACF"}
1
+ {"version":3,"file":"FrodoCommand.js","names":["frodo","state","Argument","Command","Help","Option","fs","globalConfig","cleanupProgressIndicators","createProgressIndicator","curlirizeMessage","debugMessage","printMessage","stopProgressIndicator","updateProgressIndicator","verboseMessage","hostArgument","realmArgument","default","process","env","FRODO_REALM","DEFAULT_REALM_KEY","usernameArgument","passwordArgument","serviceAccountIdOption","serviceAccountJwkFileOption","deploymentOption","choices","DEPLOYMENT_TYPES","directoryOption","undefined","insecureOption","verboseOption","debugOption","curlirizeOption","noCacheOption","flushCacheOption","defaultArgs","defaultOpts","stateMap","name","host","setHost","realm","setRealm","username","setUsername","password","setPassword","attributeName","saId","setServiceAccountId","file","data","readFileSync","jwk","JSON","parse","toString","setServiceAccountJwk","error","message","type","setDeploymentType","directory","setDirectory","insecure","setAllowInsecureConnection","verbose","setVerbose","debug","setDebug","curlirize","setCurlirize","cache","setUseTokenCache","flush","FrodoStubCommand","constructor","listenerCount","on","_error$config","_error$config2","_error$response","config","method","url","response","stack","exitCode","helpOption","showHelpAfterError","configureHelp","sortSubcommands","sortOptions","setPrintHandler","setVerboseHandler","setDebugHandler","setCurlirizeHandler","setCreateProgressHandler","setUpdateProgressHandler","setStopProgressHandler","hook","thisCommand","actionCommand","createHelp","Object","assign","FrodoStubHelp","subcommandTerm","cmd","_name","_aliases","FrodoCommand","omits","arg","includes","addArgument","opt","addOption","addHelpText","startsWith","handleDefaultArgsAndOpts","args","command","pop","options","i","v","entries","_args","length","keys","handler","k"],"sources":["../../src/cli/FrodoCommand.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Argument, Command, Help, Option } from 'commander';\nimport fs from 'fs';\n\nimport * as globalConfig from '../storage/StaticStorage';\nimport {\n cleanupProgressIndicators,\n createProgressIndicator,\n curlirizeMessage,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n verboseMessage,\n} from '../utils/Console.js';\n\nconst hostArgument = new Argument(\n '[host]',\n 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.'\n);\n\nconst realmArgument = new Argument(\n '[realm]',\n \"Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.\"\n).default(\n // must check for FRODO_REALM env variable here because otherwise cli will overwrite realm with default value\n process.env.FRODO_REALM || globalConfig.DEFAULT_REALM_KEY,\n '\"alpha\" for Identity Cloud tenants, \"/\" otherwise.'\n);\n\nconst usernameArgument = new Argument(\n '[username]',\n 'Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees.'\n);\n\nconst passwordArgument = new Argument('[password]', 'Password.');\n\nconst serviceAccountIdOption = new Option(\n '--sa-id <sa-id>',\n 'Service account id.'\n);\n\nconst serviceAccountJwkFileOption = new Option(\n '--sa-jwk-file <file>',\n 'File containing the JSON Web Key (JWK) associated with the the service account.'\n);\n\nconst deploymentOption = new Option(\n '-m, --type <type>',\n 'Override auto-detected deployment type. Valid values for type: \\n\\\nclassic: A classic Access Management-only deployment with custom layout and configuration. \\n\\\ncloud: A ForgeRock Identity Cloud environment. \\n\\\nforgeops: A ForgeOps CDK or CDM deployment. \\n\\\nThe detected or provided deployment type controls certain behavior like obtaining an Identity \\\nManagement admin token or not and whether to export/import referenced email templates or how \\\nto walk through the tenant admin login flow of Identity Cloud and handle MFA'\n).choices(globalConfig.DEPLOYMENT_TYPES);\n\nconst directoryOption = new Option(\n '-D, --directory <directory>',\n 'Set the working directory.'\n).default(undefined, 'undefined');\n\nconst insecureOption = new Option(\n '-k, --insecure',\n 'Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability.'\n).default(false, \"Don't allow insecure connections\");\n\nconst verboseOption = new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n);\n\nconst debugOption = new Option(\n '--debug',\n 'Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting.'\n);\n\nconst curlirizeOption = new Option(\n '--curlirize',\n 'Output all network calls in curl format.'\n);\n\nconst noCacheOption = new Option(\n '--no-cache',\n 'Disable token cache for this operation.'\n);\n\nconst flushCacheOption = new Option('--flush-cache', 'Flush token cache.');\n\nconst defaultArgs = [\n hostArgument,\n realmArgument,\n usernameArgument,\n passwordArgument,\n];\n\nconst defaultOpts = [\n serviceAccountIdOption,\n serviceAccountJwkFileOption,\n deploymentOption,\n directoryOption,\n insecureOption,\n verboseOption,\n debugOption,\n curlirizeOption,\n noCacheOption,\n flushCacheOption,\n];\n\nconst stateMap = {\n [hostArgument.name()]: (host: string) => state.setHost(host),\n [realmArgument.name()]: (realm: string) => state.setRealm(realm),\n [usernameArgument.name()]: (username: string) => state.setUsername(username),\n [passwordArgument.name()]: (password: string) => state.setPassword(password),\n [serviceAccountIdOption.attributeName()]: (saId: string) =>\n state.setServiceAccountId(saId),\n [serviceAccountJwkFileOption.attributeName()]: (file: string) => {\n try {\n const data = fs.readFileSync(file);\n const jwk = JSON.parse(data.toString());\n state.setServiceAccountJwk(jwk);\n } catch (error) {\n printMessage(\n `Error parsing JWK from file ${file}: ${error.message}`,\n 'error'\n );\n }\n },\n [deploymentOption.attributeName()]: (type: string) =>\n state.setDeploymentType(type),\n [directoryOption.attributeName()]: (directory: string) =>\n state.setDirectory(directory),\n [insecureOption.attributeName()]: (insecure: boolean) =>\n state.setAllowInsecureConnection(insecure),\n [verboseOption.attributeName()]: (verbose: boolean) =>\n state.setVerbose(verbose),\n [debugOption.attributeName()]: (debug: boolean) => state.setDebug(debug),\n [curlirizeOption.attributeName()]: (curlirize: boolean) =>\n state.setCurlirize(curlirize),\n [noCacheOption.attributeName()]: (cache: boolean) =>\n state.setUseTokenCache(cache),\n [flushCacheOption.attributeName()]: (flush: boolean) => {\n if (flush) frodo.cache.flush();\n },\n};\n\n/**\n * Command with default options\n */\nexport class FrodoStubCommand extends Command {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string) {\n super(name);\n\n if (!process.listenerCount('unhandledRejection')) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n process.on('unhandledRejection', (error: any) => {\n printMessage(\n `${error.config?.method ? error.config.method + ' ' : ''}${\n error.config?.url ? error.config.url : ''\n }`,\n 'error'\n );\n printMessage(error.response?.data, 'error');\n printMessage(error.stack, 'error');\n printMessage(\n `Please report this unhandled error here: https://github.com/rockcarver/frodo-cli/issues`,\n 'error'\n );\n process.exitCode = 1;\n });\n }\n\n // other default settings\n this.helpOption('-h, --help', 'Help');\n this.showHelpAfterError();\n this.configureHelp({\n sortSubcommands: true,\n sortOptions: true,\n });\n\n // register default handlers\n state.setPrintHandler(printMessage);\n state.setVerboseHandler(verboseMessage);\n state.setDebugHandler(debugMessage);\n state.setCurlirizeHandler(curlirizeMessage);\n state.setCreateProgressHandler(createProgressIndicator);\n state.setUpdateProgressHandler(updateProgressIndicator);\n state.setStopProgressHandler(stopProgressIndicator);\n\n // shutdown handlers\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n this.hook('postAction', (thisCommand, actionCommand) => {\n debugMessage(\n `FrodoCommand: running postAction hook: this command: ${thisCommand.name()}, action command: ${actionCommand.name()}`\n );\n cleanupProgressIndicators();\n });\n }\n\n createHelp() {\n return Object.assign(new FrodoStubHelp(), this.configureHelp());\n }\n}\n\nclass FrodoStubHelp extends Help {\n subcommandTerm(cmd) {\n return cmd._name +\n (cmd._aliases[0] ? '|' + cmd._aliases[0] : '');\n }\n}\n\n/**\n * Command with default options\n */\nexport class FrodoCommand extends FrodoStubCommand {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string, omits: string[] = []) {\n super(name);\n\n // register default arguments\n for (const arg of defaultArgs) {\n if (!omits.includes(arg.name())) this.addArgument(arg);\n }\n\n // register default options\n for (const opt of defaultOpts) {\n if (!omits.includes(opt.name())) this.addOption(opt);\n }\n\n // additional help\n this.addHelpText(\n 'after',\n `\\nEvironment Variables:\\n` +\n ` FRODO_HOST: Access Management base URL. Overrides 'host' argument.\\n` +\n ` FRODO_REALM: Realm. Overrides 'realm' argument.\\n` +\n ` FRODO_USERNAME: Username. Overrides 'username' argument.\\n` +\n ` FRODO_PASSWORD: Password. Overrides 'password' argument.\\n` +\n ` FRODO_SA_ID: Service account uuid. Overrides '--sa-id' option.\\n` +\n ` FRODO_SA_JWK: Service account JWK. Overrides '--sa-jwk-file' option but takes the actual JWK as a value, not a file name.\\n` +\n ` FRODO_NO_CACHE: Disable token cache. Same as '--no-cache' option.\\n` +\n ` FRODO_TOKEN_CACHE_PATH: Use this token cache file instead of '~/.frodo/TokenCache.json'.\\n` +\n ('frodo conn save' === this.name()\n ? ` FRODO_LOG_KEY: Log API key. Overrides '--log-api-key' option.\\n` +\n ` FRODO_LOG_SECRET: Log API secret. Overrides '--log-api-secret' option.\\n`\n : ``) +\n (this.name().startsWith('frodo log')\n ? ` FRODO_LOG_KEY: Log API key. Overrides 'username' argument.\\n` +\n ` FRODO_LOG_SECRET: Log API secret. Overrides 'password' argument.\\n`\n : ``) +\n ` FRODO_CONNECTION_PROFILES_PATH: Use this connection profiles file instead of '~/.frodo/Connections.json'.\\n` +\n ` FRODO_AUTHENTICATION_SERVICE: Name of a login journey to use.\\n` +\n ` FRODO_DEBUG: Set to any value to enable debug output. Same as '--debug'.\\n` +\n ` FRODO_MASTER_KEY_PATH: Use this master key file instead of '~/.frodo/masterkey.key' file.\\n` +\n ` FRODO_MASTER_KEY: Use this master key instead of what's in '~/.frodo/masterkey.key'. Takes precedence over FRODO_MASTER_KEY_PATH.\\n`\n );\n }\n\n /**\n *\n * @param args\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleDefaultArgsAndOpts(...args: any) {\n const command = args.pop();\n const options = args.pop();\n\n // handle arguments first\n for (const [i, v] of command.args.entries()) {\n if (!command._args[i]) {\n printMessage(\n `${command.args.length} arguments supplied but command only supports ${command._args.length}.`,\n 'warn'\n );\n break;\n }\n const arg = command._args[i].name();\n // handle only default arguments\n if (Object.keys(stateMap).includes(arg)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default argument '${arg}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[arg];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default argument '${arg}'.`\n );\n }\n }\n\n // handle options\n for (const [k, v] of Object.entries(options)) {\n // handle only default options\n if (Object.keys(stateMap).includes(k)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default option '${k}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[k];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default option '${k}'.`\n );\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,18 +1,20 @@
1
1
  import { Option } from 'commander';
2
2
  import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const program = new FrodoCommand('frodo something delete');
5
- program.description('Delete something.').addOption(new Option('-i, --something-id <something-id>', '[Something] id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all [somethings]. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).action(
6
- // implement command logic inside action handler
7
- async (host, realm, user, password, options, command) => {
8
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await getTokens()) {
10
- // code goes here
11
- } else {
12
- process.exitCode = 1;
4
+ export default function setup() {
5
+ const program = new FrodoCommand('frodo something delete');
6
+ program.description('Delete something.').addOption(new Option('-i, --something-id <something-id>', '[Something] id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all [somethings]. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).action(
7
+ // implement command logic inside action handler
8
+ async (host, realm, user, password, options, command) => {
9
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
+ if (await getTokens()) {
11
+ // code goes here
12
+ } else {
13
+ process.exitCode = 1;
14
+ }
13
15
  }
16
+ // end command logic inside action handler
17
+ );
18
+ return program;
14
19
  }
15
- // end command logic inside action handler
16
- );
17
- program.parse();
18
20
  //# sourceMappingURL=something-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-delete.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo something delete');\n\nprogram\n .description('Delete something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all [somethings]. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,wBAAwB,CAAC;AAE1DC,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIL,MAAM,CACR,mCAAmC,EACnC,sDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CAAC,WAAW,EAAE,2CAA2C,CACrE,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-delete.js","names":["Option","getTokens","FrodoCommand","setup","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode"],"sources":["../../../src/cli/_template/something-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo something delete');\n\n program\n .description('Delete something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all [somethings]. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,wBAAwB,CAAC;EAE1DE,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIN,MAAM,CACR,mCAAmC,EACnC,sDACF,CACF,CAAC,CACAM,SAAS,CACR,IAAIN,MAAM,CAAC,WAAW,EAAE,2CAA2C,CACrE,CAAC,CACAM,SAAS,CACR,IAAIN,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAO,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;MACrB;IAAA,CACD,MAAM;MACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOZ,OAAO;AAChB"}
@@ -1,18 +1,20 @@
1
1
  import { Option } from 'commander';
2
2
  import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const program = new FrodoCommand('frodo something describe');
5
- program.description('Describe something.').addOption(new Option('-i, --something-id <something-id>', '[Something] id.')).action(
6
- // implement command logic inside action handler
7
- async (host, realm, user, password, options, command) => {
8
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await getTokens()) {
10
- // code goes here
11
- } else {
12
- process.exitCode = 1;
4
+ export default function setup() {
5
+ const program = new FrodoCommand('frodo something describe');
6
+ program.description('Describe something.').addOption(new Option('-i, --something-id <something-id>', '[Something] id.')).action(
7
+ // implement command logic inside action handler
8
+ async (host, realm, user, password, options, command) => {
9
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
+ if (await getTokens()) {
11
+ // code goes here
12
+ } else {
13
+ process.exitCode = 1;
14
+ }
13
15
  }
16
+ // end command logic inside action handler
17
+ );
18
+ return program;
14
19
  }
15
- // end command logic inside action handler
16
- );
17
- program.parse();
18
20
  //# sourceMappingURL=something-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-describe.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo something describe');\n\nprogram\n .description('Describe something.')\n .addOption(new Option('-i, --something-id <something-id>', '[Something] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,0BAA0B,CAAC;AAE5DC,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CAAC,IAAIL,MAAM,CAAC,mCAAmC,EAAE,iBAAiB,CAAC,CAAC,CAC7EM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-describe.js","names":["Option","getTokens","FrodoCommand","setup","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode"],"sources":["../../../src/cli/_template/something-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo something describe');\n\n program\n .description('Describe something.')\n .addOption(\n new Option('-i, --something-id <something-id>', '[Something] id.')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,0BAA0B,CAAC;EAE5DE,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CACR,IAAIN,MAAM,CAAC,mCAAmC,EAAE,iBAAiB,CACnE,CAAC,CACAO,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;MACrB;IAAA,CACD,MAAM;MACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOZ,OAAO;AAChB"}
@@ -1,18 +1,20 @@
1
1
  import { Option } from 'commander';
2
2
  import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const program = new FrodoCommand('frodo something else delete');
5
- program.description('Delete something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).action(
6
- // implement command logic inside action handler
7
- async (host, realm, user, password, options, command) => {
8
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await getTokens()) {
10
- // code goes here
11
- } else {
12
- process.exitCode = 1;
4
+ export default function setup() {
5
+ const program = new FrodoCommand('frodo something else delete');
6
+ program.description('Delete something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).action(
7
+ // implement command logic inside action handler
8
+ async (host, realm, user, password, options, command) => {
9
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
+ if (await getTokens()) {
11
+ // code goes here
12
+ } else {
13
+ process.exitCode = 1;
14
+ }
13
15
  }
16
+ // end command logic inside action handler
17
+ );
18
+ return program;
14
19
  }
15
- // end command logic inside action handler
16
- );
17
- program.parse();
18
20
  //# sourceMappingURL=something-else-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-delete.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-else-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo something else delete');\n\nprogram\n .description('Delete something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.'))\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,6BAA6B,CAAC;AAE/DC,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,iDACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC,CAC1EK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-else-delete.js","names":["Option","getTokens","FrodoCommand","setup","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode"],"sources":["../../../src/cli/_template/something-else-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo something else delete');\n\n program\n .description('Delete something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.'))\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,6BAA6B,CAAC;EAE/DE,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIN,MAAM,CACR,yBAAyB,EACzB,iDACF,CACF,CAAC,CACAM,SAAS,CAAC,IAAIN,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC,CAC1EM,SAAS,CACR,IAAIN,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAO,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;MACrB;IAAA,CACD,MAAM;MACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOZ,OAAO;AAChB"}
@@ -1,18 +1,20 @@
1
1
  import { Option } from 'commander';
2
2
  import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const program = new FrodoCommand('frodo something else describe');
5
- program.description('Describe something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id.')).action(
6
- // implement command logic inside action handler
7
- async (host, realm, user, password, options, command) => {
8
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await getTokens()) {
10
- // code goes here
11
- } else {
12
- process.exitCode = 1;
4
+ export default function setup() {
5
+ const program = new FrodoCommand('frodo something else describe');
6
+ program.description('Describe something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id.')).action(
7
+ // implement command logic inside action handler
8
+ async (host, realm, user, password, options, command) => {
9
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
+ if (await getTokens()) {
11
+ // code goes here
12
+ } else {
13
+ process.exitCode = 1;
14
+ }
13
15
  }
16
+ // end command logic inside action handler
17
+ );
18
+ return program;
14
19
  }
15
- // end command logic inside action handler
16
- );
17
- program.parse();
18
20
  //# sourceMappingURL=something-else-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-describe.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-else-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo something else describe');\n\nprogram\n .description('Describe something else.')\n .addOption(new Option('-i, --else-id <else-id>', '[Else] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,+BAA+B,CAAC;AAEjEC,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,SAAS,CAAC,IAAIL,MAAM,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAC9DM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-else-describe.js","names":["Option","getTokens","FrodoCommand","setup","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode"],"sources":["../../../src/cli/_template/something-else-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo something else describe');\n\n program\n .description('Describe something else.')\n .addOption(new Option('-i, --else-id <else-id>', '[Else] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,+BAA+B,CAAC;EAEjEE,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,SAAS,CAAC,IAAIN,MAAM,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAC9DO,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;MACrB;IAAA,CACD,MAAM;MACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOZ,OAAO;AAChB"}
@@ -1,18 +1,20 @@
1
1
  import { Option } from 'commander';
2
2
  import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const program = new FrodoCommand('frodo something else export');
5
- program.description('Export something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all [else] to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all [else] to separate files (*.[else].json) in the current directory. Ignored with -i or -a.')).addOption(new Option('-N, --no-metadata', 'Does not include metadata in the export file.')).action(
6
- // implement command logic inside action handler
7
- async (host, realm, user, password, options, command) => {
8
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await getTokens()) {
10
- // code goes here
11
- } else {
12
- process.exitCode = 1;
4
+ export default function setup() {
5
+ const program = new FrodoCommand('frodo something else export');
6
+ program.description('Export something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all [else] to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all [else] to separate files (*.[else].json) in the current directory. Ignored with -i or -a.')).addOption(new Option('-N, --no-metadata', 'Does not include metadata in the export file.')).action(
7
+ // implement command logic inside action handler
8
+ async (host, realm, user, password, options, command) => {
9
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
+ if (await getTokens()) {
11
+ // code goes here
12
+ } else {
13
+ process.exitCode = 1;
14
+ }
13
15
  }
16
+ // end command logic inside action handler
17
+ );
18
+ return program;
14
19
  }
15
- // end command logic inside action handler
16
- );
17
- program.parse();
18
20
  //# sourceMappingURL=something-else-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-export.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-else-export.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo something else export');\n\nprogram\n .description('Export something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all [else] to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all [else] to separate files (*.[else].json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,6BAA6B,CAAC;AAE/DC,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,iDACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,sGACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-else-export.js","names":["Option","getTokens","FrodoCommand","setup","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode"],"sources":["../../../src/cli/_template/something-else-export.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo something else export');\n\n program\n .description('Export something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all [else] to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all [else] to separate files (*.[else].json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,6BAA6B,CAAC;EAE/DE,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIN,MAAM,CACR,yBAAyB,EACzB,iDACF,CACF,CAAC,CACAM,SAAS,CAAC,IAAIN,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEM,SAAS,CACR,IAAIN,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAM,SAAS,CACR,IAAIN,MAAM,CACR,oBAAoB,EACpB,sGACF,CACF,CAAC,CACAM,SAAS,CACR,IAAIN,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF,CAAC,CACAO,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;MACrB;IAAA,CACD,MAAM;MACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOZ,OAAO;AAChB"}
@@ -1,18 +1,20 @@
1
1
  import { Option } from 'commander';
2
2
  import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const program = new FrodoCommand('frodo something else import');
5
- program.description('Import something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id. If specified, only one [else] is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import.')).addOption(new Option('-a, --all', 'Import all [else] from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all [else] from separate files (*.[else].json) in the current directory. Ignored with -i or -a.')).action(
6
- // implement command logic inside action handler
7
- async (host, realm, user, password, options, command) => {
8
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await getTokens()) {
10
- // code goes here
11
- } else {
12
- process.exitCode = 1;
4
+ export default function setup() {
5
+ const program = new FrodoCommand('frodo something else import');
6
+ program.description('Import something else.').addOption(new Option('-i, --else-id <else-id>', '[Else] id. If specified, only one [else] is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import.')).addOption(new Option('-a, --all', 'Import all [else] from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all [else] from separate files (*.[else].json) in the current directory. Ignored with -i or -a.')).action(
7
+ // implement command logic inside action handler
8
+ async (host, realm, user, password, options, command) => {
9
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
+ if (await getTokens()) {
11
+ // code goes here
12
+ } else {
13
+ process.exitCode = 1;
14
+ }
13
15
  }
16
+ // end command logic inside action handler
17
+ );
18
+ return program;
14
19
  }
15
- // end command logic inside action handler
16
- );
17
- program.parse();
18
20
  //# sourceMappingURL=something-else-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-import.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-else-import.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo something else import');\n\nprogram\n .description('Import something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, only one [else] is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all [else] from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all [else] from separate files (*.[else].json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,6BAA6B,CAAC;AAE/DC,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,6FACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,wGACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-else-import.js","names":["Option","getTokens","FrodoCommand","setup","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode"],"sources":["../../../src/cli/_template/something-else-import.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo something else import');\n\n program\n .description('Import something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, only one [else] is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all [else] from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all [else] from separate files (*.[else].json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,6BAA6B,CAAC;EAE/DE,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIN,MAAM,CACR,yBAAyB,EACzB,6FACF,CACF,CAAC,CACAM,SAAS,CAAC,IAAIN,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEM,SAAS,CACR,IAAIN,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAM,SAAS,CACR,IAAIN,MAAM,CACR,oBAAoB,EACpB,wGACF,CACF,CAAC,CACAO,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;MACrB;IAAA,CACD,MAAM;MACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOZ,OAAO;AAChB"}
@@ -1,18 +1,20 @@
1
1
  import { Option } from 'commander';
2
2
  import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const program = new FrodoCommand('frodo something else list');
5
- program.description('List something else.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
6
- // implement command logic inside action handler
7
- async (host, realm, user, password, options, command) => {
8
- command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await getTokens()) {
10
- // code goes here
11
- } else {
12
- process.exitCode = 1;
4
+ export default function setup() {
5
+ const program = new FrodoCommand('frodo something else list');
6
+ program.description('List something else.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
7
+ // implement command logic inside action handler
8
+ async (host, realm, user, password, options, command) => {
9
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
+ if (await getTokens()) {
11
+ // code goes here
12
+ } else {
13
+ process.exitCode = 1;
14
+ }
13
15
  }
16
+ // end command logic inside action handler
17
+ );
18
+ return program;
14
19
  }
15
- // end command logic inside action handler
16
- );
17
- program.parse();
18
20
  //# sourceMappingURL=something-else-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-list.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/_template/something-else-list.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo something else list');\n\nprogram\n .description('List something else.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,2BAA2B,CAAC;AAE7DC,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-else-list.js","names":["Option","getTokens","FrodoCommand","setup","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode"],"sources":["../../../src/cli/_template/something-else-list.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nexport default function setup() {\n const program = new FrodoCommand('frodo something else list');\n\n program\n .description('List something else.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,2BAA2B,CAAC;EAE7DE,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIN,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACO,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;EACL;EACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;IACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;IACD,IAAI,MAAMb,SAAS,CAAC,CAAC,EAAE;MACrB;IAAA,CACD,MAAM;MACLe,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;EACA;EACF,CAAC;EAEH,OAAOb,OAAO;AAChB"}
@@ -1,10 +1,17 @@
1
1
  import { FrodoStubCommand } from '../FrodoCommand';
2
- const program = new FrodoStubCommand('frodo something else');
3
- program.description('Manage something else.');
4
- program.command('list', 'List something else.');
5
- program.command('describe', 'Describe something else.');
6
- program.command('export', 'Export something else.');
7
- program.command('import', 'Import something else.');
8
- program.command('delete', 'Delete something else.');
9
- program.parse();
2
+ import DeleteCmd from './something-else-delete.js';
3
+ import DescribeCmd from './something-else-describe.js';
4
+ import ExportCmd from './something-else-export.js';
5
+ import ImportCmd from './something-else-import.js';
6
+ import ListCmd from './something-else-list.js';
7
+ export default function setup() {
8
+ const program = new FrodoStubCommand('frodo something else');
9
+ program.description('Manage something else.');
10
+ program.addCommand(ListCmd().name('list'));
11
+ program.addCommand(DescribeCmd().name('describe'));
12
+ program.addCommand(ExportCmd().name('export'));
13
+ program.addCommand(ImportCmd().name('import'));
14
+ program.addCommand(DeleteCmd().name('delete'));
15
+ return program;
16
+ }
10
17
  //# sourceMappingURL=something-else.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"something-else.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["../../../src/cli/_template/something-else.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo something else');\n\nprogram.description('Manage something else.');\n\nprogram.command('list', 'List something else.');\n\nprogram.command('describe', 'Describe something else.');\n\nprogram.command('export', 'Export something else.');\n\nprogram.command('import', 'Import something else.');\n\nprogram.command('delete', 'Delete something else.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,sBAAsB,CAAC;AAE5DC,OAAO,CAACC,WAAW,CAAC,wBAAwB,CAAC;AAE7CD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC;AAE/CF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,0BAA0B,CAAC;AAEvDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACG,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"something-else.js","names":["FrodoStubCommand","DeleteCmd","DescribeCmd","ExportCmd","ImportCmd","ListCmd","setup","program","description","addCommand","name"],"sources":["../../../src/cli/_template/something-else.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport DeleteCmd from './something-else-delete.js';\nimport DescribeCmd from './something-else-describe.js';\nimport ExportCmd from './something-else-export.js';\nimport ImportCmd from './something-else-import.js';\nimport ListCmd from './something-else-list.js';\n\nexport default function setup() {\n const program = new FrodoStubCommand('frodo something else');\n\n program.description('Manage something else.');\n\n program.addCommand(ListCmd().name('list'));\n\n program.addCommand(DescribeCmd().name('describe'));\n\n program.addCommand(ExportCmd().name('export'));\n\n program.addCommand(ImportCmd().name('import'));\n\n program.addCommand(DeleteCmd().name('delete'));\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,SAAS,MAAM,4BAA4B;AAClD,OAAOC,WAAW,MAAM,8BAA8B;AACtD,OAAOC,SAAS,MAAM,4BAA4B;AAClD,OAAOC,SAAS,MAAM,4BAA4B;AAClD,OAAOC,OAAO,MAAM,0BAA0B;AAE9C,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,sBAAsB,CAAC;EAE5DO,OAAO,CAACC,WAAW,CAAC,wBAAwB,CAAC;EAE7CD,OAAO,CAACE,UAAU,CAACJ,OAAO,CAAC,CAAC,CAACK,IAAI,CAAC,MAAM,CAAC,CAAC;EAE1CH,OAAO,CAACE,UAAU,CAACP,WAAW,CAAC,CAAC,CAACQ,IAAI,CAAC,UAAU,CAAC,CAAC;EAElDH,OAAO,CAACE,UAAU,CAACN,SAAS,CAAC,CAAC,CAACO,IAAI,CAAC,QAAQ,CAAC,CAAC;EAE9CH,OAAO,CAACE,UAAU,CAACL,SAAS,CAAC,CAAC,CAACM,IAAI,CAAC,QAAQ,CAAC,CAAC;EAE9CH,OAAO,CAACE,UAAU,CAACR,SAAS,CAAC,CAAC,CAACS,IAAI,CAAC,QAAQ,CAAC,CAAC;EAE9C,OAAOH,OAAO;AAChB"}