@rockcarver/frodo-cli 2.0.0-13 → 2.0.0-14

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 (383) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/esm/app.js +1 -1
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +3 -3
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +2 -2
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +2 -2
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +2 -2
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +2 -2
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +2 -2
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +2 -2
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +2 -2
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-export.js +2 -2
  21. package/esm/cli/_template/something-export.js.map +1 -1
  22. package/esm/cli/_template/something-import.js +2 -2
  23. package/esm/cli/_template/something-import.js.map +1 -1
  24. package/esm/cli/_template/something-list.js +2 -2
  25. package/esm/cli/_template/something-list.js.map +1 -1
  26. package/esm/cli/_template/something-other-delete.js +2 -2
  27. package/esm/cli/_template/something-other-delete.js.map +1 -1
  28. package/esm/cli/_template/something-other-describe.js +2 -2
  29. package/esm/cli/_template/something-other-describe.js.map +1 -1
  30. package/esm/cli/_template/something-other-export.js +2 -2
  31. package/esm/cli/_template/something-other-export.js.map +1 -1
  32. package/esm/cli/_template/something-other-import.js +2 -2
  33. package/esm/cli/_template/something-other-import.js.map +1 -1
  34. package/esm/cli/_template/something-other-list.js +2 -2
  35. package/esm/cli/_template/something-other-list.js.map +1 -1
  36. package/esm/cli/_template/something.js +1 -1
  37. package/esm/cli/_template/something.js.map +1 -1
  38. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +1 -1
  39. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  40. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +3 -3
  41. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  42. package/esm/cli/admin/admin-federation-export.js +2 -2
  43. package/esm/cli/admin/admin-federation-export.js.map +1 -1
  44. package/esm/cli/admin/admin-federation-import.js +2 -2
  45. package/esm/cli/admin/admin-federation-import.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-list.js +2 -2
  47. package/esm/cli/admin/admin-federation-list.js.map +1 -1
  48. package/esm/cli/admin/admin-get-access-token.js +2 -2
  49. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  50. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +2 -2
  51. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  52. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +2 -2
  53. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  54. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +1 -1
  55. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  56. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +1 -1
  57. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-list-static-user-mappings.js +2 -2
  59. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  60. package/esm/cli/admin/admin-remove-static-user-mapping.js +1 -1
  61. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  62. package/esm/cli/admin/admin-repair-org-model.js +2 -2
  63. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  64. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +2 -2
  65. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-show-generic-extension-attributes.js +2 -2
  67. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  68. package/esm/cli/admin/admin.js +1 -1
  69. package/esm/cli/admin/admin.js.map +1 -1
  70. package/esm/cli/agent/agent-delete.js +2 -2
  71. package/esm/cli/agent/agent-delete.js.map +1 -1
  72. package/esm/cli/agent/agent-describe.js +2 -2
  73. package/esm/cli/agent/agent-describe.js.map +1 -1
  74. package/esm/cli/agent/agent-export.js +3 -3
  75. package/esm/cli/agent/agent-export.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-delete.js +2 -2
  77. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-describe.js +2 -2
  79. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway-export.js +3 -3
  81. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-import.js +3 -3
  83. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-list.js +2 -2
  85. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  86. package/esm/cli/agent/agent-import.js +3 -3
  87. package/esm/cli/agent/agent-import.js.map +1 -1
  88. package/esm/cli/agent/agent-java-delete.js +2 -2
  89. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-java-describe.js +2 -2
  91. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-java-export.js +3 -3
  93. package/esm/cli/agent/agent-java-export.js.map +1 -1
  94. package/esm/cli/agent/agent-java-import.js +3 -3
  95. package/esm/cli/agent/agent-java-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-list.js +2 -2
  97. package/esm/cli/agent/agent-java-list.js.map +1 -1
  98. package/esm/cli/agent/agent-list.js +2 -2
  99. package/esm/cli/agent/agent-list.js.map +1 -1
  100. package/esm/cli/agent/agent-web-delete.js +2 -2
  101. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  102. package/esm/cli/agent/agent-web-describe.js +2 -2
  103. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  104. package/esm/cli/agent/agent-web-export.js +3 -3
  105. package/esm/cli/agent/agent-web-export.js.map +1 -1
  106. package/esm/cli/agent/agent-web-import.js +3 -3
  107. package/esm/cli/agent/agent-web-import.js.map +1 -1
  108. package/esm/cli/agent/agent-web-list.js +2 -2
  109. package/esm/cli/agent/agent-web-list.js.map +1 -1
  110. package/esm/cli/agent/agent.js +1 -1
  111. package/esm/cli/agent/agent.js.map +1 -1
  112. package/esm/cli/app/app-delete.js +2 -2
  113. package/esm/cli/app/app-delete.js.map +1 -1
  114. package/esm/cli/app/app-describe.js +2 -2
  115. package/esm/cli/app/app-describe.js.map +1 -1
  116. package/esm/cli/app/app-export.js +3 -3
  117. package/esm/cli/app/app-export.js.map +1 -1
  118. package/esm/cli/app/app-import.js +3 -3
  119. package/esm/cli/app/app-import.js.map +1 -1
  120. package/esm/cli/app/app-list.js +3 -3
  121. package/esm/cli/app/app-list.js.map +1 -1
  122. package/esm/cli/app/app.js +1 -1
  123. package/esm/cli/app/app.js.map +1 -1
  124. package/esm/cli/authz/authz-policy-delete.js +3 -3
  125. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  126. package/esm/cli/authz/authz-policy-describe.js +3 -3
  127. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  128. package/esm/cli/authz/authz-policy-export.js +3 -3
  129. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  130. package/esm/cli/authz/authz-policy-import.js +2 -2
  131. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  132. package/esm/cli/authz/authz-policy-list.js +3 -3
  133. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  134. package/esm/cli/authz/authz-set-delete.js +3 -3
  135. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  136. package/esm/cli/authz/authz-set-describe.js +3 -3
  137. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  138. package/esm/cli/authz/authz-set-export.js +3 -3
  139. package/esm/cli/authz/authz-set-export.js.map +1 -1
  140. package/esm/cli/authz/authz-set-import.js +2 -2
  141. package/esm/cli/authz/authz-set-import.js.map +1 -1
  142. package/esm/cli/authz/authz-set-list.js +2 -2
  143. package/esm/cli/authz/authz-set-list.js.map +1 -1
  144. package/esm/cli/authz/authz-type-delete.js +3 -3
  145. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  146. package/esm/cli/authz/authz-type-describe.js +3 -3
  147. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  148. package/esm/cli/authz/authz-type-export.js +3 -3
  149. package/esm/cli/authz/authz-type-export.js.map +1 -1
  150. package/esm/cli/authz/authz-type-import.js +3 -3
  151. package/esm/cli/authz/authz-type-import.js.map +1 -1
  152. package/esm/cli/authz/authz-type-list.js +3 -3
  153. package/esm/cli/authz/authz-type-list.js.map +1 -1
  154. package/esm/cli/authz/authz.js +1 -1
  155. package/esm/cli/authz/authz.js.map +1 -1
  156. package/esm/cli/conn/conn-delete.js +1 -1
  157. package/esm/cli/conn/conn-delete.js.map +1 -1
  158. package/esm/cli/conn/conn-describe.js +1 -1
  159. package/esm/cli/conn/conn-describe.js.map +1 -1
  160. package/esm/cli/conn/conn-list.js +1 -1
  161. package/esm/cli/conn/conn-list.js.map +1 -1
  162. package/esm/cli/conn/conn-save.js +4 -4
  163. package/esm/cli/conn/conn-save.js.map +1 -1
  164. package/esm/cli/conn/conn.js +1 -1
  165. package/esm/cli/conn/conn.js.map +1 -1
  166. package/esm/cli/email/email-template-export.js +3 -3
  167. package/esm/cli/email/email-template-export.js.map +1 -1
  168. package/esm/cli/email/email-template-import.js +3 -3
  169. package/esm/cli/email/email-template-import.js.map +1 -1
  170. package/esm/cli/email/email-template-list.js +3 -3
  171. package/esm/cli/email/email-template-list.js.map +1 -1
  172. package/esm/cli/email/email.js +1 -1
  173. package/esm/cli/email/email.js.map +1 -1
  174. package/esm/cli/esv/esv-apply.js +2 -2
  175. package/esm/cli/esv/esv-apply.js.map +1 -1
  176. package/esm/cli/esv/esv-secret-create.js +3 -3
  177. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  178. package/esm/cli/esv/esv-secret-delete.js +3 -3
  179. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  180. package/esm/cli/esv/esv-secret-describe.js +3 -3
  181. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  182. package/esm/cli/esv/esv-secret-export.js +2 -2
  183. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  184. package/esm/cli/esv/esv-secret-import.js +2 -2
  185. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  186. package/esm/cli/esv/esv-secret-list.js +3 -3
  187. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  188. package/esm/cli/esv/esv-secret-set.js +3 -3
  189. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  190. package/esm/cli/esv/esv-secret-version-activate.js +3 -3
  191. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  192. package/esm/cli/esv/esv-secret-version-create.js +4 -4
  193. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  194. package/esm/cli/esv/esv-secret-version-deactivate.js +3 -3
  195. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  196. package/esm/cli/esv/esv-secret-version-delete.js +3 -3
  197. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  198. package/esm/cli/esv/esv-secret-version-list.js +3 -3
  199. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  200. package/esm/cli/esv/esv-variable-create.js +3 -3
  201. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  202. package/esm/cli/esv/esv-variable-delete.js +3 -3
  203. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  204. package/esm/cli/esv/esv-variable-describe.js +3 -3
  205. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  206. package/esm/cli/esv/esv-variable-export.js +2 -2
  207. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  208. package/esm/cli/esv/esv-variable-import.js +2 -2
  209. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  210. package/esm/cli/esv/esv-variable-list.js +3 -3
  211. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  212. package/esm/cli/esv/esv-variable-set.js +2 -2
  213. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  214. package/esm/cli/esv/esv.js +1 -1
  215. package/esm/cli/esv/esv.js.map +1 -1
  216. package/esm/cli/idm/idm-count.js +3 -3
  217. package/esm/cli/idm/idm-count.js.map +1 -1
  218. package/esm/cli/idm/idm-export.js +3 -3
  219. package/esm/cli/idm/idm-export.js.map +1 -1
  220. package/esm/cli/idm/idm-import.js +3 -3
  221. package/esm/cli/idm/idm-import.js.map +1 -1
  222. package/esm/cli/idm/idm-list.js +2 -2
  223. package/esm/cli/idm/idm-list.js.map +1 -1
  224. package/esm/cli/idm/idm.js +1 -1
  225. package/esm/cli/idm/idm.js.map +1 -1
  226. package/esm/cli/idp/idp-export.js +6 -6
  227. package/esm/cli/idp/idp-export.js.map +1 -1
  228. package/esm/cli/idp/idp-import.js +7 -7
  229. package/esm/cli/idp/idp-import.js.map +1 -1
  230. package/esm/cli/idp/idp-list.js +2 -2
  231. package/esm/cli/idp/idp-list.js.map +1 -1
  232. package/esm/cli/idp/idp.js +1 -1
  233. package/esm/cli/idp/idp.js.map +1 -1
  234. package/esm/cli/info/info.js +3 -3
  235. package/esm/cli/info/info.js.map +1 -1
  236. package/esm/cli/journey/journey-delete.js +2 -2
  237. package/esm/cli/journey/journey-delete.js.map +1 -1
  238. package/esm/cli/journey/journey-describe.js +5 -5
  239. package/esm/cli/journey/journey-describe.js.map +1 -1
  240. package/esm/cli/journey/journey-disable.js +3 -3
  241. package/esm/cli/journey/journey-disable.js.map +1 -1
  242. package/esm/cli/journey/journey-enable.js +3 -3
  243. package/esm/cli/journey/journey-enable.js.map +1 -1
  244. package/esm/cli/journey/journey-export.js +3 -3
  245. package/esm/cli/journey/journey-export.js.map +1 -1
  246. package/esm/cli/journey/journey-import.js +3 -3
  247. package/esm/cli/journey/journey-import.js.map +1 -1
  248. package/esm/cli/journey/journey-list.js +1 -1
  249. package/esm/cli/journey/journey-list.js.map +1 -1
  250. package/esm/cli/journey/journey-prune.js +15 -11
  251. package/esm/cli/journey/journey-prune.js.map +1 -1
  252. package/esm/cli/journey/journey.js +1 -1
  253. package/esm/cli/journey/journey.js.map +1 -1
  254. package/esm/cli/log/log-fetch.js +4 -4
  255. package/esm/cli/log/log-fetch.js.map +1 -1
  256. package/esm/cli/log/log-key-delete.js +3 -3
  257. package/esm/cli/log/log-key-delete.js.map +1 -1
  258. package/esm/cli/log/log-key-describe.js +2 -2
  259. package/esm/cli/log/log-key-describe.js.map +1 -1
  260. package/esm/cli/log/log-key-list.js +2 -2
  261. package/esm/cli/log/log-key-list.js.map +1 -1
  262. package/esm/cli/log/log-list.js +2 -2
  263. package/esm/cli/log/log-list.js.map +1 -1
  264. package/esm/cli/log/log-tail.js +4 -4
  265. package/esm/cli/log/log-tail.js.map +1 -1
  266. package/esm/cli/log/log.js +1 -1
  267. package/esm/cli/log/log.js.map +1 -1
  268. package/esm/cli/realm/realm-add-custom-domain.js +3 -3
  269. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  270. package/esm/cli/realm/realm-describe.js +2 -2
  271. package/esm/cli/realm/realm-describe.js.map +1 -1
  272. package/esm/cli/realm/realm-list.js +3 -3
  273. package/esm/cli/realm/realm-list.js.map +1 -1
  274. package/esm/cli/realm/realm-remove-custom-domain.js +2 -2
  275. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  276. package/esm/cli/realm/realm.js +1 -1
  277. package/esm/cli/realm/realm.js.map +1 -1
  278. package/esm/cli/saml/saml-cot-export.js +3 -3
  279. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  280. package/esm/cli/saml/saml-cot-import.js +3 -3
  281. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  282. package/esm/cli/saml/saml-cot-list.js +3 -3
  283. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  284. package/esm/cli/saml/saml-delete.js +2 -2
  285. package/esm/cli/saml/saml-delete.js.map +1 -1
  286. package/esm/cli/saml/saml-describe.js +3 -3
  287. package/esm/cli/saml/saml-describe.js.map +1 -1
  288. package/esm/cli/saml/saml-export.js +3 -3
  289. package/esm/cli/saml/saml-export.js.map +1 -1
  290. package/esm/cli/saml/saml-import.js +3 -3
  291. package/esm/cli/saml/saml-import.js.map +1 -1
  292. package/esm/cli/saml/saml-list.js +3 -3
  293. package/esm/cli/saml/saml-list.js.map +1 -1
  294. package/esm/cli/saml/saml-metadata-export.js +3 -3
  295. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  296. package/esm/cli/saml/saml.js +1 -1
  297. package/esm/cli/saml/saml.js.map +1 -1
  298. package/esm/cli/script/script-delete.js +2 -2
  299. package/esm/cli/script/script-delete.js.map +1 -1
  300. package/esm/cli/script/script-describe.js +2 -2
  301. package/esm/cli/script/script-describe.js.map +1 -1
  302. package/esm/cli/script/script-export.js +3 -3
  303. package/esm/cli/script/script-export.js.map +1 -1
  304. package/esm/cli/script/script-import.js +3 -3
  305. package/esm/cli/script/script-import.js.map +1 -1
  306. package/esm/cli/script/script-list.js +3 -3
  307. package/esm/cli/script/script-list.js.map +1 -1
  308. package/esm/cli/script/script.js +1 -1
  309. package/esm/cli/script/script.js.map +1 -1
  310. package/esm/cli/service/service-delete.js +2 -2
  311. package/esm/cli/service/service-delete.js.map +1 -1
  312. package/esm/cli/service/service-export.js +2 -2
  313. package/esm/cli/service/service-export.js.map +1 -1
  314. package/esm/cli/service/service-import.js +2 -2
  315. package/esm/cli/service/service-import.js.map +1 -1
  316. package/esm/cli/service/service-list.js +2 -2
  317. package/esm/cli/service/service-list.js.map +1 -1
  318. package/esm/cli/service/service.js +1 -1
  319. package/esm/cli/service/service.js.map +1 -1
  320. package/esm/cli/shell/shell.js +7 -7
  321. package/esm/cli/shell/shell.js.map +1 -1
  322. package/esm/cli/theme/theme-delete.js +3 -3
  323. package/esm/cli/theme/theme-delete.js.map +1 -1
  324. package/esm/cli/theme/theme-export.js +3 -3
  325. package/esm/cli/theme/theme-export.js.map +1 -1
  326. package/esm/cli/theme/theme-import.js +3 -3
  327. package/esm/cli/theme/theme-import.js.map +1 -1
  328. package/esm/cli/theme/theme-list.js +2 -2
  329. package/esm/cli/theme/theme-list.js.map +1 -1
  330. package/esm/cli/theme/theme.js +1 -1
  331. package/esm/cli/theme/theme.js.map +1 -1
  332. package/esm/loader.js +1 -1
  333. package/esm/loader.js.map +1 -1
  334. package/esm/ops/AdminFederationOps.js +3 -3
  335. package/esm/ops/AdminFederationOps.js.map +1 -1
  336. package/esm/ops/AgentOps.js +13 -13
  337. package/esm/ops/AgentOps.js.map +1 -1
  338. package/esm/ops/CirclesOfTrustOps.js +4 -4
  339. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  340. package/esm/ops/ConnectionProfileOps.js +1 -1
  341. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  342. package/esm/ops/EmailTemplateOps.js +42 -44
  343. package/esm/ops/EmailTemplateOps.js.map +1 -1
  344. package/esm/ops/IdmOps.js +40 -56
  345. package/esm/ops/IdmOps.js.map +1 -1
  346. package/esm/ops/IdpOps.js +29 -26
  347. package/esm/ops/IdpOps.js.map +1 -1
  348. package/esm/ops/JourneyOps.js +42 -17
  349. package/esm/ops/JourneyOps.js.map +1 -1
  350. package/esm/ops/LogOps.js.map +1 -1
  351. package/esm/ops/NodeOps.js.map +1 -1
  352. package/esm/ops/OAuth2ClientOps.js +3 -3
  353. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  354. package/esm/ops/OrganizationOps.js +9 -23
  355. package/esm/ops/OrganizationOps.js.map +1 -1
  356. package/esm/ops/PolicyOps.js +10 -10
  357. package/esm/ops/PolicyOps.js.map +1 -1
  358. package/esm/ops/PolicySetOps.js +9 -9
  359. package/esm/ops/PolicySetOps.js.map +1 -1
  360. package/esm/ops/RealmOps.js +9 -9
  361. package/esm/ops/RealmOps.js.map +1 -1
  362. package/esm/ops/ResourceTypeOps.js +8 -8
  363. package/esm/ops/ResourceTypeOps.js.map +1 -1
  364. package/esm/ops/Saml2Ops.js +25 -30
  365. package/esm/ops/Saml2Ops.js.map +1 -1
  366. package/esm/ops/ScriptOps.js +6 -5
  367. package/esm/ops/ScriptOps.js.map +1 -1
  368. package/esm/ops/SecretsOps.js +18 -17
  369. package/esm/ops/SecretsOps.js.map +1 -1
  370. package/esm/ops/ServiceOps.js +1 -1
  371. package/esm/ops/ServiceOps.js.map +1 -1
  372. package/esm/ops/ThemeOps.js +18 -18
  373. package/esm/ops/ThemeOps.js.map +1 -1
  374. package/esm/ops/VariablesOps.js +9 -12
  375. package/esm/ops/VariablesOps.js.map +1 -1
  376. package/esm/utils/Config.js.map +1 -1
  377. package/esm/utils/Console.js +3 -2
  378. package/esm/utils/Console.js.map +1 -1
  379. package/esm/utils/ExportImportUtils.js +2 -2
  380. package/esm/utils/ExportImportUtils.js.map +1 -1
  381. package/esm/utils/Version.js +3 -3
  382. package/esm/utils/Version.js.map +1 -1
  383. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"VariablesOps.js","names":["frodo","createKeyValueTable","createProgressBar","createTable","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","wordwrap","decodeBase64","utils","resolveUserName","idm","managed","getVariables","getVariable","putVariable","cloud","variable","listVariables","long","variables","result","sort","a","b","_id","localeCompare","error","message","response","data","table","push","valueBase64","loaded","description","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","secret","createVariable","variableId","value","type","code","updateVariable","setVariableDescription","deleteVariable","deleteVariables","length","describeVariable"],"sources":["../../src/ops/VariablesOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport {\n createKeyValueTable,\n createProgressBar,\n createTable,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport wordwrap from './utils/Wordwrap';\nimport { VariableExpressionType } from '@rockcarver/frodo-lib/types/api/cloud/VariablesApi';\n\nconst { decodeBase64 } = frodo.utils;\nconst { resolveUserName } = frodo.idm.managed;\nconst { getVariables, getVariable, putVariable } = frodo.cloud.variable;\n\n/**\n * List variables\n * @param {boolean} long Long version, all the fields\n */\nexport async function listVariables(long) {\n let variables = [];\n try {\n variables = (await getVariables()).result;\n variables.sort((a, b) => a._id.localeCompare(b._id));\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n 'Value'['brightCyan'],\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n for (const variable of variables) {\n table.push([\n variable._id,\n wordwrap(decodeBase64(variable.valueBase64), 40),\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(variable.description, 40),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', variable.lastChangedBy),\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n variables.forEach((secret) => {\n printMessage(secret._id, 'data');\n });\n }\n}\n\n/**\n * Create variable\n * @param {string} variableId variable id\n * @param {string} value variable value\n * @param {string} description variable description\n * @param {VariableExpressionType} type variable type\n */\nexport async function createVariable(\n variableId: string,\n value: string,\n description: string,\n type: VariableExpressionType = 'string'\n) {\n showSpinner(`Creating variable ${variableId}...`);\n try {\n await putVariable(variableId, value, description, type);\n succeedSpinner(`Created variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Update variable\n * @param {string} variableId variable id\n * @param {string} value variable value\n * @param {string} description variable description\n */\nexport async function updateVariable(variableId, value, description) {\n showSpinner(`Updating variable ${variableId}...`);\n try {\n await putVariable(variableId, value, description);\n succeedSpinner(`Updated variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Set description of variable\n * @param {string} variableId variable id\n * @param {string} description variable description\n */\nexport async function setVariableDescription(variableId, description) {\n showSpinner(`Setting description of variable ${variableId}...`);\n try {\n await setVariableDescription(variableId, description);\n succeedSpinner(`Set description of variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete a variable\n * @param {string} variableId variable id\n */\nexport async function deleteVariable(variableId) {\n showSpinner(`Deleting variable ${variableId}...`);\n try {\n await deleteVariable(variableId);\n succeedSpinner(`Deleted variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete all variables\n */\nexport async function deleteVariables() {\n try {\n const variables = (await getVariables()).result;\n createProgressBar(variables.length, `Deleting variable...`);\n for (const variable of variables) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await deleteVariable(variable._id);\n updateProgressBar(`Deleted variable ${variable._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressBar(`Variables deleted.`);\n } catch (error) {\n stopProgressBar(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * Describe a variable\n * @param {string} variableId variable id\n */\nexport async function describeVariable(variableId) {\n const variable = await getVariable(variableId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], variable._id]);\n table.push([\n 'Value'['brightCyan'],\n wordwrap(decodeBase64(variable.valueBase64), 40),\n ]);\n table.push([\n 'Status'['brightCyan'],\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(variable.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', variable.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], variable.lastChangedBy]);\n printMessage(table.toString());\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VariablesOps.js","names":["frodo","createKeyValueTable","createProgressBar","createTable","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","wordwrap","decodeBase64","utils","resolveUserName","idm","managed","readVariables","readVariable","updateVariable","_updateVariable","cloud","variable","listVariables","long","variables","sort","a","b","_id","localeCompare","error","message","response","data","table","push","valueBase64","loaded","description","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","secret","createVariable","variableId","value","type","code","setVariableDescription","deleteVariable","deleteVariables","length","describeVariable"],"sources":["../../src/ops/VariablesOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { VariableExpressionType } from '@rockcarver/frodo-lib/types/api/cloud/VariablesApi';\n\nimport {\n createKeyValueTable,\n createProgressBar,\n createTable,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport wordwrap from './utils/Wordwrap';\n\nconst { decodeBase64 } = frodo.utils;\nconst { resolveUserName } = frodo.idm.managed;\nconst {\n readVariables,\n readVariable,\n updateVariable: _updateVariable,\n} = frodo.cloud.variable;\n\n/**\n * List variables\n * @param {boolean} long Long version, all the fields\n */\nexport async function listVariables(long) {\n let variables = [];\n try {\n variables = await readVariables();\n variables.sort((a, b) => a._id.localeCompare(b._id));\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n 'Value'['brightCyan'],\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n for (const variable of variables) {\n table.push([\n variable._id,\n wordwrap(decodeBase64(variable.valueBase64), 40),\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(variable.description, 40),\n await resolveUserName('teammember', variable.lastChangedBy),\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n variables.forEach((secret) => {\n printMessage(secret._id, 'data');\n });\n }\n}\n\n/**\n * Create variable\n * @param {string} variableId variable id\n * @param {string} value variable value\n * @param {string} description variable description\n * @param {VariableExpressionType} type variable type\n */\nexport async function createVariable(\n variableId: string,\n value: string,\n description: string,\n type: VariableExpressionType = 'string'\n) {\n showSpinner(`Creating variable ${variableId}...`);\n try {\n await _updateVariable(variableId, value, description, type);\n succeedSpinner(`Created variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Update variable\n * @param {string} variableId variable id\n * @param {string} value variable value\n * @param {string} description variable description\n */\nexport async function updateVariable(variableId, value, description) {\n showSpinner(`Updating variable ${variableId}...`);\n try {\n await _updateVariable(variableId, value, description);\n succeedSpinner(`Updated variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Set description of variable\n * @param {string} variableId variable id\n * @param {string} description variable description\n */\nexport async function setVariableDescription(variableId, description) {\n showSpinner(`Setting description of variable ${variableId}...`);\n try {\n await setVariableDescription(variableId, description);\n succeedSpinner(`Set description of variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete a variable\n * @param {string} variableId variable id\n */\nexport async function deleteVariable(variableId) {\n showSpinner(`Deleting variable ${variableId}...`);\n try {\n await deleteVariable(variableId);\n succeedSpinner(`Deleted variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete all variables\n */\nexport async function deleteVariables() {\n try {\n const variables = await readVariables();\n createProgressBar(variables.length, `Deleting variable...`);\n for (const variable of variables) {\n try {\n await deleteVariable(variable._id);\n updateProgressBar(`Deleted variable ${variable._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressBar(`Variables deleted.`);\n } catch (error) {\n stopProgressBar(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * Describe a variable\n * @param {string} variableId variable id\n */\nexport async function describeVariable(variableId) {\n const variable = await readVariable(variableId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], variable._id]);\n table.push([\n 'Value'['brightCyan'],\n wordwrap(decodeBase64(variable.valueBase64), 40),\n ]);\n table.push([\n 'Status'['brightCyan'],\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(variable.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', variable.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], variable.lastChangedBy]);\n printMessage(table.toString());\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAG7C,SACEC,mBAAmB,EACnBC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,cAAc,EACdC,iBAAiB,QACZ,kBAAkB;AACzB,OAAOC,QAAQ,MAAM,kBAAkB;AAEvC,MAAM;EAAEC;AAAa,CAAC,GAAGX,KAAK,CAACY,KAAK;AACpC,MAAM;EAAEC;AAAgB,CAAC,GAAGb,KAAK,CAACc,GAAG,CAACC,OAAO;AAC7C,MAAM;EACJC,aAAa;EACbC,YAAY;EACZC,cAAc,EAAEC;AAClB,CAAC,GAAGnB,KAAK,CAACoB,KAAK,CAACC,QAAQ;;AAExB;AACA;AACA;AACA;AACA,OAAO,eAAeC,aAAaA,CAACC,IAAI,EAAE;EACxC,IAAIC,SAAS,GAAG,EAAE;EAClB,IAAI;IACFA,SAAS,GAAG,MAAMR,aAAa,CAAC,CAAC;IACjCQ,SAAS,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,GAAG,CAACC,aAAa,CAACF,CAAC,CAACC,GAAG,CAAC,CAAC;EACtD,CAAC,CAAC,OAAOE,KAAK,EAAE;IACdzB,YAAY,CAAE,GAAEyB,KAAK,CAACC,OAAQ,EAAC,EAAE,OAAO,CAAC;IACzC1B,YAAY,CAACyB,KAAK,CAACE,QAAQ,CAACC,IAAI,EAAE,OAAO,CAAC;EAC5C;EACA,IAAIV,IAAI,EAAE;IACR,MAAMW,KAAK,GAAG/B,WAAW,CAAC,CACxB,IAAI,CAAC,YAAY,CAAC,EAClB,OAAO,CAAC,YAAY,CAAC,EACrB,QAAQ,CAAC,YAAY,CAAC,EACtB,aAAa,CAAC,YAAY,CAAC,EAC3B,UAAU,CAAC,YAAY,CAAC,EACxB,UAAU,CAAC,YAAY,CAAC,CACzB,CAAC;IACF,KAAK,MAAMkB,QAAQ,IAAIG,SAAS,EAAE;MAChCU,KAAK,CAACC,IAAI,CAAC,CACTd,QAAQ,CAACO,GAAG,EACZlB,QAAQ,CAACC,YAAY,CAACU,QAAQ,CAACe,WAAW,CAAC,EAAE,EAAE,CAAC,EAChDf,QAAQ,CAACgB,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,EACnE3B,QAAQ,CAACW,QAAQ,CAACiB,WAAW,EAAE,EAAE,CAAC,EAClC,MAAMzB,eAAe,CAAC,YAAY,EAAEQ,QAAQ,CAACkB,aAAa,CAAC,EAC3D,IAAIC,IAAI,CAACnB,QAAQ,CAACoB,cAAc,CAAC,CAACC,cAAc,CAAC,CAAC,CACnD,CAAC;IACJ;IACArC,YAAY,CAAC6B,KAAK,CAACS,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;EACxC,CAAC,MAAM;IACLnB,SAAS,CAACoB,OAAO,CAAEC,MAAM,IAAK;MAC5BxC,YAAY,CAACwC,MAAM,CAACjB,GAAG,EAAE,MAAM,CAAC;IAClC,CAAC,CAAC;EACJ;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAekB,cAAcA,CAClCC,UAAkB,EAClBC,KAAa,EACbV,WAAmB,EACnBW,IAA4B,GAAG,QAAQ,EACvC;EACA3C,WAAW,CAAE,qBAAoByC,UAAW,KAAI,CAAC;EACjD,IAAI;IACF,MAAM5B,eAAe,CAAC4B,UAAU,EAAEC,KAAK,EAAEV,WAAW,EAAEW,IAAI,CAAC;IAC3DzC,cAAc,CAAE,oBAAmBuC,UAAW,EAAC,CAAC;EAClD,CAAC,CAAC,OAAOjB,KAAK,EAAE;IACd1B,WAAW,CACR,UAAS0B,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACiB,IAAK,MAAKpB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACF,OAAQ,EACtE,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeb,cAAcA,CAAC6B,UAAU,EAAEC,KAAK,EAAEV,WAAW,EAAE;EACnEhC,WAAW,CAAE,qBAAoByC,UAAW,KAAI,CAAC;EACjD,IAAI;IACF,MAAM5B,eAAe,CAAC4B,UAAU,EAAEC,KAAK,EAAEV,WAAW,CAAC;IACrD9B,cAAc,CAAE,oBAAmBuC,UAAW,EAAC,CAAC;EAClD,CAAC,CAAC,OAAOjB,KAAK,EAAE;IACd1B,WAAW,CACR,UAAS0B,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACiB,IAAK,MAAKpB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACF,OAAQ,EACtE,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeoB,sBAAsBA,CAACJ,UAAU,EAAET,WAAW,EAAE;EACpEhC,WAAW,CAAE,mCAAkCyC,UAAW,KAAI,CAAC;EAC/D,IAAI;IACF,MAAMI,sBAAsB,CAACJ,UAAU,EAAET,WAAW,CAAC;IACrD9B,cAAc,CAAE,+BAA8BuC,UAAW,EAAC,CAAC;EAC7D,CAAC,CAAC,OAAOjB,KAAK,EAAE;IACd1B,WAAW,CACR,UAAS0B,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACiB,IAAK,MAAKpB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACF,OAAQ,EACtE,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeqB,cAAcA,CAACL,UAAU,EAAE;EAC/CzC,WAAW,CAAE,qBAAoByC,UAAW,KAAI,CAAC;EACjD,IAAI;IACF,MAAMK,cAAc,CAACL,UAAU,CAAC;IAChCvC,cAAc,CAAE,oBAAmBuC,UAAW,EAAC,CAAC;EAClD,CAAC,CAAC,OAAOjB,KAAK,EAAE;IACd1B,WAAW,CACR,UAAS0B,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACiB,IAAK,MAAKpB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACF,OAAQ,EACtE,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA,OAAO,eAAesB,eAAeA,CAAA,EAAG;EACtC,IAAI;IACF,MAAM7B,SAAS,GAAG,MAAMR,aAAa,CAAC,CAAC;IACvCd,iBAAiB,CAACsB,SAAS,CAAC8B,MAAM,EAAG,sBAAqB,CAAC;IAC3D,KAAK,MAAMjC,QAAQ,IAAIG,SAAS,EAAE;MAChC,IAAI;QACF,MAAM4B,cAAc,CAAC/B,QAAQ,CAACO,GAAG,CAAC;QAClCnB,iBAAiB,CAAE,oBAAmBY,QAAQ,CAACO,GAAI,EAAC,CAAC;MACvD,CAAC,CAAC,OAAOE,KAAK,EAAE;QACdzB,YAAY,CACT,UAASyB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACiB,IAAK,MAAKpB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACF,OAAQ,EAAC,EACrE,OACF,CAAC;MACH;IACF;IACAxB,eAAe,CAAE,oBAAmB,CAAC;EACvC,CAAC,CAAC,OAAOuB,KAAK,EAAE;IACdvB,eAAe,CACZ,UAASuB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACiB,IAAK,MAAKpB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACF,OAAQ,EACtE,CAAC;IACD1B,YAAY,CACT,UAASyB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACiB,IAAK,MAAKpB,KAAK,CAACE,QAAQ,CAACC,IAAI,CAACF,OAAQ,EAAC,EACrE,OACF,CAAC;EACH;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAewB,gBAAgBA,CAACR,UAAU,EAAE;EACjD,MAAM1B,QAAQ,GAAG,MAAMJ,YAAY,CAAC8B,UAAU,CAAC;EAC/C,MAAMb,KAAK,GAAGjC,mBAAmB,CAAC,CAAC;EACnCiC,KAAK,CAACC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAEd,QAAQ,CAACO,GAAG,CAAC,CAAC;EAChDM,KAAK,CAACC,IAAI,CAAC,CACT,OAAO,CAAC,YAAY,CAAC,EACrBzB,QAAQ,CAACC,YAAY,CAACU,QAAQ,CAACe,WAAW,CAAC,EAAE,EAAE,CAAC,CACjD,CAAC;EACFF,KAAK,CAACC,IAAI,CAAC,CACT,QAAQ,CAAC,YAAY,CAAC,EACtBd,QAAQ,CAACgB,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CACpE,CAAC;EACFH,KAAK,CAACC,IAAI,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,EAAEzB,QAAQ,CAACW,QAAQ,CAACiB,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;EAC7EJ,KAAK,CAACC,IAAI,CAAC,CACT,UAAU,CAAC,YAAY,CAAC,EACxB,IAAIK,IAAI,CAACnB,QAAQ,CAACoB,cAAc,CAAC,CAACC,cAAc,CAAC,CAAC,CACnD,CAAC;EACFR,KAAK,CAACC,IAAI,CAAC,CACT,UAAU,CAAC,YAAY,CAAC,EACxB,MAAMtB,eAAe,CAAC,YAAY,EAAEQ,QAAQ,CAACkB,aAAa,CAAC,CAC5D,CAAC;EACFL,KAAK,CAACC,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAEd,QAAQ,CAACkB,aAAa,CAAC,CAAC;EACnElC,YAAY,CAAC6B,KAAK,CAACS,QAAQ,CAAC,CAAC,CAAC;AAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Config.js","names":["frodo","fs","os","printMessage","getDefaultNoiseFilter","cloud","log","FRODO_CONFIG_PATH_KEY","FRODO_LOG_NOISEFILTER_FILENAME","getConfigPath","process","env","homedir","getCustomNoiseFilters","filename","noiseFilter","data","readFileSync","JSON","parse","e","message","getNoiseFilters","defaults","length","writeFileSync","stringify"],"sources":["../../src/utils/Config.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport os from 'os';\nimport { printMessage } from './Console';\n\nconst { getDefaultNoiseFilter } = frodo.cloud.log;\n\nexport const FRODO_CONFIG_PATH_KEY = 'FRODO_CONFIG_PATH';\nexport const FRODO_LOG_NOISEFILTER_FILENAME = 'LoggingNoiseFilter.json';\n\nexport function getConfigPath(): string {\n return process.env[FRODO_CONFIG_PATH_KEY] || `${os.homedir()}/.frodo`;\n}\n\nfunction getCustomNoiseFilters(): Array<string> {\n const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;\n let noiseFilter = [];\n try {\n const data = fs.readFileSync(filename, 'utf8');\n noiseFilter = JSON.parse(data);\n } catch (e) {\n printMessage(`Error reading ${filename} (${e.message})`, 'error');\n }\n return noiseFilter;\n}\n\nexport function getNoiseFilters(defaults: boolean): Array<string> {\n const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;\n if (defaults) {\n printMessage(`Using default logging noise filters.`, 'info');\n return getDefaultNoiseFilter();\n }\n let noiseFilter = getCustomNoiseFilters();\n if (noiseFilter.length == 0) {\n printMessage(`No custom noise filters defined. Using defaults.`, 'info');\n noiseFilter = getDefaultNoiseFilter();\n try {\n fs.writeFileSync(filename, JSON.stringify(noiseFilter, null, 2));\n printMessage(\n `The default filters were saved in ${filename}. You can change the filters as needed.`,\n 'info'\n );\n } catch (e) {\n printMessage(\n `Error creating noise filter configuration with default values.`,\n 'error'\n );\n }\n }\n return noiseFilter;\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,OAAOC,EAAE,MAAM,IAAI;AACnB,OAAOC,EAAE,MAAM,IAAI;AACnB,SAASC,YAAY,QAAQ,WAAW;AAExC,MAAM;EAAEC;AAAsB,CAAC,GAAGJ,KAAK,CAACK,KAAK,CAACC,GAAG;AAEjD,OAAO,MAAMC,qBAAqB,GAAG,mBAAmB;AACxD,OAAO,MAAMC,8BAA8B,GAAG,yBAAyB;AAEvE,OAAO,SAASC,aAAaA,CAAA,EAAW;EACtC,OAAOC,OAAO,CAACC,GAAG,CAACJ,qBAAqB,CAAC,IAAK,GAAEL,EAAE,CAACU,OAAO,CAAC,CAAE,SAAQ;AACvE;AAEA,SAASC,qBAAqBA,CAAA,EAAkB;EAC9C,MAAMC,QAAQ,GAAI,GAAEL,aAAa,CAAC,CAAE,IAAGD,8BAA+B,EAAC;EACvE,IAAIO,WAAW,GAAG,EAAE;EACpB,IAAI;IACF,MAAMC,IAAI,GAAGf,EAAE,CAACgB,YAAY,CAACH,QAAQ,EAAE,MAAM,CAAC;IAC9CC,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;EAChC,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVjB,YAAY,CAAE,iBAAgBW,QAAS,KAAIM,CAAC,CAACC,OAAQ,GAAE,EAAE,OAAO,CAAC;EACnE;EACA,OAAON,WAAW;AACpB;AAEA,OAAO,SAASO,eAAeA,CAACC,QAAiB,EAAiB;EAChE,MAAMT,QAAQ,GAAI,GAAEL,aAAa,CAAC,CAAE,IAAGD,8BAA+B,EAAC;EACvE,IAAIe,QAAQ,EAAE;IACZpB,YAAY,CAAE,sCAAqC,EAAE,MAAM,CAAC;IAC5D,OAAOC,qBAAqB,CAAC,CAAC;EAChC;EACA,IAAIW,WAAW,GAAGF,qBAAqB,CAAC,CAAC;EACzC,IAAIE,WAAW,CAACS,MAAM,IAAI,CAAC,EAAE;IAC3BrB,YAAY,CAAE,kDAAiD,EAAE,MAAM,CAAC;IACxEY,WAAW,GAAGX,qBAAqB,CAAC,CAAC;IACrC,IAAI;MACFH,EAAE,CAACwB,aAAa,CAACX,QAAQ,EAAEI,IAAI,CAACQ,SAAS,CAACX,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;MAChEZ,YAAY,CACT,qCAAoCW,QAAS,yCAAwC,EACtF,MACF,CAAC;IACH,CAAC,CAAC,OAAOM,CAAC,EAAE;MACVjB,YAAY,CACT,gEAA+D,EAChE,OACF,CAAC;IACH;EACF;EACA,OAAOY,WAAW;AACpB"}
1
+ {"version":3,"file":"Config.js","names":["frodo","fs","os","printMessage","getDefaultNoiseFilter","cloud","log","FRODO_CONFIG_PATH_KEY","FRODO_LOG_NOISEFILTER_FILENAME","getConfigPath","process","env","homedir","getCustomNoiseFilters","filename","noiseFilter","data","readFileSync","JSON","parse","e","message","getNoiseFilters","defaults","length","writeFileSync","stringify"],"sources":["../../src/utils/Config.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport os from 'os';\n\nimport { printMessage } from './Console';\n\nconst { getDefaultNoiseFilter } = frodo.cloud.log;\n\nexport const FRODO_CONFIG_PATH_KEY = 'FRODO_CONFIG_PATH';\nexport const FRODO_LOG_NOISEFILTER_FILENAME = 'LoggingNoiseFilter.json';\n\nexport function getConfigPath(): string {\n return process.env[FRODO_CONFIG_PATH_KEY] || `${os.homedir()}/.frodo`;\n}\n\nfunction getCustomNoiseFilters(): Array<string> {\n const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;\n let noiseFilter = [];\n try {\n const data = fs.readFileSync(filename, 'utf8');\n noiseFilter = JSON.parse(data);\n } catch (e) {\n printMessage(`Error reading ${filename} (${e.message})`, 'error');\n }\n return noiseFilter;\n}\n\nexport function getNoiseFilters(defaults: boolean): Array<string> {\n const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;\n if (defaults) {\n printMessage(`Using default logging noise filters.`, 'info');\n return getDefaultNoiseFilter();\n }\n let noiseFilter = getCustomNoiseFilters();\n if (noiseFilter.length == 0) {\n printMessage(`No custom noise filters defined. Using defaults.`, 'info');\n noiseFilter = getDefaultNoiseFilter();\n try {\n fs.writeFileSync(filename, JSON.stringify(noiseFilter, null, 2));\n printMessage(\n `The default filters were saved in ${filename}. You can change the filters as needed.`,\n 'info'\n );\n } catch (e) {\n printMessage(\n `Error creating noise filter configuration with default values.`,\n 'error'\n );\n }\n }\n return noiseFilter;\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,OAAOC,EAAE,MAAM,IAAI;AACnB,OAAOC,EAAE,MAAM,IAAI;AAEnB,SAASC,YAAY,QAAQ,WAAW;AAExC,MAAM;EAAEC;AAAsB,CAAC,GAAGJ,KAAK,CAACK,KAAK,CAACC,GAAG;AAEjD,OAAO,MAAMC,qBAAqB,GAAG,mBAAmB;AACxD,OAAO,MAAMC,8BAA8B,GAAG,yBAAyB;AAEvE,OAAO,SAASC,aAAaA,CAAA,EAAW;EACtC,OAAOC,OAAO,CAACC,GAAG,CAACJ,qBAAqB,CAAC,IAAK,GAAEL,EAAE,CAACU,OAAO,CAAC,CAAE,SAAQ;AACvE;AAEA,SAASC,qBAAqBA,CAAA,EAAkB;EAC9C,MAAMC,QAAQ,GAAI,GAAEL,aAAa,CAAC,CAAE,IAAGD,8BAA+B,EAAC;EACvE,IAAIO,WAAW,GAAG,EAAE;EACpB,IAAI;IACF,MAAMC,IAAI,GAAGf,EAAE,CAACgB,YAAY,CAACH,QAAQ,EAAE,MAAM,CAAC;IAC9CC,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;EAChC,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVjB,YAAY,CAAE,iBAAgBW,QAAS,KAAIM,CAAC,CAACC,OAAQ,GAAE,EAAE,OAAO,CAAC;EACnE;EACA,OAAON,WAAW;AACpB;AAEA,OAAO,SAASO,eAAeA,CAACC,QAAiB,EAAiB;EAChE,MAAMT,QAAQ,GAAI,GAAEL,aAAa,CAAC,CAAE,IAAGD,8BAA+B,EAAC;EACvE,IAAIe,QAAQ,EAAE;IACZpB,YAAY,CAAE,sCAAqC,EAAE,MAAM,CAAC;IAC5D,OAAOC,qBAAqB,CAAC,CAAC;EAChC;EACA,IAAIW,WAAW,GAAGF,qBAAqB,CAAC,CAAC;EACzC,IAAIE,WAAW,CAACS,MAAM,IAAI,CAAC,EAAE;IAC3BrB,YAAY,CAAE,kDAAiD,EAAE,MAAM,CAAC;IACxEY,WAAW,GAAGX,qBAAqB,CAAC,CAAC;IACrC,IAAI;MACFH,EAAE,CAACwB,aAAa,CAACX,QAAQ,EAAEI,IAAI,CAACQ,SAAS,CAACX,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;MAChEZ,YAAY,CACT,qCAAoCW,QAAS,yCAAwC,EACtF,MACF,CAAC;IACH,CAAC,CAAC,OAAOM,CAAC,EAAE;MACVjB,YAAY,CACT,gEAA+D,EAChE,OACF,CAAC;IACH;EACF;EACA,OAAOY,WAAW;AACpB"}
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable no-console */
2
2
  import { frodo, state } from '@rockcarver/frodo-lib';
3
3
  import { MultiBar, Presets } from 'cli-progress';
4
- import { createSpinner } from 'nanospinner';
5
4
  import Table from 'cli-table3';
6
5
  import Color from 'colors';
6
+ import { createSpinner } from 'nanospinner';
7
7
  Color.enable();
8
8
  const {
9
9
  appendTextToFile
@@ -28,7 +28,8 @@ function data(message, newline = true) {
28
28
  appendTextToFile(message, state.getOutputFile());
29
29
  } else if (typeof message === 'object') {
30
30
  console.dir(message, {
31
- depth: 10
31
+ depth: 10,
32
+ maxArrayLength: null
32
33
  });
33
34
  } else if (newline) {
34
35
  console.log(message);
@@ -1 +1 @@
1
- {"version":3,"file":"Console.js","names":["frodo","state","MultiBar","Presets","createSpinner","Table","Color","enable","appendTextToFile","utils","multiBarContainer","progressBar","spinner","data","message","newline","getOutputFile","JSON","stringify","console","dir","depth","log","process","stdout","write","text","error","stderr","info","warn","debug","curlirize","verboseMessage","getVerbose","debugMessage","getDebug","curlirizeMessage","getCurlirize","printMessage","type","createProgressBar","total","options","format","noTTYOutput","opt","legacy","create","updateProgressBar","increment","stopProgressBar","update","stop","showSpinner","start","stopSpinner","succeedSpinner","success","warnSpinner","failSpinner","spinSpinner","spin","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","status","createTable","head","table","chars","top","bottom","left","mid","right","style","createKeyValueTable","wordWrap","getObjectDepth","object","Object","Math","max","values","map","hasValues","has","keys","key","addRows","level","keyMap","space","push","brightCyan","hAlign","content","gray","indention","Array","fill","join","concat","createObjectTable"],"sources":["../../src/utils/Console.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { MultiBar, Presets } from 'cli-progress';\nimport { createSpinner } from 'nanospinner';\nimport Table from 'cli-table3';\nimport Color from 'colors';\n\nColor.enable();\n\nconst { appendTextToFile } = frodo.utils;\n\nlet multiBarContainer = null;\nlet progressBar = null;\nlet spinner = null;\n\n/**\n * Output a message in default color to stdout or append to `state.getOutputFile()`\n * @param {string | object} message the message\n */\nfunction data(message: string | object, newline = true) {\n if (!message) return;\n if (state.getOutputFile()) {\n if (typeof message === 'object') {\n message = JSON.stringify(message, null, 2);\n }\n if (newline) {\n message += '\\n';\n }\n appendTextToFile(message, state.getOutputFile());\n } else if (typeof message === 'object') {\n console.dir(message, { depth: 10 });\n } else if (newline) {\n console.log(message);\n } else {\n process.stdout.write(message);\n }\n}\n\n/**\n * Output a default color message to stderr\n * @param {Object} message the message\n */\nfunction text(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message);\n } else {\n process.stderr.write(message);\n }\n}\n\n/**\n * Output a message in bright cyan to stderr\n * @param {Object} message the message\n */\nfunction info(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['brightCyan']);\n } else {\n process.stderr.write(message['brightCyan']);\n }\n}\n\n/**\n * Output a message in yellow to stderr\n * @param {Object} message the message\n */\nfunction warn(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['yellow']);\n } else {\n process.stderr.write(message['yellow']);\n }\n}\n\n/**\n * Output a message in bright red to stderr\n * @param {Object} message the message\n */\nfunction error(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['brightRed']);\n } else {\n process.stderr.write(message['brightRed']);\n }\n}\n\n/**\n * Output a debug message\n * @param {string | object} message the message\n */\nfunction debug(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 6 });\n } else if (newline) {\n console.error(message['brightMagenta']);\n } else {\n process.stderr.write(message['brightMagenta']);\n }\n}\n\n/**\n * Output a curlirize message\n * @param {string} message the message\n */\nfunction curlirize(message: string) {\n if (!message) return;\n console.error(message['brightBlue']);\n}\n\n/**\n * Output a message in default color to stderr\n * @param {Object} message the message\n */\nexport function verboseMessage(message) {\n if (!message) return;\n if (state.getVerbose()) {\n text(message);\n }\n}\n\n/**\n * Output a debug message\n * @param {Object} message the message\n */\nexport function debugMessage(message) {\n if (!message) return;\n if (state.getDebug()) {\n debug(message);\n }\n}\n\n/**\n * Output a curlirize message\n * @param {Object} message the message\n */\nexport function curlirizeMessage(message) {\n if (!message) return;\n if (state.getCurlirize()) {\n curlirize(message);\n }\n}\n\n/**\n * Prints a string message to console\n *\n * @param {string} message The string message to print\n * @param {string} [type=text] \"text\", \"info\", \"warn\", \"error\" or \"data\". All but\n * type=\"data\" will be written to stderr.\n * @param {boolean} [newline=true] Whether to add a newline at the end of message\n *\n */\nexport function printMessage(message, type = 'text', newline = true) {\n switch (type) {\n case 'data':\n data(message, newline);\n break;\n case 'text':\n text(message, newline);\n break;\n case 'info':\n info(message, newline);\n break;\n case 'warn':\n warn(message, newline);\n break;\n case 'error':\n error(message, newline);\n break;\n default:\n text(message, newline);\n }\n}\n\n/**\n * Creates a progress bar on stderr\n *\n * Example:\n * [========================================] 100% | 49/49 | Analyzing journey - transactional_auth\n *\n * @param {Number} total The total number of entries to track progress for\n * @param {String} message optional progress bar message\n * @param {Object} options progress bar configuration options\n *\n */\nexport function createProgressBar(\n total,\n message = null,\n options = {\n format: '[{bar}] {percentage}% | {value}/{total} | {data}',\n noTTYOutput: true,\n }\n) {\n let opt = options;\n if (message == null) {\n opt = {\n format: '[{bar}] {percentage}% | {value}/{total}',\n noTTYOutput: true,\n };\n }\n // progressBar = new SingleBar(opt, Presets.legacy); // create only when needed\n // progressBar.start(total, 0, {\n // data: message,\n // });\n multiBarContainer = new MultiBar(opt, Presets.legacy);\n progressBar = multiBarContainer.create(total, 0, {\n data: message,\n });\n}\n\n/**\n * Updates the progress bar by 1\n * @param {string} message optional message to update the progress bar\n *\n */\nexport function updateProgressBar(message = null) {\n if (message)\n progressBar.increment({\n data: message,\n });\n else progressBar.increment();\n}\n\n/**\n * Stop and hide the progress bar\n * @param {*} message optional message to update the progress bar\n */\nexport function stopProgressBar(message = null) {\n if (message)\n progressBar.update({\n data: message,\n });\n // progressBar.stop();\n multiBarContainer.stop();\n multiBarContainer = null;\n}\n\n/**\n * Create the spinner\n * @param {String} message optional spinner message\n */\nexport function showSpinner(message) {\n spinner = createSpinner(message).start();\n}\n\n/**\n * Stop the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function stopSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.stop(options);\n }\n}\n\n/**\n * Succeed the spinner. Stop and render success checkmark with optional message.\n * @param {String} message optional message to update the spinner\n */\nexport function succeedSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.success(options);\n }\n}\n\n/**\n * Warn the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function warnSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.warn(options);\n }\n}\n\n/**\n * Fail the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function failSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.error(options);\n }\n}\n\n/**\n * Spin the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function spinSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.update(options);\n spinner.spin();\n }\n}\n\nexport function createProgressIndicator(\n type = 'determinate',\n total = 0,\n message = null\n) {\n if (type === 'determinate') {\n createProgressBar(total, message);\n } else {\n showSpinner(message);\n }\n}\n\nexport function updateProgressIndicator(message) {\n if (!progressBar) {\n spinSpinner(message);\n } else {\n updateProgressBar(message);\n }\n}\n\nexport function stopProgressIndicator(message, status = 'none') {\n if (!progressBar) {\n switch (status) {\n case 'none':\n stopSpinner(message);\n break;\n case 'success':\n succeedSpinner(message);\n break;\n case 'warn':\n warnSpinner(message);\n break;\n case 'fail':\n failSpinner(message);\n break;\n default:\n stopSpinner(message);\n break;\n }\n } else {\n stopProgressBar(message);\n }\n}\n\n/**\n * Create an empty table\n * @param {string[]} head header row as an array of strings\n * @returns {any} an empty table\n */\nexport function createTable(head) {\n const table = new Table({\n head,\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n return table;\n}\n\n/**\n * Create a new key/value table\n * @returns {any} an empty key/value table\n */\nexport function createKeyValueTable() {\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n wordWrap: true,\n });\n return table;\n}\n\n/**\n * Helper function to determine the total depth of an object\n * @param {Object} object input object\n * @returns {Number} total depth of the input object\n */\nfunction getObjectDepth(object) {\n return Object(object) === object\n ? 1 + Math.max(-1, ...Object.values(object).map(getObjectDepth))\n : 0;\n}\n\n/**\n * Helper function to determine if an object has values\n * @param {Object} object input object\n * @returns {boolean} true of the object or any of its sub-objects contain values, false otherwise\n */\nfunction hasValues(object) {\n let has = false;\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n return true;\n }\n has = has || hasValues(object[key]);\n }\n return has;\n}\n\n/**\n * Helper function (recursive) to add rows to an object table\n * @param {object} object object to render\n * @param {number} depth total depth of initial object\n * @param {number} level current level\n * @param {any} table the object table to add the rows to\n * @param {Object} keyMap optional JSON map to map raw config names to human readable names {'raw': 'readable'}\n * @returns the updated object table\n */\nfunction addRows(object, depth, level, table, keyMap) {\n const space = ' ';\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n if (level === 1) {\n table.push([\n keyMap[key] ? keyMap[key].brightCyan : key['brightCyan'],\n object[key],\n ]);\n } else {\n table.push([\n {\n hAlign: 'right',\n content: keyMap[key] ? keyMap[key].gray : key.gray,\n },\n object[key],\n ]);\n }\n }\n }\n for (const key of keys) {\n if (Object(object[key]) === object[key]) {\n // only print header if there are any values below\n if (hasValues(object[key])) {\n let indention = new Array(level).fill(space).join('');\n if (level < 3) indention = `\\n${indention}`;\n table.push([\n indention.concat(\n keyMap[key] ? keyMap[key].brightCyan : key['brightCyan']\n ),\n '',\n ]);\n }\n // eslint-disable-next-line no-param-reassign\n table = addRows(object[key], depth, level + 1, table, keyMap);\n }\n }\n return table;\n}\n\n/**\n * Create and populate an object table from any JSON object. Use for describe commands.\n * @param {Object} object JSON object to create\n * @param {Object} keyMap optional JSON map to map raw config names to human readable names {'raw': 'readable'}\n * @returns {any} a table that can be printed to the console\n */\nexport function createObjectTable(object, keyMap = {}) {\n // eslint-disable-next-line no-param-reassign\n const depth = getObjectDepth(object);\n // eslint-disable-next-line no-param-reassign\n const level = 0;\n // eslint-disable-next-line no-param-reassign\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n addRows(object, depth, level + 1, table, keyMap);\n return table;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Console.js","names":["frodo","state","MultiBar","Presets","Table","Color","createSpinner","enable","appendTextToFile","utils","multiBarContainer","progressBar","spinner","data","message","newline","getOutputFile","JSON","stringify","console","dir","depth","maxArrayLength","log","process","stdout","write","text","error","stderr","info","warn","debug","curlirize","verboseMessage","getVerbose","debugMessage","getDebug","curlirizeMessage","getCurlirize","printMessage","type","createProgressBar","total","options","format","noTTYOutput","opt","legacy","create","updateProgressBar","increment","stopProgressBar","update","stop","showSpinner","start","stopSpinner","succeedSpinner","success","warnSpinner","failSpinner","spinSpinner","spin","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","status","createTable","head","table","chars","top","bottom","left","mid","right","style","createKeyValueTable","wordWrap","getObjectDepth","object","Object","Math","max","values","map","hasValues","has","keys","key","addRows","level","keyMap","space","push","brightCyan","hAlign","content","gray","indention","Array","fill","join","concat","createObjectTable"],"sources":["../../src/utils/Console.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { MultiBar, Presets } from 'cli-progress';\nimport Table from 'cli-table3';\nimport Color from 'colors';\nimport { createSpinner } from 'nanospinner';\n\nColor.enable();\n\nconst { appendTextToFile } = frodo.utils;\n\nlet multiBarContainer = null;\nlet progressBar = null;\nlet spinner = null;\n\n/**\n * Output a message in default color to stdout or append to `state.getOutputFile()`\n * @param {string | object} message the message\n */\nfunction data(message: string | object, newline = true) {\n if (!message) return;\n if (state.getOutputFile()) {\n if (typeof message === 'object') {\n message = JSON.stringify(message, null, 2);\n }\n if (newline) {\n message += '\\n';\n }\n appendTextToFile(message, state.getOutputFile());\n } else if (typeof message === 'object') {\n console.dir(message, { depth: 10, maxArrayLength: null });\n } else if (newline) {\n console.log(message);\n } else {\n process.stdout.write(message);\n }\n}\n\n/**\n * Output a default color message to stderr\n * @param {Object} message the message\n */\nfunction text(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message);\n } else {\n process.stderr.write(message);\n }\n}\n\n/**\n * Output a message in bright cyan to stderr\n * @param {Object} message the message\n */\nfunction info(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['brightCyan']);\n } else {\n process.stderr.write(message['brightCyan']);\n }\n}\n\n/**\n * Output a message in yellow to stderr\n * @param {Object} message the message\n */\nfunction warn(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['yellow']);\n } else {\n process.stderr.write(message['yellow']);\n }\n}\n\n/**\n * Output a message in bright red to stderr\n * @param {Object} message the message\n */\nfunction error(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['brightRed']);\n } else {\n process.stderr.write(message['brightRed']);\n }\n}\n\n/**\n * Output a debug message\n * @param {string | object} message the message\n */\nfunction debug(message: string | object, newline = true) {\n if (!message) return;\n if (typeof message === 'object') {\n console.dir(message, { depth: 6 });\n } else if (newline) {\n console.error(message['brightMagenta']);\n } else {\n process.stderr.write(message['brightMagenta']);\n }\n}\n\n/**\n * Output a curlirize message\n * @param {string} message the message\n */\nfunction curlirize(message: string) {\n if (!message) return;\n console.error(message['brightBlue']);\n}\n\n/**\n * Output a message in default color to stderr\n * @param {Object} message the message\n */\nexport function verboseMessage(message) {\n if (!message) return;\n if (state.getVerbose()) {\n text(message);\n }\n}\n\n/**\n * Output a debug message\n * @param {Object} message the message\n */\nexport function debugMessage(message) {\n if (!message) return;\n if (state.getDebug()) {\n debug(message);\n }\n}\n\n/**\n * Output a curlirize message\n * @param {Object} message the message\n */\nexport function curlirizeMessage(message) {\n if (!message) return;\n if (state.getCurlirize()) {\n curlirize(message);\n }\n}\n\n/**\n * Prints a string message to console\n *\n * @param {string} message The string message to print\n * @param {string} [type=text] \"text\", \"info\", \"warn\", \"error\" or \"data\". All but\n * type=\"data\" will be written to stderr.\n * @param {boolean} [newline=true] Whether to add a newline at the end of message\n *\n */\nexport function printMessage(message, type = 'text', newline = true) {\n switch (type) {\n case 'data':\n data(message, newline);\n break;\n case 'text':\n text(message, newline);\n break;\n case 'info':\n info(message, newline);\n break;\n case 'warn':\n warn(message, newline);\n break;\n case 'error':\n error(message, newline);\n break;\n default:\n text(message, newline);\n }\n}\n\n/**\n * Creates a progress bar on stderr\n *\n * Example:\n * [========================================] 100% | 49/49 | Analyzing journey - transactional_auth\n *\n * @param {Number} total The total number of entries to track progress for\n * @param {String} message optional progress bar message\n * @param {Object} options progress bar configuration options\n *\n */\nexport function createProgressBar(\n total,\n message = null,\n options = {\n format: '[{bar}] {percentage}% | {value}/{total} | {data}',\n noTTYOutput: true,\n }\n) {\n let opt = options;\n if (message == null) {\n opt = {\n format: '[{bar}] {percentage}% | {value}/{total}',\n noTTYOutput: true,\n };\n }\n // progressBar = new SingleBar(opt, Presets.legacy); // create only when needed\n // progressBar.start(total, 0, {\n // data: message,\n // });\n multiBarContainer = new MultiBar(opt, Presets.legacy);\n progressBar = multiBarContainer.create(total, 0, {\n data: message,\n });\n}\n\n/**\n * Updates the progress bar by 1\n * @param {string} message optional message to update the progress bar\n *\n */\nexport function updateProgressBar(message = null) {\n if (message)\n progressBar.increment({\n data: message,\n });\n else progressBar.increment();\n}\n\n/**\n * Stop and hide the progress bar\n * @param {*} message optional message to update the progress bar\n */\nexport function stopProgressBar(message = null) {\n if (message)\n progressBar.update({\n data: message,\n });\n // progressBar.stop();\n multiBarContainer.stop();\n multiBarContainer = null;\n}\n\n/**\n * Create the spinner\n * @param {String} message optional spinner message\n */\nexport function showSpinner(message) {\n spinner = createSpinner(message).start();\n}\n\n/**\n * Stop the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function stopSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.stop(options);\n }\n}\n\n/**\n * Succeed the spinner. Stop and render success checkmark with optional message.\n * @param {String} message optional message to update the spinner\n */\nexport function succeedSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.success(options);\n }\n}\n\n/**\n * Warn the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function warnSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.warn(options);\n }\n}\n\n/**\n * Fail the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function failSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.error(options);\n }\n}\n\n/**\n * Spin the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function spinSpinner(message = null) {\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.update(options);\n spinner.spin();\n }\n}\n\nexport function createProgressIndicator(\n type = 'determinate',\n total = 0,\n message = null\n) {\n if (type === 'determinate') {\n createProgressBar(total, message);\n } else {\n showSpinner(message);\n }\n}\n\nexport function updateProgressIndicator(message) {\n if (!progressBar) {\n spinSpinner(message);\n } else {\n updateProgressBar(message);\n }\n}\n\nexport function stopProgressIndicator(message, status = 'none') {\n if (!progressBar) {\n switch (status) {\n case 'none':\n stopSpinner(message);\n break;\n case 'success':\n succeedSpinner(message);\n break;\n case 'warn':\n warnSpinner(message);\n break;\n case 'fail':\n failSpinner(message);\n break;\n default:\n stopSpinner(message);\n break;\n }\n } else {\n stopProgressBar(message);\n }\n}\n\n/**\n * Create an empty table\n * @param {string[]} head header row as an array of strings\n * @returns {any} an empty table\n */\nexport function createTable(head) {\n const table = new Table({\n head,\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n return table;\n}\n\n/**\n * Create a new key/value table\n * @returns {any} an empty key/value table\n */\nexport function createKeyValueTable() {\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n wordWrap: true,\n });\n return table;\n}\n\n/**\n * Helper function to determine the total depth of an object\n * @param {Object} object input object\n * @returns {Number} total depth of the input object\n */\nfunction getObjectDepth(object) {\n return Object(object) === object\n ? 1 + Math.max(-1, ...Object.values(object).map(getObjectDepth))\n : 0;\n}\n\n/**\n * Helper function to determine if an object has values\n * @param {Object} object input object\n * @returns {boolean} true of the object or any of its sub-objects contain values, false otherwise\n */\nfunction hasValues(object) {\n let has = false;\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n return true;\n }\n has = has || hasValues(object[key]);\n }\n return has;\n}\n\n/**\n * Helper function (recursive) to add rows to an object table\n * @param {object} object object to render\n * @param {number} depth total depth of initial object\n * @param {number} level current level\n * @param {any} table the object table to add the rows to\n * @param {Object} keyMap optional JSON map to map raw config names to human readable names {'raw': 'readable'}\n * @returns the updated object table\n */\nfunction addRows(object, depth, level, table, keyMap) {\n const space = ' ';\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n if (level === 1) {\n table.push([\n keyMap[key] ? keyMap[key].brightCyan : key['brightCyan'],\n object[key],\n ]);\n } else {\n table.push([\n {\n hAlign: 'right',\n content: keyMap[key] ? keyMap[key].gray : key.gray,\n },\n object[key],\n ]);\n }\n }\n }\n for (const key of keys) {\n if (Object(object[key]) === object[key]) {\n // only print header if there are any values below\n if (hasValues(object[key])) {\n let indention = new Array(level).fill(space).join('');\n if (level < 3) indention = `\\n${indention}`;\n table.push([\n indention.concat(\n keyMap[key] ? keyMap[key].brightCyan : key['brightCyan']\n ),\n '',\n ]);\n }\n // eslint-disable-next-line no-param-reassign\n table = addRows(object[key], depth, level + 1, table, keyMap);\n }\n }\n return table;\n}\n\n/**\n * Create and populate an object table from any JSON object. Use for describe commands.\n * @param {Object} object JSON object to create\n * @param {Object} keyMap optional JSON map to map raw config names to human readable names {'raw': 'readable'}\n * @returns {any} a table that can be printed to the console\n */\nexport function createObjectTable(object, keyMap = {}) {\n // eslint-disable-next-line no-param-reassign\n const depth = getObjectDepth(object);\n // eslint-disable-next-line no-param-reassign\n const level = 0;\n // eslint-disable-next-line no-param-reassign\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n addRows(object, depth, level + 1, table, keyMap);\n return table;\n}\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import fs from 'fs';
3
- import slugify from 'slugify';
4
- import { printMessage } from './Console';
5
3
  import { lstat, readdir, readFile } from 'fs/promises';
6
4
  import { join } from 'path';
5
+ import slugify from 'slugify';
6
+ import { printMessage } from './Console';
7
7
 
8
8
  /**
9
9
  * find all (nested) files in a directory
@@ -1 +1 @@
1
- {"version":3,"file":"ExportImportUtils.js","names":["frodo","state","fs","slugify","printMessage","lstat","readdir","readFile","join","readFiles","baseDirectory","childDirectory","targetDirectory","directoryItems","childPaths","map","item","filePathsNested","Promise","all","childPath","path","isDirectory","content","flat","getMetadata","utils","getTypedFilename","name","type","suffix","slug","replace","saveJsonToFile","data","filename","exportData","meta","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","getRealmString","realm","getRealm","reduce","result"],"sources":["../../src/utils/ExportImportUtils.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport slugify from 'slugify';\nimport { printMessage } from './Console';\nimport { lstat, readdir, readFile } from 'fs/promises';\nimport { join } from 'path';\n\n/**\n * find all (nested) files in a directory\n *\n * @param baseDirectory directory to search\n * @param childDirectory subdirectory to search\n * @returns list of files\n */\nexport async function readFiles(\n baseDirectory: string,\n childDirectory = ''\n): Promise<\n {\n path: string;\n content: string;\n }[]\n> {\n const targetDirectory = join(baseDirectory, childDirectory);\n const directoryItems = await readdir(targetDirectory);\n const childPaths = directoryItems.map((item) => join(childDirectory, item));\n\n const filePathsNested = await Promise.all(\n childPaths.map(async (childPath) => {\n const path = join(baseDirectory, childPath);\n const isDirectory = (await lstat(path)).isDirectory();\n\n if (isDirectory) {\n return readFiles(baseDirectory, childPath);\n }\n\n return {\n path: childPath,\n content: await readFile(path, 'utf8'),\n };\n })\n );\n\n return filePathsNested.flat();\n}\n\nconst { getMetadata } = frodo.utils;\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 = 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'] = 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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"}
1
+ {"version":3,"file":"ExportImportUtils.js","names":["frodo","state","fs","lstat","readdir","readFile","join","slugify","printMessage","readFiles","baseDirectory","childDirectory","targetDirectory","directoryItems","childPaths","map","item","filePathsNested","Promise","all","childPath","path","isDirectory","content","flat","getMetadata","utils","getTypedFilename","name","type","suffix","slug","replace","saveJsonToFile","data","filename","exportData","meta","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","getRealmString","realm","getRealm","reduce","result"],"sources":["../../src/utils/ExportImportUtils.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport { lstat, readdir, readFile } from 'fs/promises';\nimport { join } from 'path';\nimport slugify from 'slugify';\n\nimport { printMessage } from './Console';\n\n/**\n * find all (nested) files in a directory\n *\n * @param baseDirectory directory to search\n * @param childDirectory subdirectory to search\n * @returns list of files\n */\nexport async function readFiles(\n baseDirectory: string,\n childDirectory = ''\n): Promise<\n {\n path: string;\n content: string;\n }[]\n> {\n const targetDirectory = join(baseDirectory, childDirectory);\n const directoryItems = await readdir(targetDirectory);\n const childPaths = directoryItems.map((item) => join(childDirectory, item));\n\n const filePathsNested = await Promise.all(\n childPaths.map(async (childPath) => {\n const path = join(baseDirectory, childPath);\n const isDirectory = (await lstat(path)).isDirectory();\n\n if (isDirectory) {\n return readFiles(baseDirectory, childPath);\n }\n\n return {\n path: childPath,\n content: await readFile(path, 'utf8'),\n };\n })\n );\n\n return filePathsNested.flat();\n}\n\nconst { getMetadata } = frodo.utils;\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 = 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'] = 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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"}
@@ -1,10 +1,10 @@
1
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import Color from 'colors';
3
+ import { compareVersions } from 'compare-versions';
2
4
  import fs from 'fs';
3
- import path from 'path';
4
5
  import os from 'os';
6
+ import path from 'path';
5
7
  import { fileURLToPath } from 'url';
6
- import { compareVersions } from 'compare-versions';
7
- import Color from 'colors';
8
8
  const {
9
9
  getVersion,
10
10
  getAllVersions
@@ -1 +1 @@
1
- {"version":3,"file":"Version.js","names":["frodo","fs","path","os","fileURLToPath","compareVersions","Color","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 fs from 'fs';\nimport path from 'path';\nimport os from 'os';\nimport { fileURLToPath } from 'url';\nimport { compareVersions } from 'compare-versions';\nimport Color from 'colors';\n\nconst { getVersion, getAllVersions } = frodo.utils.version;\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 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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"}
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 = 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 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockcarver/frodo-cli",
3
- "version": "2.0.0-13",
3
+ "version": "2.0.0-14",
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": [
@@ -104,7 +104,7 @@
104
104
  ]
105
105
  },
106
106
  "dependencies": {
107
- "@rockcarver/frodo-lib": "2.0.0-19",
107
+ "@rockcarver/frodo-lib": "2.0.0-21",
108
108
  "chokidar": "^3.5.3",
109
109
  "cli-progress": "^3.11.2",
110
110
  "cli-table3": "^0.6.3",
@@ -141,12 +141,14 @@
141
141
  "eslint": "^8.28.0",
142
142
  "eslint-config-airbnb": "^19.0.4",
143
143
  "eslint-config-prettier": "^8.4.0",
144
- "eslint-plugin-import": "^2.25.4",
144
+ "eslint-plugin-deprecation": "^1.5.0",
145
+ "eslint-plugin-import": "^2.28.0",
145
146
  "eslint-plugin-jest": "^27.1.5",
146
147
  "eslint-plugin-jsx-a11y": "^6.6.1",
147
148
  "eslint-plugin-prettier": "^4.2.1",
148
149
  "eslint-plugin-react": "^7.31.11",
149
150
  "eslint-plugin-react-hooks": "^4.3.0",
151
+ "eslint-plugin-simple-import-sort": "^10.0.0",
150
152
  "jest": "^29.3.1",
151
153
  "map-stream": "^0.0.7",
152
154
  "pkg": "^5.8.0",