@rockcarver/frodo-cli 2.0.0-5 → 2.0.0-50

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 (480) hide show
  1. package/CHANGELOG.md +361 -6
  2. package/esm/app.js +20 -3
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +33 -7
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -5
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -5
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -5
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -5
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +8 -6
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -5
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -5
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +1 -1
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +8 -6
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -5
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -5
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -5
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -5
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +8 -6
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -5
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -5
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +1 -1
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +2 -2
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -5
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +14 -8
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +41 -0
  47. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-export.js +44 -0
  49. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-import.js +48 -0
  51. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  52. package/esm/cli/admin/admin-federation-list.js +28 -0
  53. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  54. package/esm/cli/admin/admin-federation.js +13 -0
  55. package/esm/cli/admin/admin-federation.js.map +1 -0
  56. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +43 -0
  57. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -0
  58. package/esm/cli/admin/admin-get-access-token.js +12 -7
  59. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  60. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -8
  61. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -6
  63. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  64. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +11 -6
  65. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +11 -6
  67. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  68. package/esm/cli/admin/admin-list-static-user-mappings.js +12 -7
  69. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  70. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -6
  71. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  72. package/esm/cli/admin/admin-repair-org-model.js +11 -6
  73. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  74. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -7
  75. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  76. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -6
  77. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  78. package/esm/cli/admin/admin-train-auto-access-model.js +32 -0
  79. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -0
  80. package/esm/cli/admin/admin.js +8 -2
  81. package/esm/cli/admin/admin.js.map +1 -1
  82. package/esm/cli/agent/agent-delete.js +13 -7
  83. package/esm/cli/agent/agent-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-describe.js +7 -5
  85. package/esm/cli/agent/agent-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-export.js +12 -10
  87. package/esm/cli/agent/agent-export.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-delete.js +13 -7
  89. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-describe.js +7 -5
  91. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-export.js +12 -10
  93. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway-import.js +8 -6
  95. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  96. package/esm/cli/agent/agent-gateway-list.js +7 -5
  97. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  98. package/esm/cli/agent/agent-gateway.js +1 -1
  99. package/esm/cli/agent/agent-gateway.js.map +1 -1
  100. package/esm/cli/agent/agent-import.js +8 -6
  101. package/esm/cli/agent/agent-import.js.map +1 -1
  102. package/esm/cli/agent/agent-java-delete.js +13 -7
  103. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  104. package/esm/cli/agent/agent-java-describe.js +7 -5
  105. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  106. package/esm/cli/agent/agent-java-export.js +12 -10
  107. package/esm/cli/agent/agent-java-export.js.map +1 -1
  108. package/esm/cli/agent/agent-java-import.js +8 -6
  109. package/esm/cli/agent/agent-java-import.js.map +1 -1
  110. package/esm/cli/agent/agent-java-list.js +7 -5
  111. package/esm/cli/agent/agent-java-list.js.map +1 -1
  112. package/esm/cli/agent/agent-java.js +1 -1
  113. package/esm/cli/agent/agent-java.js.map +1 -1
  114. package/esm/cli/agent/agent-list.js +7 -5
  115. package/esm/cli/agent/agent-list.js.map +1 -1
  116. package/esm/cli/agent/agent-web-delete.js +13 -7
  117. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  118. package/esm/cli/agent/agent-web-describe.js +7 -5
  119. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  120. package/esm/cli/agent/agent-web-export.js +12 -10
  121. package/esm/cli/agent/agent-web-export.js.map +1 -1
  122. package/esm/cli/agent/agent-web-import.js +8 -6
  123. package/esm/cli/agent/agent-web-import.js.map +1 -1
  124. package/esm/cli/agent/agent-web-list.js +7 -5
  125. package/esm/cli/agent/agent-web-list.js.map +1 -1
  126. package/esm/cli/agent/agent-web.js +3 -3
  127. package/esm/cli/agent/agent-web.js.map +1 -1
  128. package/esm/cli/agent/agent.js +2 -2
  129. package/esm/cli/agent/agent.js.map +1 -1
  130. package/esm/cli/app/app-delete.js +27 -9
  131. package/esm/cli/app/app-delete.js.map +1 -1
  132. package/esm/cli/app/app-describe.js +9 -6
  133. package/esm/cli/app/app-describe.js.map +1 -1
  134. package/esm/cli/app/app-export.js +17 -14
  135. package/esm/cli/app/app-export.js.map +1 -1
  136. package/esm/cli/app/app-import.js +21 -18
  137. package/esm/cli/app/app-import.js.map +1 -1
  138. package/esm/cli/app/app-list.js +12 -9
  139. package/esm/cli/app/app-list.js.map +1 -1
  140. package/esm/cli/app/app.js +8 -12
  141. package/esm/cli/app/app.js.map +1 -1
  142. package/esm/cli/authn/authn-describe.js +29 -0
  143. package/esm/cli/authn/authn-describe.js.map +1 -0
  144. package/esm/cli/authn/authn-export.js +25 -0
  145. package/esm/cli/authn/authn-export.js.map +1 -0
  146. package/esm/cli/authn/authn-import.js +25 -0
  147. package/esm/cli/authn/authn-import.js.map +1 -0
  148. package/esm/cli/authn/authn.js +12 -0
  149. package/esm/cli/authn/authn.js.map +1 -0
  150. package/esm/cli/authz/authz-policy-delete.js +11 -9
  151. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-describe.js +8 -6
  153. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-export.js +18 -16
  155. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  156. package/esm/cli/authz/authz-policy-import.js +11 -9
  157. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  158. package/esm/cli/authz/authz-policy-list.js +11 -9
  159. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  160. package/esm/cli/authz/authz-policy.js +1 -1
  161. package/esm/cli/authz/authz-policy.js.map +1 -1
  162. package/esm/cli/authz/authz-set-delete.js +11 -9
  163. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  164. package/esm/cli/authz/authz-set-describe.js +8 -6
  165. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  166. package/esm/cli/authz/authz-set-export.js +14 -12
  167. package/esm/cli/authz/authz-set-export.js.map +1 -1
  168. package/esm/cli/authz/authz-set-import.js +11 -9
  169. package/esm/cli/authz/authz-set-import.js.map +1 -1
  170. package/esm/cli/authz/authz-set-list.js +8 -6
  171. package/esm/cli/authz/authz-set-list.js.map +1 -1
  172. package/esm/cli/authz/authz-set.js +1 -1
  173. package/esm/cli/authz/authz-set.js.map +1 -1
  174. package/esm/cli/authz/authz-type-delete.js +13 -11
  175. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  176. package/esm/cli/authz/authz-type-describe.js +9 -7
  177. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  178. package/esm/cli/authz/authz-type-export.js +16 -14
  179. package/esm/cli/authz/authz-type-export.js.map +1 -1
  180. package/esm/cli/authz/authz-type-import.js +14 -12
  181. package/esm/cli/authz/authz-type-import.js.map +1 -1
  182. package/esm/cli/authz/authz-type-list.js +9 -7
  183. package/esm/cli/authz/authz-type-list.js.map +1 -1
  184. package/esm/cli/authz/authz-type.js +1 -1
  185. package/esm/cli/authz/authz-type.js.map +1 -1
  186. package/esm/cli/authz/authz.js +2 -2
  187. package/esm/cli/authz/authz.js.map +1 -1
  188. package/esm/cli/config/config-delete.js +21 -0
  189. package/esm/cli/config/config-delete.js.map +1 -0
  190. package/esm/cli/config/config-describe.js +21 -0
  191. package/esm/cli/config/config-describe.js.map +1 -0
  192. package/esm/cli/config/config-export.js +47 -0
  193. package/esm/cli/config/config-export.js.map +1 -0
  194. package/esm/cli/config/config-import.js +56 -0
  195. package/esm/cli/config/config-import.js.map +1 -0
  196. package/esm/cli/config/config-list.js +21 -0
  197. package/esm/cli/config/config-list.js.map +1 -0
  198. package/esm/cli/config/config.js +19 -0
  199. package/esm/cli/config/config.js.map +1 -0
  200. package/esm/cli/conn/conn-delete.js +2 -3
  201. package/esm/cli/conn/conn-delete.js.map +1 -1
  202. package/esm/cli/conn/conn-describe.js +2 -3
  203. package/esm/cli/conn/conn-describe.js.map +1 -1
  204. package/esm/cli/conn/conn-list.js +2 -3
  205. package/esm/cli/conn/conn-list.js.map +1 -1
  206. package/esm/cli/conn/conn-save.js +27 -15
  207. package/esm/cli/conn/conn-save.js.map +1 -1
  208. package/esm/cli/conn/conn.js +2 -2
  209. package/esm/cli/conn/conn.js.map +1 -1
  210. package/esm/cli/email/email-template-export.js +14 -12
  211. package/esm/cli/email/email-template-export.js.map +1 -1
  212. package/esm/cli/email/email-template-import.js +15 -13
  213. package/esm/cli/email/email-template-import.js.map +1 -1
  214. package/esm/cli/email/email-template-list.js +9 -7
  215. package/esm/cli/email/email-template-list.js.map +1 -1
  216. package/esm/cli/email/email-template.js +1 -1
  217. package/esm/cli/email/email-template.js.map +1 -1
  218. package/esm/cli/email/email.js +2 -2
  219. package/esm/cli/email/email.js.map +1 -1
  220. package/esm/cli/esv/esv-apply.js +18 -9
  221. package/esm/cli/esv/esv-apply.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-create.js +16 -8
  223. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-delete.js +13 -10
  225. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-describe.js +10 -7
  227. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-export.js +22 -7
  229. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-import.js +7 -5
  231. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  232. package/esm/cli/esv/esv-secret-list.js +11 -8
  233. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  234. package/esm/cli/esv/esv-secret-set.js +10 -7
  235. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  236. package/esm/cli/esv/esv-secret-version-activate.js +10 -8
  237. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  238. package/esm/cli/esv/esv-secret-version-create.js +16 -8
  239. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  240. package/esm/cli/esv/esv-secret-version-deactivate.js +10 -8
  241. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  242. package/esm/cli/esv/esv-secret-version-delete.js +13 -10
  243. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  244. package/esm/cli/esv/esv-secret-version-list.js +10 -7
  245. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  246. package/esm/cli/esv/esv-secret-version.js +1 -1
  247. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  248. package/esm/cli/esv/esv-secret.js +2 -3
  249. package/esm/cli/esv/esv-secret.js.map +1 -1
  250. package/esm/cli/esv/esv-variable-create.js +11 -7
  251. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  252. package/esm/cli/esv/esv-variable-delete.js +13 -9
  253. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  254. package/esm/cli/esv/esv-variable-describe.js +11 -8
  255. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  256. package/esm/cli/esv/esv-variable-export.js +23 -7
  257. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  258. package/esm/cli/esv/esv-variable-import.js +7 -5
  259. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  260. package/esm/cli/esv/esv-variable-list.js +11 -8
  261. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  262. package/esm/cli/esv/esv-variable-set.js +12 -8
  263. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  264. package/esm/cli/esv/esv-variable.js +2 -3
  265. package/esm/cli/esv/esv-variable.js.map +1 -1
  266. package/esm/cli/esv/esv.js +2 -2
  267. package/esm/cli/esv/esv.js.map +1 -1
  268. package/esm/cli/idm/idm-count.js +10 -8
  269. package/esm/cli/idm/idm-count.js.map +1 -1
  270. package/esm/cli/idm/idm-export.js +24 -16
  271. package/esm/cli/idm/idm-export.js.map +1 -1
  272. package/esm/cli/idm/idm-import.js +22 -14
  273. package/esm/cli/idm/idm-import.js.map +1 -1
  274. package/esm/cli/idm/idm-list.js +9 -7
  275. package/esm/cli/idm/idm-list.js.map +1 -1
  276. package/esm/cli/idm/idm.js +2 -2
  277. package/esm/cli/idm/idm.js.map +1 -1
  278. package/esm/cli/idp/idp-export.js +12 -10
  279. package/esm/cli/idp/idp-export.js.map +1 -1
  280. package/esm/cli/idp/idp-import.js +24 -14
  281. package/esm/cli/idp/idp-import.js.map +1 -1
  282. package/esm/cli/idp/idp-list.js +8 -6
  283. package/esm/cli/idp/idp-list.js.map +1 -1
  284. package/esm/cli/idp/idp.js +2 -2
  285. package/esm/cli/idp/idp.js.map +1 -1
  286. package/esm/cli/info/info.js +13 -7
  287. package/esm/cli/info/info.js.map +1 -1
  288. package/esm/cli/journey/journey-delete.js +14 -8
  289. package/esm/cli/journey/journey-delete.js.map +1 -1
  290. package/esm/cli/journey/journey-describe.js +22 -12
  291. package/esm/cli/journey/journey-describe.js.map +1 -1
  292. package/esm/cli/journey/journey-disable.js +11 -12
  293. package/esm/cli/journey/journey-disable.js.map +1 -1
  294. package/esm/cli/journey/journey-enable.js +11 -12
  295. package/esm/cli/journey/journey-enable.js.map +1 -1
  296. package/esm/cli/journey/journey-export.js +30 -16
  297. package/esm/cli/journey/journey-export.js.map +1 -1
  298. package/esm/cli/journey/journey-import.js +15 -13
  299. package/esm/cli/journey/journey-import.js.map +1 -1
  300. package/esm/cli/journey/journey-list.js +7 -5
  301. package/esm/cli/journey/journey-list.js.map +1 -1
  302. package/esm/cli/journey/journey-prune.js +23 -13
  303. package/esm/cli/journey/journey-prune.js.map +1 -1
  304. package/esm/cli/journey/journey.js +2 -2
  305. package/esm/cli/journey/journey.js.map +1 -1
  306. package/esm/cli/log/log-fetch.js +67 -35
  307. package/esm/cli/log/log-fetch.js.map +1 -1
  308. package/esm/cli/log/log-key-delete.js +9 -7
  309. package/esm/cli/log/log-key-delete.js.map +1 -1
  310. package/esm/cli/log/log-key-describe.js +7 -5
  311. package/esm/cli/log/log-key-describe.js.map +1 -1
  312. package/esm/cli/log/log-key-list.js +7 -5
  313. package/esm/cli/log/log-key-list.js.map +1 -1
  314. package/esm/cli/log/log-key.js +1 -1
  315. package/esm/cli/log/log-key.js.map +1 -1
  316. package/esm/cli/log/log-list.js +64 -33
  317. package/esm/cli/log/log-list.js.map +1 -1
  318. package/esm/cli/log/log-tail.js +65 -34
  319. package/esm/cli/log/log-tail.js.map +1 -1
  320. package/esm/cli/log/log.js +2 -2
  321. package/esm/cli/log/log.js.map +1 -1
  322. package/esm/cli/oauth/oauth-client-delete.js +21 -0
  323. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  324. package/esm/cli/oauth/oauth-client-describe.js +21 -0
  325. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  326. package/esm/cli/oauth/oauth-client-export.js +51 -0
  327. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  328. package/esm/cli/oauth/oauth-client-import.js +56 -0
  329. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  330. package/esm/cli/oauth/oauth-client-list.js +24 -0
  331. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  332. package/esm/cli/oauth/oauth-client.js +14 -0
  333. package/esm/cli/oauth/oauth-client.js.map +1 -0
  334. package/esm/cli/oauth/oauth.js +13 -0
  335. package/esm/cli/oauth/oauth.js.map +1 -0
  336. package/esm/cli/realm/realm-add-custom-domain.js +8 -6
  337. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  338. package/esm/cli/realm/realm-describe.js +8 -6
  339. package/esm/cli/realm/realm-describe.js.map +1 -1
  340. package/esm/cli/realm/realm-list.js +8 -6
  341. package/esm/cli/realm/realm-list.js.map +1 -1
  342. package/esm/cli/realm/realm-remove-custom-domain.js +11 -6
  343. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  344. package/esm/cli/realm/realm.js +2 -2
  345. package/esm/cli/realm/realm.js.map +1 -1
  346. package/esm/cli/saml/saml-cot-export.js +14 -12
  347. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  348. package/esm/cli/saml/saml-cot-import.js +15 -13
  349. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  350. package/esm/cli/saml/saml-cot-list.js +9 -7
  351. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  352. package/esm/cli/saml/saml-cot.js +1 -1
  353. package/esm/cli/saml/saml-cot.js.map +1 -1
  354. package/esm/cli/saml/saml-delete.js +14 -8
  355. package/esm/cli/saml/saml-delete.js.map +1 -1
  356. package/esm/cli/saml/saml-describe.js +9 -7
  357. package/esm/cli/saml/saml-describe.js.map +1 -1
  358. package/esm/cli/saml/saml-export.js +20 -12
  359. package/esm/cli/saml/saml-export.js.map +1 -1
  360. package/esm/cli/saml/saml-import.js +24 -14
  361. package/esm/cli/saml/saml-import.js.map +1 -1
  362. package/esm/cli/saml/saml-list.js +9 -7
  363. package/esm/cli/saml/saml-list.js.map +1 -1
  364. package/esm/cli/saml/saml-metadata-export.js +10 -8
  365. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  366. package/esm/cli/saml/saml-metadata.js +1 -1
  367. package/esm/cli/saml/saml-metadata.js.map +1 -1
  368. package/esm/cli/saml/saml.js +2 -2
  369. package/esm/cli/saml/saml.js.map +1 -1
  370. package/esm/cli/script/script-delete.js +21 -8
  371. package/esm/cli/script/script-delete.js.map +1 -1
  372. package/esm/cli/script/script-describe.js +7 -5
  373. package/esm/cli/script/script-describe.js.map +1 -1
  374. package/esm/cli/script/script-export.js +13 -15
  375. package/esm/cli/script/script-export.js.map +1 -1
  376. package/esm/cli/script/script-import.js +18 -10
  377. package/esm/cli/script/script-import.js.map +1 -1
  378. package/esm/cli/script/script-list.js +10 -8
  379. package/esm/cli/script/script-list.js.map +1 -1
  380. package/esm/cli/script/script.js +3 -5
  381. package/esm/cli/script/script.js.map +1 -1
  382. package/esm/cli/service/service-delete.js +8 -5
  383. package/esm/cli/service/service-delete.js.map +1 -1
  384. package/esm/cli/service/service-export.js +13 -11
  385. package/esm/cli/service/service-export.js.map +1 -1
  386. package/esm/cli/service/service-import.js +32 -14
  387. package/esm/cli/service/service-import.js.map +1 -1
  388. package/esm/cli/service/service-list.js +7 -4
  389. package/esm/cli/service/service-list.js.map +1 -1
  390. package/esm/cli/service/service.js +2 -2
  391. package/esm/cli/service/service.js.map +1 -1
  392. package/esm/cli/shell/shell.js +57 -0
  393. package/esm/cli/shell/shell.js.map +1 -0
  394. package/esm/cli/theme/theme-delete.js +13 -11
  395. package/esm/cli/theme/theme-delete.js.map +1 -1
  396. package/esm/cli/theme/theme-export.js +16 -14
  397. package/esm/cli/theme/theme-export.js.map +1 -1
  398. package/esm/cli/theme/theme-import.js +16 -14
  399. package/esm/cli/theme/theme-import.js.map +1 -1
  400. package/esm/cli/theme/theme-list.js +8 -6
  401. package/esm/cli/theme/theme-list.js.map +1 -1
  402. package/esm/cli/theme/theme.js +2 -2
  403. package/esm/cli/theme/theme.js.map +1 -1
  404. package/esm/help/SampleData.js +1 -1
  405. package/esm/help/SampleData.js.map +1 -1
  406. package/esm/launch.js +1 -1
  407. package/esm/launch.js.map +1 -1
  408. package/esm/loader.js +2 -2
  409. package/esm/loader.js.map +1 -1
  410. package/esm/ops/AdminFederationOps.js +231 -0
  411. package/esm/ops/AdminFederationOps.js.map +1 -0
  412. package/esm/ops/AdminOps.js +151 -0
  413. package/esm/ops/AdminOps.js.map +1 -0
  414. package/esm/ops/AgentOps.js +213 -150
  415. package/esm/ops/AgentOps.js.map +1 -1
  416. package/esm/ops/ApplicationOps.js +324 -0
  417. package/esm/ops/ApplicationOps.js.map +1 -0
  418. package/esm/ops/AuthenticationSettingsOps.js +90 -0
  419. package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
  420. package/esm/ops/CirclesOfTrustOps.js +98 -78
  421. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  422. package/esm/ops/ConfigOps.js +168 -0
  423. package/esm/ops/ConfigOps.js.map +1 -0
  424. package/esm/ops/ConnectionProfileOps.js +13 -6
  425. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  426. package/esm/ops/EmailTemplateOps.js +122 -127
  427. package/esm/ops/EmailTemplateOps.js.map +1 -1
  428. package/esm/ops/IdmOps.js +101 -182
  429. package/esm/ops/IdmOps.js.map +1 -1
  430. package/esm/ops/IdpOps.js +108 -75
  431. package/esm/ops/IdpOps.js.map +1 -1
  432. package/esm/ops/JourneyOps.js +182 -116
  433. package/esm/ops/JourneyOps.js.map +1 -1
  434. package/esm/ops/LogOps.js +22 -12
  435. package/esm/ops/LogOps.js.map +1 -1
  436. package/esm/ops/NodeOps.js +14 -3
  437. package/esm/ops/NodeOps.js.map +1 -1
  438. package/esm/ops/OAuth2ClientOps.js +71 -49
  439. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  440. package/esm/ops/OrganizationOps.js +14 -22
  441. package/esm/ops/OrganizationOps.js.map +1 -1
  442. package/esm/ops/PolicyOps.js +127 -86
  443. package/esm/ops/PolicyOps.js.map +1 -1
  444. package/esm/ops/PolicySetOps.js +108 -76
  445. package/esm/ops/PolicySetOps.js.map +1 -1
  446. package/esm/ops/RealmOps.js +15 -10
  447. package/esm/ops/RealmOps.js.map +1 -1
  448. package/esm/ops/ResourceTypeOps.js +105 -87
  449. package/esm/ops/ResourceTypeOps.js.map +1 -1
  450. package/esm/ops/Saml2Ops.js +138 -91
  451. package/esm/ops/Saml2Ops.js.map +1 -1
  452. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  453. package/esm/ops/ScriptOps.js +222 -90
  454. package/esm/ops/ScriptOps.js.map +1 -1
  455. package/esm/ops/SecretsOps.js +333 -79
  456. package/esm/ops/SecretsOps.js.map +1 -1
  457. package/esm/ops/ServiceOps.js +97 -54
  458. package/esm/ops/ServiceOps.js.map +1 -1
  459. package/esm/ops/ThemeOps.js +164 -158
  460. package/esm/ops/ThemeOps.js.map +1 -1
  461. package/esm/ops/VariablesOps.js +252 -65
  462. package/esm/ops/VariablesOps.js.map +1 -1
  463. package/esm/ops/utils/OpsUtils.js +1 -1
  464. package/esm/ops/utils/OpsUtils.js.map +1 -1
  465. package/esm/ops/utils/Wordwrap.js +1 -1
  466. package/esm/ops/utils/Wordwrap.js.map +1 -1
  467. package/esm/storage/StaticStorage.js +1 -1
  468. package/esm/storage/StaticStorage.js.map +1 -1
  469. package/esm/utils/Config.js +164 -4
  470. package/esm/utils/Config.js.map +1 -1
  471. package/esm/utils/Console.js +78 -35
  472. package/esm/utils/Console.js.map +1 -1
  473. package/esm/utils/Version.js +20 -17
  474. package/esm/utils/Version.js.map +1 -1
  475. package/global-jest-setup.js +5 -0
  476. package/package.json +55 -37
  477. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  478. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
  479. package/esm/utils/ExportImportUtils.js +0 -90
  480. package/esm/utils/ExportImportUtils.js.map +0 -1
@@ -1,12 +1,16 @@
1
+ import { frodo } from '@rockcarver/frodo-lib';
2
+ import Color from 'colors';
3
+ import { compareVersions } from 'compare-versions';
1
4
  import fs from 'fs';
2
- import path from 'path';
3
5
  import os from 'os';
6
+ import path from 'path';
4
7
  import { fileURLToPath } from 'url';
5
- import { compareVersions } from 'compare-versions';
6
- import { frodo } from '@rockcarver/frodo-lib';
7
- import Color from 'colors';
8
+ const {
9
+ getVersion,
10
+ getAllVersions
11
+ } = frodo.utils.version;
8
12
  const VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;
9
- const VERSION_CHECK_INTERVAL = 3600;
13
+ const VERSION_CHECK_INTERVAL = 86400;
10
14
  const GITHUB_REPOS_URL = `https://api.github.com`;
11
15
  const GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;
12
16
  const NPM_BASE_URL = `https://registry.npmjs.org`;
@@ -30,28 +34,28 @@ function getCliVersion() {
30
34
  return `${pkg.version}`;
31
35
  }
32
36
  function getLibVersion() {
33
- return frodo.utils.version.getVersion();
37
+ return getVersion();
34
38
  }
35
39
  function extractGithubReleaseInfo(data) {
36
40
  const release = {
37
41
  type: 'github',
38
- name: '',
42
+ version: '',
39
43
  published_at: ''
40
44
  };
41
45
  // find first stable release
42
46
  const r = data.find(rel => rel.prerelease == false);
43
- release.name = r.name;
47
+ release.version = r.tag_name.replace('v', '');
44
48
  release.published_at = r.published_at;
45
49
  return release;
46
50
  }
47
51
  function extractNpmReleaseInfo(data) {
48
52
  const release = {
49
53
  type: 'npm',
50
- name: '',
54
+ version: '',
51
55
  published_at: ''
52
56
  };
53
57
  // stable release
54
- release.name = data[`dist-tags`].latest;
58
+ release.version = data[`dist-tags`].latest;
55
59
  release.published_at = data.time[data[`dist-tags`].latest];
56
60
  return release;
57
61
  }
@@ -68,7 +72,7 @@ async function getRemoteVersionData() {
68
72
  }
69
73
  if (!useCache) {
70
74
  const allVersions = [];
71
- const result = await frodo.utils.version.getAllVersions(ENDPOINTS);
75
+ const result = await getAllVersions(ENDPOINTS);
72
76
  result.forEach(item => {
73
77
  if (Array.isArray(item['value'].data)) {
74
78
  allVersions.push(extractGithubReleaseInfo(item['value'].data));
@@ -76,13 +80,12 @@ async function getRemoteVersionData() {
76
80
  allVersions.push(extractNpmReleaseInfo(item['value'].data));
77
81
  }
78
82
  });
79
- // const allVersions = await LibVersion.getAllVersions(ENDPOINTS);
80
83
  allVersions.forEach(element => {
81
84
  // cli
82
85
  if (element.type == 'github') {
83
- versionObject.github = element.name;
86
+ versionObject.github = element.version;
84
87
  } else {
85
- versionObject.npm = element.name;
88
+ versionObject.npm = element.version;
86
89
  }
87
90
  });
88
91
  versionObject.last_checked = Math.floor(Date.now() / 1000);
@@ -95,7 +98,7 @@ function getBinaryName() {
95
98
  export async function getVersions(checkOnly) {
96
99
  let updateAvailable = false;
97
100
  let usingBinary = false;
98
- if (getBinaryName() == 'frodo') {
101
+ if (getBinaryName() === 'frodo' || getBinaryName() === 'frodo.exe') {
99
102
  usingBinary = true;
100
103
  }
101
104
  try {
@@ -109,7 +112,7 @@ export async function getVersions(checkOnly) {
109
112
  npm: null
110
113
  };
111
114
  }
112
- let versionString = `You seem to be running the ${usingBinary ? 'binary' : 'NPM'} package`;
115
+ let versionString = `You are running the ${usingBinary ? 'binary release' : 'NPM package'}.`;
113
116
  versionString += `\nInstalled versions:`;
114
117
  versionString += `\ncli: v${getCliVersion()}\nlib: v${getLibVersion()}\nnode: ${process.version}`;
115
118
  let newVersionString = '';
@@ -132,4 +135,4 @@ export async function getVersions(checkOnly) {
132
135
  return versionString + newVersionString;
133
136
  }
134
137
  }
135
- //# sourceMappingURL=Version.js.map
138
+ //# sourceMappingURL=Version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Version.js","names":["fs","path","os","fileURLToPath","compareVersions","frodo","Color","VERSION_CACHE_FILE","homedir","VERSION_CHECK_INTERVAL","GITHUB_REPOS_URL","GITHUB_RELEASES_PATH_CLI","NPM_BASE_URL","NPM_PACKAGE_PATH_CLI","ENDPOINTS","base","versionObject","last_checked","github","npm","__dirname","dirname","import","meta","url","enable","pkg","JSON","parse","readFileSync","resolve","getCliVersion","version","getLibVersion","utils","getVersion","extractGithubReleaseInfo","data","release","type","name","published_at","r","find","rel","prerelease","extractNpmReleaseInfo","latest","time","getRemoteVersionData","useCache","existsSync","Math","floor","Date","now","allVersions","result","getAllVersions","forEach","item","Array","isArray","push","element","writeFileSync","stringify","getBinaryName","basename","process","execPath","getVersions","checkOnly","updateAvailable","usingBinary","e","versionString","newVersionString","green"],"sources":["utils/Version.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\nimport { fileURLToPath } from 'url';\nimport { compareVersions } from 'compare-versions';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport Color from 'colors';\n\nconst VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;\nconst VERSION_CHECK_INTERVAL = 3600;\n\nconst GITHUB_REPOS_URL = `https://api.github.com`;\nconst GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;\n\nconst NPM_BASE_URL = `https://registry.npmjs.org`;\nconst NPM_PACKAGE_PATH_CLI = `/@rockcarver/frodo-cli`;\n\nconst ENDPOINTS = [\n {\n base: GITHUB_REPOS_URL,\n path: GITHUB_RELEASES_PATH_CLI,\n },\n {\n base: NPM_BASE_URL,\n path: NPM_PACKAGE_PATH_CLI,\n },\n];\n\nlet versionObject = {\n last_checked: 0,\n github: '',\n npm: '',\n};\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nColor.enable();\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nfunction getCliVersion() {\n return `${pkg.version}`;\n}\n\nfunction getLibVersion() {\n return frodo.utils.version.getVersion();\n}\n\nfunction extractGithubReleaseInfo(data) {\n const release = {\n type: 'github',\n name: '',\n published_at: '',\n };\n // find first stable release\n const r = data.find((rel) => rel.prerelease == false);\n release.name = r.name;\n release.published_at = r.published_at;\n return release;\n}\n\nfunction extractNpmReleaseInfo(data) {\n const release = {\n type: 'npm',\n name: '',\n published_at: '',\n };\n // stable release\n release.name = data[`dist-tags`].latest;\n release.published_at = data.time[data[`dist-tags`].latest];\n return release;\n}\n\nasync function getRemoteVersionData() {\n let useCache = true;\n if (fs.existsSync(VERSION_CACHE_FILE)) {\n const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');\n versionObject = JSON.parse(data);\n if (\n versionObject.last_checked + VERSION_CHECK_INTERVAL <\n Math.floor(Date.now() / 1000)\n ) {\n useCache = false;\n }\n } else {\n useCache = false;\n }\n\n if (!useCache) {\n const allVersions = [];\n const result = await frodo.utils.version.getAllVersions(ENDPOINTS);\n result.forEach((item) => {\n if (Array.isArray(item['value'].data)) {\n allVersions.push(extractGithubReleaseInfo(item['value'].data));\n } else {\n allVersions.push(extractNpmReleaseInfo(item['value'].data));\n }\n });\n // const allVersions = await LibVersion.getAllVersions(ENDPOINTS);\n allVersions.forEach((element) => {\n // cli\n if (element.type == 'github') {\n versionObject.github = element.name;\n } else {\n versionObject.npm = element.name;\n }\n });\n versionObject.last_checked = Math.floor(Date.now() / 1000);\n fs.writeFileSync(\n VERSION_CACHE_FILE,\n JSON.stringify(versionObject, null, 2)\n );\n }\n}\n\nfunction getBinaryName() {\n return path.basename(process.execPath);\n}\n\nexport async function getVersions(checkOnly: boolean) {\n let updateAvailable = false;\n let usingBinary = false;\n if (getBinaryName() == 'frodo') {\n usingBinary = true;\n }\n try {\n await getRemoteVersionData();\n } catch (e) {\n // Do not report error if remote version can not be obtained.\n // Just silently report installed version\n versionObject = {\n last_checked: 0,\n github: null,\n npm: null,\n };\n }\n\n let versionString = `You seem to be running the ${\n usingBinary ? 'binary' : 'NPM'\n } package`;\n\n versionString += `\\nInstalled versions:`;\n versionString += `\\ncli: v${getCliVersion()}\\nlib: v${getLibVersion()}\\nnode: ${\n process.version\n }`;\n let newVersionString = '';\n if (\n (usingBinary &&\n versionObject.github != null &&\n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary &&\n versionObject.npm != null &&\n compareVersions(getCliVersion(), versionObject.npm) == -1)\n ) {\n updateAvailable = true;\n newVersionString += `\\n\\nNewer version(s) available`;\n if (usingBinary) {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.github) == -1\n ? `\\ncli (github): v${versionObject.github}`.green\n : ``;\n } else {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.npm) == -1\n ? `\\ncli (npm): v${versionObject.npm}`.green\n : ``;\n }\n }\n if (checkOnly) {\n if (updateAvailable) {\n return `A new version of frodo is available.\\nPlease run 'frodo -v' for more details.\\n`\n .green;\n } else {\n return ``;\n }\n } else {\n return versionString + newVersionString;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Version.js","names":["frodo","Color","compareVersions","fs","os","path","fileURLToPath","getVersion","getAllVersions","utils","version","VERSION_CACHE_FILE","homedir","VERSION_CHECK_INTERVAL","GITHUB_REPOS_URL","GITHUB_RELEASES_PATH_CLI","NPM_BASE_URL","NPM_PACKAGE_PATH_CLI","ENDPOINTS","base","versionObject","last_checked","github","npm","__dirname","dirname","import","meta","url","enable","pkg","JSON","parse","readFileSync","resolve","getCliVersion","getLibVersion","extractGithubReleaseInfo","data","release","type","published_at","r","find","rel","prerelease","tag_name","replace","extractNpmReleaseInfo","latest","time","getRemoteVersionData","useCache","existsSync","Math","floor","Date","now","allVersions","result","forEach","item","Array","isArray","push","element","writeFileSync","stringify","getBinaryName","basename","process","execPath","getVersions","checkOnly","updateAvailable","usingBinary","e","versionString","newVersionString","green"],"sources":["../../src/utils/Version.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport Color from 'colors';\nimport { compareVersions } from 'compare-versions';\nimport fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst { getVersion, getAllVersions } = frodo.utils.version;\n\nconst VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;\nconst VERSION_CHECK_INTERVAL = 86400;\n\nconst GITHUB_REPOS_URL = `https://api.github.com`;\nconst GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;\n\nconst NPM_BASE_URL = `https://registry.npmjs.org`;\nconst NPM_PACKAGE_PATH_CLI = `/@rockcarver/frodo-cli`;\n\nconst ENDPOINTS = [\n {\n base: GITHUB_REPOS_URL,\n path: GITHUB_RELEASES_PATH_CLI,\n },\n {\n base: NPM_BASE_URL,\n path: NPM_PACKAGE_PATH_CLI,\n },\n];\n\nlet versionObject = {\n last_checked: 0,\n github: '',\n npm: '',\n};\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nColor.enable();\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nfunction getCliVersion() {\n return `${pkg.version}`;\n}\n\nfunction getLibVersion() {\n return getVersion();\n}\n\nfunction extractGithubReleaseInfo(data) {\n const release = {\n type: 'github',\n version: '',\n published_at: '',\n };\n // find first stable release\n const r = data.find((rel) => rel.prerelease == false);\n release.version = r.tag_name.replace('v', '');\n release.published_at = r.published_at;\n return release;\n}\n\nfunction extractNpmReleaseInfo(data) {\n const release = {\n type: 'npm',\n version: '',\n published_at: '',\n };\n // stable release\n release.version = data[`dist-tags`].latest;\n release.published_at = data.time[data[`dist-tags`].latest];\n return release;\n}\n\nasync function getRemoteVersionData() {\n let useCache = true;\n if (fs.existsSync(VERSION_CACHE_FILE)) {\n const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');\n versionObject = JSON.parse(data);\n if (\n versionObject.last_checked + VERSION_CHECK_INTERVAL <\n Math.floor(Date.now() / 1000)\n ) {\n useCache = false;\n }\n } else {\n useCache = false;\n }\n\n if (!useCache) {\n const allVersions = [];\n const result = await getAllVersions(ENDPOINTS);\n result.forEach((item) => {\n if (Array.isArray(item['value'].data)) {\n allVersions.push(extractGithubReleaseInfo(item['value'].data));\n } else {\n allVersions.push(extractNpmReleaseInfo(item['value'].data));\n }\n });\n allVersions.forEach((element) => {\n // cli\n if (element.type == 'github') {\n versionObject.github = element.version;\n } else {\n versionObject.npm = element.version;\n }\n });\n versionObject.last_checked = Math.floor(Date.now() / 1000);\n fs.writeFileSync(\n VERSION_CACHE_FILE,\n JSON.stringify(versionObject, null, 2)\n );\n }\n}\n\nfunction getBinaryName() {\n return path.basename(process.execPath);\n}\n\nexport async function getVersions(checkOnly: boolean) {\n let updateAvailable = false;\n let usingBinary = false;\n if (getBinaryName() === 'frodo' || getBinaryName() === 'frodo.exe') {\n usingBinary = true;\n }\n try {\n await getRemoteVersionData();\n } catch (e) {\n // Do not report error if remote version can not be obtained.\n // Just silently report installed version\n versionObject = {\n last_checked: 0,\n github: null,\n npm: null,\n };\n }\n\n let versionString = `You are running the ${\n usingBinary ? 'binary release' : 'NPM package'\n }.`;\n\n versionString += `\\nInstalled versions:`;\n versionString += `\\ncli: v${getCliVersion()}\\nlib: v${getLibVersion()}\\nnode: ${\n process.version\n }`;\n let newVersionString = '';\n if (\n (usingBinary &&\n versionObject.github != null &&\n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary &&\n versionObject.npm != null &&\n compareVersions(getCliVersion(), versionObject.npm) == -1)\n ) {\n updateAvailable = true;\n newVersionString += `\\n\\nNewer version(s) available`;\n if (usingBinary) {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.github) == -1\n ? `\\ncli (github): v${versionObject.github}`.green\n : ``;\n } else {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.npm) == -1\n ? `\\ncli (npm): v${versionObject.npm}`.green\n : ``;\n }\n }\n if (checkOnly) {\n if (updateAvailable) {\n return `A new version of frodo is available.\\nPlease run 'frodo -v' for more details.\\n`\n .green;\n } else {\n return ``;\n }\n } else {\n return versionString + newVersionString;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export default async () => {
2
+ process.env.TZ = 'UTC';
3
+ process.env.LANG = 'en-US';
4
+ process.env.FRODO_NO_CACHE = 'true';
5
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockcarver/frodo-cli",
3
- "version": "2.0.0-5",
3
+ "version": "2.0.0-50",
4
4
  "type": "module",
5
5
  "description": "A command line interface to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
6
6
  "keywords": [
@@ -29,18 +29,31 @@
29
29
  },
30
30
  "main": "esm/launch.js",
31
31
  "scripts": {
32
- "test": "npx tsc && node --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js",
33
- "test:local": "npm run build && node --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js",
32
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
33
+ "test:local": "npm run build && node --experimental-vm-modules node_modules/jest/bin/jest.js",
34
34
  "test:debug": "node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --verbose=true --silent=false",
35
- "lint": "npx eslint --ext .ts --ignore-path .gitignore .",
36
- "lint:fix": "npx eslint --fix --ext .ts --ignore-path .gitignore .",
37
- "build": "npx tsc && npx gulp",
38
- "build:local": "npx tsc && npx gulp build-local",
39
- "build:binary": "npx tsc && npx gulp build-binary",
40
- "watch": "npx gulp watch"
35
+ "lint": "eslint --ext .ts --ignore-path .gitignore .",
36
+ "lint:fix": "eslint --fix --ext .ts --ignore-path .gitignore .",
37
+ "build": "tsc && npm run build:local && npm run build:binary",
38
+ "clean-esm": "rimraf esm",
39
+ "transpile-esm": "babel --out-dir esm --extensions \".ts\" --source-maps --config-file ./babel.config.esm.json src",
40
+ "build:local": "tsc && npm run clean-esm && npm run transpile-esm && npm run clean-cjs && npm run transpile-cjs",
41
+ "clean-cjs": "rimraf cjs",
42
+ "transpile-cjs": "babel --out-dir cjs --extensions \".ts\" --source-maps --config-file ./babel.config.cjs.json src && echo {\\\"type\\\": \\\"commonjs\\\"} > cjs/package.json",
43
+ "dist-pkg": "pkg -C Gzip -t node18 --config package.json -o frodo cjs/app.js",
44
+ "dist-pkg-linux": "pkg -C Gzip -t node18-linux --config package.json -o frodo-linux cjs/app.js",
45
+ "dist-pkg-macos": "pkg -C Gzip -t node18-macos --config package.json -o frodo-macos cjs/app.js",
46
+ "dist-pkg-win": "pkg -C Gzip -t node18-win --config package.json -o frodo.exe cjs/app.js",
47
+ "build:binary": "tsc && npm run clean-cjs && npm run transpile-cjs && npm run dist-pkg",
48
+ "link-frodo-lib": "npm link ../frodo-lib",
49
+ "watch": "npm run link-frodo-lib && babel --watch --out-dir esm --extensions \".ts\" --source-maps --config-file ./babel.config.esm.json src"
41
50
  },
42
51
  "jest": {
43
- "testTimeout": 30000
52
+ "testTimeout": 30000,
53
+ "testMatch": [
54
+ "**/?(*.)(test).js"
55
+ ],
56
+ "globalSetup": "./global-jest-setup.js"
44
57
  },
45
58
  "contributors": [
46
59
  {
@@ -59,6 +72,14 @@
59
72
  "name": "Ali Falahi",
60
73
  "email": "ali@falahi.com"
61
74
  },
75
+ {
76
+ "name": "Huston Franklin",
77
+ "email": "hfranklin@trivir.com"
78
+ },
79
+ {
80
+ "name": "Preston Hales",
81
+ "email": "phales@trivir.com"
82
+ },
62
83
  {
63
84
  "name": "Nick Hangartner",
64
85
  "email": "nhangartner@gmail.com"
@@ -80,33 +101,32 @@
80
101
  "bin": {
81
102
  "frodo": "./esm/launch.js"
82
103
  },
83
- "babel": {
84
- "plugins": [
85
- "@babel/plugin-syntax-import-assertions"
86
- ]
87
- },
88
104
  "pkg": {
89
105
  "assets": [
106
+ "package.json",
90
107
  "node_modules/@rockcarver/frodo-lib/cjs/ops/templates/*.json",
91
108
  "node_modules/@rockcarver/frodo-lib/cjs/ops/templates/**/*.json",
92
109
  "node_modules/@rockcarver/frodo-lib/mocks/**/*.har"
93
110
  ],
94
111
  "scripts": [
95
- "src/cli/**/*.js",
96
- "src/ops/**/*.js",
97
- "src/storage/**/*.js",
98
- "src/utils/**/*.js"
112
+ "cjs/cli/**/*.js",
113
+ "cjs/ops/**/*.js",
114
+ "cjs/storage/**/*.js",
115
+ "cjs/utils/**/*.js"
99
116
  ]
100
117
  },
101
118
  "dependencies": {
102
- "@rockcarver/frodo-lib": "2.0.0-6",
119
+ "@rockcarver/frodo-lib": "2.0.0-71",
103
120
  "chokidar": "^3.5.3",
104
121
  "cli-progress": "^3.11.2",
105
122
  "cli-table3": "^0.6.3",
106
123
  "colors": "^1.4.0",
107
- "commander": "^9.4.1",
108
- "compare-versions": "^5.0.1",
124
+ "commander": "^11.0.0",
125
+ "compare-versions": "^6.1.0",
109
126
  "fs-extra": "^11.1.1",
127
+ "fuzzy": "^0.1.3",
128
+ "inquirer": "^8.2.5",
129
+ "inquirer-autocomplete-prompt": "^2.0.0",
110
130
  "nanospinner": "^1.1.0",
111
131
  "properties-reader": "^2.2.0",
112
132
  "replaceall": "^0.1.6",
@@ -116,6 +136,7 @@
116
136
  "yesno": "^0.4.0"
117
137
  },
118
138
  "devDependencies": {
139
+ "@babel/cli": "^7.22.5",
119
140
  "@babel/eslint-parser": "^7.18.9",
120
141
  "@babel/plugin-syntax-import-assertions": "^7.20.0",
121
142
  "@babel/plugin-transform-modules-commonjs": "^7.19.6",
@@ -124,29 +145,26 @@
124
145
  "@types/colors": "^1.2.1",
125
146
  "@types/fs-extra": "^11.0.1",
126
147
  "@types/jest": "^29.2.3",
127
- "@types/node": "^18.11.9",
128
- "@typescript-eslint/eslint-plugin": "^5.44.0",
129
- "@typescript-eslint/parser": "^5.44.0",
148
+ "@types/node": "^20.5.8",
149
+ "@typescript-eslint/eslint-plugin": "^6.5.0",
150
+ "@typescript-eslint/parser": "^6.5.0",
151
+ "@yao-pkg/pkg": "^5.11.0",
130
152
  "babel-plugin-transform-import-meta": "^2.1.1",
131
153
  "del": "^6.0.0",
132
154
  "eslint": "^8.28.0",
133
- "eslint-config-airbnb": "^19.0.4",
134
- "eslint-config-prettier": "^8.4.0",
135
- "eslint-plugin-import": "^2.25.4",
155
+ "eslint-config-prettier": "^9.0.0",
156
+ "eslint-plugin-deprecation": "^2.0.0",
157
+ "eslint-plugin-import": "^2.28.0",
136
158
  "eslint-plugin-jest": "^27.1.5",
137
159
  "eslint-plugin-jsx-a11y": "^6.6.1",
138
- "eslint-plugin-prettier": "^4.2.1",
160
+ "eslint-plugin-prettier": "^5.0.0",
139
161
  "eslint-plugin-react": "^7.31.11",
140
162
  "eslint-plugin-react-hooks": "^4.3.0",
141
- "gulp": "^4.0.2",
142
- "gulp-babel": "^8.0.0",
143
- "gulp-install": "^1.1.0",
144
- "gulp-rename": "^2.0.0",
145
- "gulp-sourcemaps": "^3.0.0",
163
+ "eslint-plugin-simple-import-sort": "^10.0.0",
146
164
  "jest": "^29.3.1",
147
165
  "map-stream": "^0.0.7",
148
- "pkg": "^5.8.0",
149
- "prettier": "^2.7.1",
150
- "typescript": "^4.9.3"
166
+ "prettier": "^3.0.3",
167
+ "rimraf": "^5.0.1",
168
+ "typescript": "^5.2.2"
151
169
  }
152
170
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-delete.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","beforeEach","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importTestThemesCmd","cwd","describe","it","done","deleteThemeCmd","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toContain"],"sources":["cli/theme/theme-delete.e2e.test_.ts"],"sourcesContent":["/* eslint-disable no-console */\n// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * Run once before running the suites in this file\n */\nbeforeAll(async () => {\n //\n});\n\n/**\n * Run before every test in every suite in this file\n */\nbeforeEach(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status && deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import test themes\n const importTestThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importTestThemesCmd.status && importTestThemesCmd.status > 0) {\n console.error(importTestThemesCmd.stderr.toString());\n console.log(importTestThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme delete', () => {\n it('\"frodo theme delete -n Zardoz\": should delete the Zardoz theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'Zardoz',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted Zardoz.', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -n DoesNotExist\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'DoesNotExist',\n 'frodo-dev',\n ]);\n const expected = ['✖ Error: DoesNotExist not found', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e06\": should delete the 4ded6d91-ceea-400a-ae3f-42209f1b0e06 (Zardoz) theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e06',\n 'frodo-dev',\n ]);\n const expected = [\n '✔ Deleted 4ded6d91-ceea-400a-ae3f-42209f1b0e06.',\n '',\n ].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e07\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e07',\n 'frodo-dev',\n ]);\n const expected = [\n '✖ Error: 4ded6d91-ceea-400a-ae3f-42209f1b0e07 not found',\n '',\n ].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -a\": should delete all themes', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-a',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted all realm themes.', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-list.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importBaselineThemesCmd","cwd","describe","it","done","themeList","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toBe","expectedLong"],"sources":["cli/theme/theme-list.e2e.test_.ts"],"sourcesContent":["/* eslint-disable no-console */\n// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * delete all themes and import baseline and additional test themes\n */\nbeforeAll(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status && deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import baseline themes\n const importBaselineThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importBaselineThemesCmd.status && importBaselineThemesCmd.status > 0) {\n console.error(importBaselineThemesCmd.stderr.toString());\n console.log(importBaselineThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme list', () => {\n it('\"frodo theme list\": should list the names of the default themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', 'frodo-dev']);\n const expected = [\n 'Contrast',\n 'Highlander',\n 'Robroy',\n 'Starter Theme',\n 'Zardoz',\n '',\n ].join('\\n');\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n const expectedLong = [\n 'Name │Id │Default',\n 'Contrast │cd6c93e2-52e2-4340-9770-66a588343841│ ',\n 'Highlander │00203891-dde0-4114-b27a-219ae0b43a61│ ',\n 'Robroy │b82755e8-fe9a-4d27-b66b-45e37ae12345│ ',\n 'Starter Theme│86ce2f64-586d-44fe-8593-b12a85aac68d│Yes ',\n 'Zardoz │4ded6d91-ceea-400a-ae3f-42209f1b0e06│ ',\n '',\n ].join('\\n');\n\n it('\"frodo theme list -l\": should list the names, ids, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '-l', 'frodo-dev']);\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme list --long\": should list the names, status, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '--long', 'frodo-dev']);\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- import fs from 'fs';
2
- import slugify from 'slugify';
3
- import { frodo, state } from '@rockcarver/frodo-lib';
4
- import { printMessage } from './Console';
5
-
6
- /**
7
- * Get a typed filename. E.g. "my-script.script.json"
8
- *
9
- * @param name The name of the file
10
- * @param type The type of the file, e.g. script, idp, etc.
11
- * @param suffix The suffix of the file, e.g. json, xml, etc. Defaults to json.
12
- * @returns The typed filename
13
- */
14
- export function getTypedFilename(name, type, suffix = 'json') {
15
- const slug = slugify(name.replace(/^http(s?):\/\//, ''));
16
- return `${slug}.${type}.${suffix}`;
17
- }
18
-
19
- /**
20
- * Save JSON object to file
21
- *
22
- * @param data data object
23
- * @param filename file name
24
- */
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- export function saveJsonToFile(data, filename) {
27
- const exportData = data;
28
- if (!exportData.meta) {
29
- exportData.meta = frodo.utils.impex.getMetadata();
30
- }
31
- fs.writeFile(filename, JSON.stringify(exportData, null, 2), err => {
32
- if (err) {
33
- return printMessage(`ERROR - can't save ${filename}`, 'error');
34
- }
35
- return '';
36
- });
37
- }
38
- export function saveToFile(type, data, identifier, filename) {
39
- const exportData = {};
40
- exportData['meta'] = frodo.utils.impex.getMetadata();
41
- exportData[type] = {};
42
- if (Array.isArray(data)) {
43
- data.forEach(element => {
44
- exportData[type][element[identifier]] = element;
45
- });
46
- } else {
47
- exportData[type][data[identifier]] = data;
48
- }
49
- fs.writeFile(filename, JSON.stringify(exportData, null, 2), err => {
50
- if (err) {
51
- return printMessage(`ERROR - can't save ${type} to file`, 'error');
52
- }
53
- return '';
54
- });
55
- }
56
-
57
- /**
58
- * Save text data to file
59
- * @param data text data
60
- * @param filename file name
61
- * @return true if successful, false otherwise
62
- */
63
- export function saveTextToFile(data, filename) {
64
- try {
65
- fs.writeFileSync(filename, data);
66
- return true;
67
- } catch (error) {
68
- printMessage(`ERROR - can't save ${filename}`, 'error');
69
- return false;
70
- }
71
- }
72
-
73
- /*
74
- * Output str in title case
75
- *
76
- * e.g.: 'ALL UPPERCASE AND all lowercase' = 'All Uppercase And All Lowercase'
77
- */
78
- export function titleCase(input) {
79
- const str = input.toString();
80
- const splitStr = str.toLowerCase().split(' ');
81
- for (let i = 0; i < splitStr.length; i += 1) {
82
- splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].slice(1);
83
- }
84
- return splitStr.join(' ');
85
- }
86
- export function getRealmString() {
87
- const realm = state.getRealm();
88
- return realm.split('/').reduce((result, item) => `${result}${titleCase(item)}`, '');
89
- }
90
- //# sourceMappingURL=ExportImportUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExportImportUtils.js","names":["fs","slugify","frodo","state","printMessage","getTypedFilename","name","type","suffix","slug","replace","saveJsonToFile","data","filename","exportData","meta","utils","impex","getMetadata","writeFile","JSON","stringify","err","saveToFile","identifier","Array","isArray","forEach","element","saveTextToFile","writeFileSync","error","titleCase","input","str","toString","splitStr","toLowerCase","split","i","length","charAt","toUpperCase","slice","join","getRealmString","realm","getRealm","reduce","result","item"],"sources":["utils/ExportImportUtils.ts"],"sourcesContent":["import fs from 'fs';\nimport slugify from 'slugify';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { printMessage } from './Console';\n\n/**\n * Get a typed filename. E.g. \"my-script.script.json\"\n *\n * @param name The name of the file\n * @param type The type of the file, e.g. script, idp, etc.\n * @param suffix The suffix of the file, e.g. json, xml, etc. Defaults to json.\n * @returns The typed filename\n */\nexport function getTypedFilename(\n name: string,\n type: string,\n suffix = 'json'\n): string {\n const slug = slugify(name.replace(/^http(s?):\\/\\//, ''));\n return `${slug}.${type}.${suffix}`;\n}\n\n/**\n * Save JSON object to file\n *\n * @param data data object\n * @param filename file name\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function saveJsonToFile(data: any, filename: string) {\n const exportData = data;\n if (!exportData.meta) {\n exportData.meta = frodo.utils.impex.getMetadata();\n }\n fs.writeFile(filename, JSON.stringify(exportData, null, 2), (err) => {\n if (err) {\n return printMessage(`ERROR - can't save ${filename}`, 'error');\n }\n return '';\n });\n}\n\nexport function saveToFile(type, data, identifier, filename) {\n const exportData = {};\n exportData['meta'] = frodo.utils.impex.getMetadata();\n exportData[type] = {};\n\n if (Array.isArray(data)) {\n data.forEach((element) => {\n exportData[type][element[identifier]] = element;\n });\n } else {\n exportData[type][data[identifier]] = data;\n }\n fs.writeFile(filename, JSON.stringify(exportData, null, 2), (err) => {\n if (err) {\n return printMessage(`ERROR - can't save ${type} to file`, 'error');\n }\n return '';\n });\n}\n\n/**\n * Save text data to file\n * @param data text data\n * @param filename file name\n * @return true if successful, false otherwise\n */\nexport function saveTextToFile(data: string, filename: string): boolean {\n try {\n fs.writeFileSync(filename, data);\n return true;\n } catch (error) {\n printMessage(`ERROR - can't save ${filename}`, 'error');\n return false;\n }\n}\n\n/*\n * Output str in title case\n *\n * e.g.: 'ALL UPPERCASE AND all lowercase' = 'All Uppercase And All Lowercase'\n */\nexport function titleCase(input) {\n const str = input.toString();\n const splitStr = str.toLowerCase().split(' ');\n for (let i = 0; i < splitStr.length; i += 1) {\n splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].slice(1);\n }\n return splitStr.join(' ');\n}\n\nexport function getRealmString() {\n const realm = state.getRealm();\n return realm\n .split('/')\n .reduce((result, item) => `${result}${titleCase(item)}`, '');\n}\n"],"mappings":"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"}