@rockcarver/frodo-cli 0.18.2-0 → 0.18.2-10
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.
- package/CHANGELOG.md +49 -1
- package/esm/app.js +6 -2
- package/esm/app.js.map +1 -1
- package/esm/cli/_template/something-delete.js +28 -0
- package/esm/cli/_template/something-delete.js.map +1 -0
- package/esm/cli/_template/something-describe.js +28 -0
- package/esm/cli/_template/something-describe.js.map +1 -0
- package/esm/cli/_template/something-else-delete.js +28 -0
- package/esm/cli/_template/something-else-delete.js.map +1 -0
- package/esm/cli/_template/something-else-describe.js +28 -0
- package/esm/cli/_template/something-else-describe.js.map +1 -0
- package/esm/cli/_template/something-else-export.js +28 -0
- package/esm/cli/_template/something-else-export.js.map +1 -0
- package/esm/cli/_template/something-else-import.js +28 -0
- package/esm/cli/_template/something-else-import.js.map +1 -0
- package/esm/cli/_template/something-else-list.js +28 -0
- package/esm/cli/_template/something-else-list.js.map +1 -0
- package/esm/cli/_template/something-else.js +10 -0
- package/esm/cli/_template/something-else.js.map +1 -0
- package/esm/cli/_template/something-export.js +28 -0
- package/esm/cli/_template/something-export.js.map +1 -0
- package/esm/cli/_template/something-import.js +28 -0
- package/esm/cli/_template/something-import.js.map +1 -0
- package/esm/cli/_template/something-list.js +28 -0
- package/esm/cli/_template/something-list.js.map +1 -0
- package/esm/cli/_template/something-other-delete.js +28 -0
- package/esm/cli/_template/something-other-delete.js.map +1 -0
- package/esm/cli/_template/something-other-describe.js +28 -0
- package/esm/cli/_template/something-other-describe.js.map +1 -0
- package/esm/cli/_template/something-other-export.js +28 -0
- package/esm/cli/_template/something-other-export.js.map +1 -0
- package/esm/cli/_template/something-other-import.js +28 -0
- package/esm/cli/_template/something-other-import.js.map +1 -0
- package/esm/cli/_template/{cmd-export.js → something-other-list.js} +12 -6
- package/esm/cli/_template/something-other-list.js.map +1 -0
- package/esm/cli/_template/something-other.js +10 -0
- package/esm/cli/_template/something-other.js.map +1 -0
- package/esm/cli/_template/something.js +17 -0
- package/esm/cli/_template/something.js.map +1 -0
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +8 -3
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +10 -11
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-get-access-token.js +8 -3
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +8 -3
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +8 -3
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +8 -3
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +8 -3
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-static-user-mappings.js +8 -3
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +8 -3
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +8 -3
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +8 -3
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +8 -3
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin.js +0 -2
- package/esm/cli/admin/admin.js.map +1 -1
- package/esm/cli/agent/agent-delete.js +59 -0
- package/esm/cli/agent/agent-delete.js.map +1 -0
- package/esm/cli/{_template/cmd-describe.js → agent/agent-describe.js} +11 -5
- package/esm/cli/agent/agent-describe.js.map +1 -0
- package/esm/cli/agent/agent-export.js +49 -0
- package/esm/cli/agent/agent-export.js.map +1 -0
- package/esm/cli/agent/agent-gateway-delete.js +59 -0
- package/esm/cli/agent/agent-gateway-delete.js.map +1 -0
- package/esm/cli/agent/agent-gateway-describe.js +28 -0
- package/esm/cli/agent/agent-gateway-describe.js.map +1 -0
- package/esm/cli/agent/agent-gateway-export.js +49 -0
- package/esm/cli/agent/agent-gateway-export.js.map +1 -0
- package/esm/cli/agent/agent-gateway-import.js +54 -0
- package/esm/cli/agent/agent-gateway-import.js.map +1 -0
- package/esm/cli/agent/agent-gateway-list.js +29 -0
- package/esm/cli/agent/agent-gateway-list.js.map +1 -0
- package/esm/cli/agent/agent-gateway.js +10 -0
- package/esm/cli/agent/agent-gateway.js.map +1 -0
- package/esm/cli/agent/agent-import.js +54 -0
- package/esm/cli/agent/agent-import.js.map +1 -0
- package/esm/cli/agent/agent-java-delete.js +59 -0
- package/esm/cli/agent/agent-java-delete.js.map +1 -0
- package/esm/cli/agent/agent-java-describe.js +28 -0
- package/esm/cli/agent/agent-java-describe.js.map +1 -0
- package/esm/cli/agent/agent-java-export.js +49 -0
- package/esm/cli/agent/agent-java-export.js.map +1 -0
- package/esm/cli/agent/agent-java-import.js +54 -0
- package/esm/cli/agent/agent-java-import.js.map +1 -0
- package/esm/cli/agent/agent-java-list.js +29 -0
- package/esm/cli/agent/agent-java-list.js.map +1 -0
- package/esm/cli/agent/agent-java.js +10 -0
- package/esm/cli/agent/agent-java.js.map +1 -0
- package/esm/cli/{_template/cmd-sub1-export.js → agent/agent-list.js} +13 -6
- package/esm/cli/agent/agent-list.js.map +1 -0
- package/esm/cli/agent/agent-web-delete.js +59 -0
- package/esm/cli/agent/agent-web-delete.js.map +1 -0
- package/esm/cli/agent/agent-web-describe.js +28 -0
- package/esm/cli/agent/agent-web-describe.js.map +1 -0
- package/esm/cli/agent/agent-web-export.js +49 -0
- package/esm/cli/agent/agent-web-export.js.map +1 -0
- package/esm/cli/agent/agent-web-import.js +54 -0
- package/esm/cli/agent/agent-web-import.js.map +1 -0
- package/esm/cli/agent/agent-web-list.js +29 -0
- package/esm/cli/agent/agent-web-list.js.map +1 -0
- package/esm/cli/agent/agent-web.js +10 -0
- package/esm/cli/agent/agent-web.js.map +1 -0
- package/esm/cli/agent/agent.js +18 -0
- package/esm/cli/agent/agent.js.map +1 -0
- package/esm/cli/app/app-delete.js +10 -4
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js +10 -4
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js +28 -22
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +14 -7
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +10 -5
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/app/app.js +8 -5
- package/esm/cli/app/app.js.map +1 -1
- package/esm/cli/cmd_common.js +9 -6
- package/esm/cli/cmd_common.js.map +1 -1
- package/esm/cli/conn/conn-add.js +8 -5
- package/esm/cli/conn/conn-add.js.map +1 -1
- package/esm/cli/conn/conn-delete.js +9 -4
- package/esm/cli/conn/conn-delete.js.map +1 -1
- package/esm/cli/conn/conn-describe.js +8 -3
- package/esm/cli/conn/conn-describe.js.map +1 -1
- package/esm/cli/conn/conn-list.js +10 -7
- package/esm/cli/conn/conn-list.js.map +1 -1
- package/esm/cli/conn/conn.js +2 -3
- package/esm/cli/conn/conn.js.map +1 -1
- package/esm/cli/email/email-template-export.js +30 -28
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +35 -33
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +12 -9
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/email/email-template.js.map +1 -1
- package/esm/cli/email/email.js +0 -2
- package/esm/cli/email/email.js.map +1 -1
- package/esm/cli/esv/esv-apply.js +12 -11
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +10 -5
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +23 -18
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +10 -5
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-export.js +10 -4
- package/esm/cli/esv/esv-secret-export.js.map +1 -1
- package/esm/cli/esv/esv-secret-import.js +10 -4
- package/esm/cli/esv/esv-secret-import.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js +10 -5
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +10 -5
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +18 -14
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +10 -5
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +18 -14
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +23 -19
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +10 -5
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-version.js.map +1 -1
- package/esm/cli/esv/esv-secret.js +4 -1
- package/esm/cli/esv/esv-secret.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +11 -6
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +23 -18
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +10 -5
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-export.js +10 -4
- package/esm/cli/esv/esv-variable-export.js.map +1 -1
- package/esm/cli/esv/esv-variable-import.js +10 -4
- package/esm/cli/esv/esv-variable-import.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js +10 -5
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +21 -17
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/esv/esv-variable.js +4 -1
- package/esm/cli/esv/esv-variable.js.map +1 -1
- package/esm/cli/esv/esv.js +0 -2
- package/esm/cli/esv/esv.js.map +1 -1
- package/esm/cli/idm/idm-count.js +10 -5
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +29 -23
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js +51 -0
- package/esm/cli/idm/idm-import.js.map +1 -0
- package/esm/cli/idm/idm-list.js +12 -6
- package/esm/cli/idm/idm-list.js.map +1 -1
- package/esm/cli/idm/idm.js +3 -3
- package/esm/cli/idm/idm.js.map +1 -1
- package/esm/cli/idp/idp-export.js +18 -10
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +33 -26
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js +12 -6
- package/esm/cli/idp/idp-list.js.map +1 -1
- package/esm/cli/idp/idp.js +0 -2
- package/esm/cli/idp/idp.js.map +1 -1
- package/esm/cli/info/info.js +6 -8
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.e2e.test_.js.map +1 -1
- package/esm/cli/journey/journey-delete.js +23 -18
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +34 -30
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +22 -18
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +22 -18
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +35 -31
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +42 -37
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.e2e.test_.js.map +1 -1
- package/esm/cli/journey/journey-list.js +10 -5
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +10 -7
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/journey/journey.js +0 -2
- package/esm/cli/journey/journey.js.map +1 -1
- package/esm/cli/logging/logs-fetch.js +23 -10
- package/esm/cli/logging/logs-fetch.js.map +1 -1
- package/esm/cli/logging/logs-list.js +4 -6
- package/esm/cli/logging/logs-list.js.map +1 -1
- package/esm/cli/logging/logs-tail.js +4 -5
- package/esm/cli/logging/logs-tail.js.map +1 -1
- package/esm/cli/logging/logs.js +1 -2
- package/esm/cli/logging/logs.js.map +1 -1
- package/esm/cli/realm/realm-add-custom-domain.js +10 -5
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +10 -5
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +10 -5
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +10 -5
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm.js +5 -4
- package/esm/cli/realm/realm.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js +28 -22
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +33 -26
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +10 -5
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-cot.js.map +1 -1
- package/esm/cli/saml/saml-delete.js +45 -0
- package/esm/cli/saml/saml-delete.js.map +1 -0
- package/esm/cli/saml/saml-describe.js +12 -9
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +44 -27
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +48 -28
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +18 -10
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +24 -22
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/saml/saml-metadata.js.map +1 -1
- package/esm/cli/saml/saml.js +1 -2
- package/esm/cli/saml/saml.js.map +1 -1
- package/esm/cli/script/script-delete.js +10 -4
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js +10 -4
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js +32 -24
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +12 -6
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +10 -5
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/script/script.js +6 -4
- package/esm/cli/script/script.js.map +1 -1
- package/esm/cli/service/service-delete.js +28 -0
- package/esm/cli/service/service-delete.js.map +1 -0
- package/esm/cli/service/service-export.js +45 -0
- package/esm/cli/service/service-export.js.map +1 -0
- package/esm/cli/service/service-import.js +53 -0
- package/esm/cli/service/service-import.js.map +1 -0
- package/esm/cli/service/service-list.js +26 -0
- package/esm/cli/service/service-list.js.map +1 -0
- package/esm/cli/service/service.js +14 -0
- package/esm/cli/service/service.js.map +1 -0
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-delete.js +30 -28
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +35 -33
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +38 -38
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-list.js +12 -9
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/cli/theme/theme.js +0 -2
- package/esm/cli/theme/theme.js.map +1 -1
- package/esm/ops/AgentOps.js +698 -0
- package/esm/ops/AgentOps.js.map +1 -0
- package/esm/ops/CirclesOfTrustOps.js +2 -2
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +270 -6
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdpOps.js +2 -2
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +96 -152
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/NodeOps.js +6 -12
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js +456 -9
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test_.js.map +1 -0
- package/esm/ops/ScriptOps.js +3 -3
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ServiceOps.js +213 -0
- package/esm/ops/ServiceOps.js.map +1 -0
- package/esm/ops/ThemeOps.js +331 -2
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/utils/Wordwrap.js.map +1 -1
- package/esm/storage/StaticStorage.js.map +1 -1
- package/esm/utils/Config.js +0 -9
- package/esm/utils/Config.js.map +1 -1
- package/esm/utils/Console.js +58 -67
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/ExportImportUtils.js +46 -0
- package/esm/utils/ExportImportUtils.js.map +1 -0
- package/esm/utils/Version.js +6 -24
- package/esm/utils/Version.js.map +1 -1
- package/package.json +19 -17
- package/esm/cli/_template/cmd-delete.js +0 -22
- package/esm/cli/_template/cmd-delete.js.map +0 -1
- package/esm/cli/_template/cmd-describe.js.map +0 -1
- package/esm/cli/_template/cmd-export.js.map +0 -1
- package/esm/cli/_template/cmd-import.js +0 -22
- package/esm/cli/_template/cmd-import.js.map +0 -1
- package/esm/cli/_template/cmd-list.js +0 -22
- package/esm/cli/_template/cmd-list.js.map +0 -1
- package/esm/cli/_template/cmd-sub1-delete.js +0 -22
- package/esm/cli/_template/cmd-sub1-delete.js.map +0 -1
- package/esm/cli/_template/cmd-sub1-describe.js +0 -22
- package/esm/cli/_template/cmd-sub1-describe.js.map +0 -1
- package/esm/cli/_template/cmd-sub1-export.js.map +0 -1
- package/esm/cli/_template/cmd-sub1-import.js +0 -22
- package/esm/cli/_template/cmd-sub1-import.js.map +0 -1
- package/esm/cli/_template/cmd-sub1-list.js +0 -22
- package/esm/cli/_template/cmd-sub1-list.js.map +0 -1
- package/esm/cli/_template/cmd-sub1.js +0 -10
- package/esm/cli/_template/cmd-sub1.js.map +0 -1
- package/esm/cli/_template/cmd-sub2-delete.js +0 -22
- package/esm/cli/_template/cmd-sub2-delete.js.map +0 -1
- package/esm/cli/_template/cmd-sub2-describe.js +0 -22
- package/esm/cli/_template/cmd-sub2-describe.js.map +0 -1
- package/esm/cli/_template/cmd-sub2-export.js +0 -22
- package/esm/cli/_template/cmd-sub2-export.js.map +0 -1
- package/esm/cli/_template/cmd-sub2-import.js +0 -22
- package/esm/cli/_template/cmd-sub2-import.js.map +0 -1
- package/esm/cli/_template/cmd-sub2-list.js +0 -22
- package/esm/cli/_template/cmd-sub2-list.js.map +0 -1
- package/esm/cli/_template/cmd-sub2.js +0 -10
- package/esm/cli/_template/cmd-sub2.js.map +0 -1
- package/esm/cli/_template/cmd.js +0 -19
- package/esm/cli/_template/cmd.js.map +0 -1
package/esm/utils/Console.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Console.js","names":["SingleBar","Presets","createSpinner","Table","ExportImportUtils","state","Color","enable","appendTextToFile","data","message","newline","default","session","getOutputFile","JSON","stringify","console","dir","depth","log","process","stdout","write","text","error","stderr","info","warn","debug","verboseMessage","getVerbose","debugMessage","getDebug","printMessage","type","createProgressBar","total","options","format","noTTYOutput","opt","pBar","getItem","legacy","start","setItem","updateProgressBar","increment","stopProgressBar","update","stop","showSpinner","spinner","stopSpinner","succeedSpinner","success","warnSpinner","failSpinner","spinSpinner","spin","createProgressIndicator","updateProgressIndicator","progressBar","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":["utils/Console.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { SingleBar, Presets } from 'cli-progress';\nimport { createSpinner } from 'nanospinner';\nimport Table from 'cli-table3';\nimport { ExportImportUtils, state } from '@rockcarver/frodo-lib';\nimport Color from 'colors';\n\nColor.enable();\n\nconst { appendTextToFile } = ExportImportUtils;\n\n/**\n * Output a message in default color to stdout or append to `state.default.session.getOutputFile()`\n * @param {string | object} message the message\n */\nfunction data(message: string | object, newline = true) {\n if (state.default.session.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.default.session.getOutputFile());\n } else if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\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 (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 (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 (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 (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 (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 message in default color to stderr\n * @param {Object} message the message\n */\nexport function verboseMessage(message) {\n if (state.default.session.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 (state.default.session.getDebug()) {\n debug(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 let pBar = state.default.session.getItem('progressBar');\n if (!pBar) pBar = new SingleBar(opt, Presets.legacy); // create only when needed\n pBar.start(total, 0, {\n data: message,\n });\n state.default.session.setItem('progressBar', pBar);\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 const pBar = state.default.session.getItem('progressBar');\n if (message)\n pBar.increment({\n data: message,\n });\n else pBar.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 const pBar = state.default.session.getItem('progressBar');\n if (message)\n pBar.update({\n data: message,\n });\n pBar.stop();\n}\n\n/**\n * Create the spinner\n * @param {String} message optional spinner message\n */\nexport function showSpinner(message) {\n const spinner = createSpinner(message).start();\n state.default.session.setItem('Spinner', spinner);\n}\n\n/**\n * Stop the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function stopSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\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 const spinner = state.default.session.getItem('Spinner');\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 const spinner = state.default.session.getItem('Spinner');\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 const spinner = state.default.session.getItem('Spinner');\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 const spinner = state.default.session.getItem('Spinner');\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 const progressBar = state.default.session.getItem('progressBar');\n if (!progressBar) {\n spinSpinner(message);\n } else {\n updateProgressBar(message);\n }\n}\n\nexport function stopProgressIndicator(message, status = 'none') {\n const progressBar = state.default.session.getItem('progressBar');\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 * @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 * @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":["SingleBar","Presets","createSpinner","Table","ExportImportUtils","state","Color","enable","appendTextToFile","data","message","newline","default","session","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","pBar","getItem","legacy","start","setItem","updateProgressBar","increment","stopProgressBar","update","stop","showSpinner","spinner","stopSpinner","succeedSpinner","success","warnSpinner","failSpinner","spinSpinner","spin","createProgressIndicator","updateProgressIndicator","progressBar","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":["utils/Console.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { SingleBar, Presets } from 'cli-progress';\nimport { createSpinner } from 'nanospinner';\nimport Table from 'cli-table3';\nimport { ExportImportUtils, state } from '@rockcarver/frodo-lib';\nimport Color from 'colors';\n\nColor.enable();\n\nconst { appendTextToFile } = ExportImportUtils;\n\n/**\n * Output a message in default color to stdout or append to `state.default.session.getOutputFile()`\n * @param {string | object} message the message\n */\nfunction data(message: string | object, newline = true) {\n if (!message) return;\n if (state.default.session.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.default.session.getOutputFile());\n } else if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\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.default.session.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.default.session.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.default.session.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 let pBar = state.default.session.getItem('progressBar');\n if (!pBar) pBar = new SingleBar(opt, Presets.legacy); // create only when needed\n pBar.start(total, 0, {\n data: message,\n });\n state.default.session.setItem('progressBar', pBar);\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 const pBar = state.default.session.getItem('progressBar');\n if (message)\n pBar.increment({\n data: message,\n });\n else pBar.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 const pBar = state.default.session.getItem('progressBar');\n if (message)\n pBar.update({\n data: message,\n });\n pBar.stop();\n}\n\n/**\n * Create the spinner\n * @param {String} message optional spinner message\n */\nexport function showSpinner(message) {\n const spinner = createSpinner(message).start();\n state.default.session.setItem('Spinner', spinner);\n}\n\n/**\n * Stop the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function stopSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\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 const spinner = state.default.session.getItem('Spinner');\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 const spinner = state.default.session.getItem('Spinner');\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 const spinner = state.default.session.getItem('Spinner');\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 const spinner = state.default.session.getItem('Spinner');\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 const progressBar = state.default.session.getItem('progressBar');\n if (!progressBar) {\n spinSpinner(message);\n } else {\n updateProgressBar(message);\n }\n}\n\nexport function stopProgressIndicator(message, status = 'none') {\n const progressBar = state.default.session.getItem('progressBar');\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 * @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 * @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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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import slugify from 'slugify';
|
|
3
|
+
import { ExportImportUtils } from '@rockcarver/frodo-lib';
|
|
4
|
+
import { printMessage } from './Console';
|
|
5
|
+
const {
|
|
6
|
+
getMetadata
|
|
7
|
+
} = ExportImportUtils;
|
|
8
|
+
export function getTypedFilename(name, type, suffix = 'json') {
|
|
9
|
+
const slug = slugify(name.replace(/^http(s?):\/\//, ''));
|
|
10
|
+
return `${slug}.${type}.${suffix}`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Save JSON object to file
|
|
15
|
+
* @param {Object} data data object
|
|
16
|
+
* @param {String} filename file name
|
|
17
|
+
*/
|
|
18
|
+
export function saveJsonToFile(data, filename) {
|
|
19
|
+
const exportData = data;
|
|
20
|
+
exportData.meta = getMetadata();
|
|
21
|
+
fs.writeFile(filename, JSON.stringify(exportData, null, 2), err => {
|
|
22
|
+
if (err) {
|
|
23
|
+
return printMessage(`ERROR - can't save ${filename}`, 'error');
|
|
24
|
+
}
|
|
25
|
+
return '';
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export function saveToFile(type, data, identifier, filename) {
|
|
29
|
+
const exportData = {};
|
|
30
|
+
exportData['meta'] = getMetadata();
|
|
31
|
+
exportData[type] = {};
|
|
32
|
+
if (Array.isArray(data)) {
|
|
33
|
+
data.forEach(element => {
|
|
34
|
+
exportData[type][element[identifier]] = element;
|
|
35
|
+
});
|
|
36
|
+
} else {
|
|
37
|
+
exportData[type][data[identifier]] = data;
|
|
38
|
+
}
|
|
39
|
+
fs.writeFile(filename, JSON.stringify(exportData, null, 2), err => {
|
|
40
|
+
if (err) {
|
|
41
|
+
return printMessage(`ERROR - can't save ${type} to file`, 'error');
|
|
42
|
+
}
|
|
43
|
+
return '';
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ExportImportUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportImportUtils.js","names":["fs","slugify","ExportImportUtils","printMessage","getMetadata","getTypedFilename","name","type","suffix","slug","replace","saveJsonToFile","data","filename","exportData","meta","writeFile","JSON","stringify","err","saveToFile","identifier","Array","isArray","forEach","element"],"sources":["utils/ExportImportUtils.ts"],"sourcesContent":["import fs from 'fs';\nimport slugify from 'slugify';\nimport { ExportImportUtils } from '@rockcarver/frodo-lib';\nimport { printMessage } from './Console';\n\nconst { getMetadata } = ExportImportUtils;\n\nexport function getTypedFilename(name: string, type: string, suffix = 'json') {\n const slug = slugify(name.replace(/^http(s?):\\/\\//, ''));\n return `${slug}.${type}.${suffix}`;\n}\n\n/**\n * Save JSON object to file\n * @param {Object} data data object\n * @param {String} filename file name\n */\nexport function saveJsonToFile(data, filename) {\n const exportData = data;\n exportData.meta = getMetadata();\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"],"mappings":"AAAA,OAAOA,EAAE,MAAM,IAAI;AACnB,OAAOC,OAAO,MAAM,SAAS;AAC7B,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,YAAY,QAAQ,WAAW;AAExC,MAAM;EAAEC;AAAY,CAAC,GAAGF,iBAAiB;AAEzC,OAAO,SAASG,gBAAgB,CAACC,IAAY,EAAEC,IAAY,EAAEC,MAAM,GAAG,MAAM,EAAE;EAC5E,MAAMC,IAAI,GAAGR,OAAO,CAACK,IAAI,CAACI,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;EACxD,OAAQ,GAAED,IAAK,IAAGF,IAAK,IAAGC,MAAO,EAAC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,cAAc,CAACC,IAAI,EAAEC,QAAQ,EAAE;EAC7C,MAAMC,UAAU,GAAGF,IAAI;EACvBE,UAAU,CAACC,IAAI,GAAGX,WAAW,EAAE;EAC/BJ,EAAE,CAACgB,SAAS,CAACH,QAAQ,EAAEI,IAAI,CAACC,SAAS,CAACJ,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAGK,GAAG,IAAK;IACnE,IAAIA,GAAG,EAAE;MACP,OAAOhB,YAAY,CAAE,sBAAqBU,QAAS,EAAC,EAAE,OAAO,CAAC;IAChE;IACA,OAAO,EAAE;EACX,CAAC,CAAC;AACJ;AAEA,OAAO,SAASO,UAAU,CAACb,IAAI,EAAEK,IAAI,EAAES,UAAU,EAAER,QAAQ,EAAE;EAC3D,MAAMC,UAAU,GAAG,CAAC,CAAC;EACrBA,UAAU,CAAC,MAAM,CAAC,GAAGV,WAAW,EAAE;EAClCU,UAAU,CAACP,IAAI,CAAC,GAAG,CAAC,CAAC;EAErB,IAAIe,KAAK,CAACC,OAAO,CAACX,IAAI,CAAC,EAAE;IACvBA,IAAI,CAACY,OAAO,CAAEC,OAAO,IAAK;MACxBX,UAAU,CAACP,IAAI,CAAC,CAACkB,OAAO,CAACJ,UAAU,CAAC,CAAC,GAAGI,OAAO;IACjD,CAAC,CAAC;EACJ,CAAC,MAAM;IACLX,UAAU,CAACP,IAAI,CAAC,CAACK,IAAI,CAACS,UAAU,CAAC,CAAC,GAAGT,IAAI;EAC3C;EACAZ,EAAE,CAACgB,SAAS,CAACH,QAAQ,EAAEI,IAAI,CAACC,SAAS,CAACJ,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAGK,GAAG,IAAK;IACnE,IAAIA,GAAG,EAAE;MACP,OAAOhB,YAAY,CAAE,sBAAqBI,IAAK,UAAS,EAAE,OAAO,CAAC;IACpE;IACA,OAAO,EAAE;EACX,CAAC,CAAC;AACJ"}
|
package/esm/utils/Version.js
CHANGED
|
@@ -23,59 +23,49 @@ let versionObject = {
|
|
|
23
23
|
github: '',
|
|
24
24
|
npm: ''
|
|
25
25
|
};
|
|
26
|
-
|
|
27
26
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
28
|
-
|
|
29
27
|
Color.enable();
|
|
30
28
|
const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8'));
|
|
31
|
-
|
|
32
29
|
function getCliVersion() {
|
|
33
30
|
return `${pkg.version}`;
|
|
34
31
|
}
|
|
35
|
-
|
|
36
32
|
function getLibVersion() {
|
|
37
33
|
return LibVersion.getVersion();
|
|
38
34
|
}
|
|
39
|
-
|
|
40
35
|
function extractGithubReleaseInfo(data) {
|
|
41
36
|
const release = {
|
|
42
37
|
type: 'github',
|
|
43
38
|
name: '',
|
|
44
39
|
published_at: ''
|
|
45
|
-
};
|
|
46
|
-
|
|
40
|
+
};
|
|
41
|
+
// find first stable release
|
|
47
42
|
const r = data.find(rel => rel.prerelease == false);
|
|
48
43
|
release.name = r.name;
|
|
49
44
|
release.published_at = r.published_at;
|
|
50
45
|
return release;
|
|
51
46
|
}
|
|
52
|
-
|
|
53
47
|
function extractNpmReleaseInfo(data) {
|
|
54
48
|
const release = {
|
|
55
49
|
type: 'npm',
|
|
56
50
|
name: '',
|
|
57
51
|
published_at: ''
|
|
58
|
-
};
|
|
59
|
-
|
|
52
|
+
};
|
|
53
|
+
// stable release
|
|
60
54
|
release.name = data[`dist-tags`].latest;
|
|
61
55
|
release.published_at = data.time[data[`dist-tags`].latest];
|
|
62
56
|
return release;
|
|
63
57
|
}
|
|
64
|
-
|
|
65
58
|
async function getRemoteVersionData() {
|
|
66
59
|
let useCache = true;
|
|
67
|
-
|
|
68
60
|
if (fs.existsSync(VERSION_CACHE_FILE)) {
|
|
69
61
|
const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');
|
|
70
62
|
versionObject = JSON.parse(data);
|
|
71
|
-
|
|
72
63
|
if (versionObject.last_checked + VERSION_CHECK_INTERVAL < Math.floor(Date.now() / 1000)) {
|
|
73
64
|
useCache = false;
|
|
74
65
|
}
|
|
75
66
|
} else {
|
|
76
67
|
useCache = false;
|
|
77
68
|
}
|
|
78
|
-
|
|
79
69
|
if (!useCache) {
|
|
80
70
|
const allVersions = [];
|
|
81
71
|
const result = await LibVersion.getAllVersions(ENDPOINTS);
|
|
@@ -85,8 +75,8 @@ async function getRemoteVersionData() {
|
|
|
85
75
|
} else {
|
|
86
76
|
allVersions.push(extractNpmReleaseInfo(item['value'].data));
|
|
87
77
|
}
|
|
88
|
-
});
|
|
89
|
-
|
|
78
|
+
});
|
|
79
|
+
// const allVersions = await LibVersion.getAllVersions(ENDPOINTS);
|
|
90
80
|
allVersions.forEach(element => {
|
|
91
81
|
// cli
|
|
92
82
|
if (element.type == 'github') {
|
|
@@ -99,19 +89,15 @@ async function getRemoteVersionData() {
|
|
|
99
89
|
fs.writeFileSync(VERSION_CACHE_FILE, JSON.stringify(versionObject, null, 2));
|
|
100
90
|
}
|
|
101
91
|
}
|
|
102
|
-
|
|
103
92
|
function getBinaryName() {
|
|
104
93
|
return path.basename(process.execPath);
|
|
105
94
|
}
|
|
106
|
-
|
|
107
95
|
export async function getVersions(checkOnly) {
|
|
108
96
|
let updateAvailable = false;
|
|
109
97
|
let usingBinary = false;
|
|
110
|
-
|
|
111
98
|
if (getBinaryName() == 'frodo') {
|
|
112
99
|
usingBinary = true;
|
|
113
100
|
}
|
|
114
|
-
|
|
115
101
|
try {
|
|
116
102
|
await getRemoteVersionData();
|
|
117
103
|
} catch (e) {
|
|
@@ -123,23 +109,19 @@ export async function getVersions(checkOnly) {
|
|
|
123
109
|
npm: null
|
|
124
110
|
};
|
|
125
111
|
}
|
|
126
|
-
|
|
127
112
|
let versionString = `You seem to be running the ${usingBinary ? 'binary' : 'NPM'} package`;
|
|
128
113
|
versionString += `\nInstalled versions:`;
|
|
129
114
|
versionString += `\ncli: v${getCliVersion()}\nlib: v${getLibVersion()}\nnode: ${process.version}`;
|
|
130
115
|
let newVersionString = '';
|
|
131
|
-
|
|
132
116
|
if (usingBinary && versionObject.github != null && compareVersions(getCliVersion(), versionObject.github) == -1 || !usingBinary && versionObject.npm != null && compareVersions(getCliVersion(), versionObject.npm) == -1) {
|
|
133
117
|
updateAvailable = true;
|
|
134
118
|
newVersionString += `\n\nNewer version(s) available`;
|
|
135
|
-
|
|
136
119
|
if (usingBinary) {
|
|
137
120
|
newVersionString += compareVersions(getCliVersion(), versionObject.github) == -1 ? `\ncli (github): v${versionObject.github}`.green : ``;
|
|
138
121
|
} else {
|
|
139
122
|
newVersionString += compareVersions(getCliVersion(), versionObject.npm) == -1 ? `\ncli (npm): v${versionObject.npm}`.green : ``;
|
|
140
123
|
}
|
|
141
124
|
}
|
|
142
|
-
|
|
143
125
|
if (checkOnly) {
|
|
144
126
|
if (updateAvailable) {
|
|
145
127
|
return `A new version of frodo is available.\nPlease run 'frodo -v' for more details.\n`.green;
|
package/esm/utils/Version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Version.js","names":["fs","path","os","fileURLToPath","compareVersions","Color","LibVersion","VERSION_CACHE_FILE","homedir","VERSION_CHECK_INTERVAL","GITHUB_REPOS_URL","GITHUB_RELEASES_PATH_CLI","NPM_BASE_URL","NPM_PACKAGE_PATH_CLI","ENDPOINTS","base","versionObject","last_checked","github","npm","__dirname","dirname","import","meta","url","enable","pkg","JSON","parse","readFileSync","resolve","getCliVersion","version","getLibVersion","getVersion","extractGithubReleaseInfo","data","release","type","name","published_at","r","find","rel","prerelease","extractNpmReleaseInfo","latest","time","getRemoteVersionData","useCache","existsSync","Math","floor","Date","now","allVersions","result","getAllVersions","forEach","item","Array","isArray","push","element","writeFileSync","stringify","getBinaryName","basename","process","execPath","getVersions","checkOnly","updateAvailable","usingBinary","e","versionString","newVersionString","green"],"sources":["utils/Version.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\nimport { fileURLToPath } from 'url';\nimport { compareVersions } from 'compare-versions';\n\nimport Color from 'colors';\n\nimport { LibVersion } from '@rockcarver/frodo-lib';\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 LibVersion.getVersion();\n}\n\nfunction extractGithubReleaseInfo(data) {\n const release = {\n type: 'github',\n name: '',\n published_at: '',\n };\n // find first stable release\n const r = data.find((rel) => rel.prerelease == false);\n release.name = r.name;\n release.published_at = r.published_at;\n return release;\n}\n\nfunction extractNpmReleaseInfo(data) {\n const release = {\n type: 'npm',\n name: '',\n published_at: '',\n };\n // stable release\n release.name = data[`dist-tags`].latest;\n release.published_at = data.time[data[`dist-tags`].latest];\n return release;\n}\n\nasync function getRemoteVersionData() {\n let useCache = true;\n if (fs.existsSync(VERSION_CACHE_FILE)) {\n const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');\n versionObject = JSON.parse(data);\n if (\n versionObject.last_checked + VERSION_CHECK_INTERVAL <\n Math.floor(Date.now() / 1000)\n ) {\n useCache = false;\n }\n } else {\n useCache = false;\n }\n\n if (!useCache) {\n const allVersions = [];\n const result = await LibVersion.getAllVersions(ENDPOINTS);\n result.forEach((item) => {\n if (Array.isArray(item['value'].data)) {\n allVersions.push(extractGithubReleaseInfo(item['value'].data));\n } else {\n allVersions.push(extractNpmReleaseInfo(item['value'].data));\n }\n });\n // const allVersions = await LibVersion.getAllVersions(ENDPOINTS);\n allVersions.forEach((element) => {\n // cli\n if (element.type == 'github') {\n versionObject.github = element.name;\n } else {\n versionObject.npm = element.name;\n }\n });\n versionObject.last_checked = Math.floor(Date.now() / 1000);\n fs.writeFileSync(\n VERSION_CACHE_FILE,\n JSON.stringify(versionObject, null, 2)\n );\n }\n}\n\nfunction getBinaryName() {\n return path.basename(process.execPath);\n}\n\nexport async function getVersions(checkOnly: boolean) {\n let updateAvailable = false;\n let usingBinary = false;\n if (getBinaryName() == 'frodo') {\n usingBinary = true;\n }\n try {\n await getRemoteVersionData();\n } catch (e) {\n // Do not report error if remote version can not be obtained.\n // Just silently report installed version\n versionObject = {\n last_checked: 0,\n github: null,\n npm: null,\n };\n }\n\n let versionString = `You seem to be running the ${\n usingBinary ? 'binary' : 'NPM'\n } package`;\n\n versionString += `\\nInstalled versions:`;\n versionString += `\\ncli: v${getCliVersion()}\\nlib: v${getLibVersion()}\\nnode: ${\n process.version\n }`;\n let newVersionString = '';\n if (\n (usingBinary &&\n versionObject.github != null &&\n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary &&\n versionObject.npm != null &&\n compareVersions(getCliVersion(), versionObject.npm) == -1)\n ) {\n updateAvailable = true;\n newVersionString += `\\n\\nNewer version(s) available`;\n if (usingBinary) {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.github) == -1\n ? `\\ncli (github): v${versionObject.github}`.green\n : ``;\n } else {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.npm) == -1\n ? `\\ncli (npm): v${versionObject.npm}`.green\n : ``;\n }\n }\n if (checkOnly) {\n if (updateAvailable) {\n return `A new version of frodo is available.\\nPlease run 'frodo -v' for more details.\\n`\n .green;\n } else {\n return ``;\n }\n } else {\n return versionString + newVersionString;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Version.js","names":["fs","path","os","fileURLToPath","compareVersions","Color","LibVersion","VERSION_CACHE_FILE","homedir","VERSION_CHECK_INTERVAL","GITHUB_REPOS_URL","GITHUB_RELEASES_PATH_CLI","NPM_BASE_URL","NPM_PACKAGE_PATH_CLI","ENDPOINTS","base","versionObject","last_checked","github","npm","__dirname","dirname","import","meta","url","enable","pkg","JSON","parse","readFileSync","resolve","getCliVersion","version","getLibVersion","getVersion","extractGithubReleaseInfo","data","release","type","name","published_at","r","find","rel","prerelease","extractNpmReleaseInfo","latest","time","getRemoteVersionData","useCache","existsSync","Math","floor","Date","now","allVersions","result","getAllVersions","forEach","item","Array","isArray","push","element","writeFileSync","stringify","getBinaryName","basename","process","execPath","getVersions","checkOnly","updateAvailable","usingBinary","e","versionString","newVersionString","green"],"sources":["utils/Version.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\nimport { fileURLToPath } from 'url';\nimport { compareVersions } from 'compare-versions';\n\nimport Color from 'colors';\n\nimport { LibVersion } from '@rockcarver/frodo-lib';\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 LibVersion.getVersion();\n}\n\nfunction extractGithubReleaseInfo(data) {\n const release = {\n type: 'github',\n name: '',\n published_at: '',\n };\n // find first stable release\n const r = data.find((rel) => rel.prerelease == false);\n release.name = r.name;\n release.published_at = r.published_at;\n return release;\n}\n\nfunction extractNpmReleaseInfo(data) {\n const release = {\n type: 'npm',\n name: '',\n published_at: '',\n };\n // stable release\n release.name = data[`dist-tags`].latest;\n release.published_at = data.time[data[`dist-tags`].latest];\n return release;\n}\n\nasync function getRemoteVersionData() {\n let useCache = true;\n if (fs.existsSync(VERSION_CACHE_FILE)) {\n const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');\n versionObject = JSON.parse(data);\n if (\n versionObject.last_checked + VERSION_CHECK_INTERVAL <\n Math.floor(Date.now() / 1000)\n ) {\n useCache = false;\n }\n } else {\n useCache = false;\n }\n\n if (!useCache) {\n const allVersions = [];\n const result = await LibVersion.getAllVersions(ENDPOINTS);\n result.forEach((item) => {\n if (Array.isArray(item['value'].data)) {\n allVersions.push(extractGithubReleaseInfo(item['value'].data));\n } else {\n allVersions.push(extractNpmReleaseInfo(item['value'].data));\n }\n });\n // const allVersions = await LibVersion.getAllVersions(ENDPOINTS);\n allVersions.forEach((element) => {\n // cli\n if (element.type == 'github') {\n versionObject.github = element.name;\n } else {\n versionObject.npm = element.name;\n }\n });\n versionObject.last_checked = Math.floor(Date.now() / 1000);\n fs.writeFileSync(\n VERSION_CACHE_FILE,\n JSON.stringify(versionObject, null, 2)\n );\n }\n}\n\nfunction getBinaryName() {\n return path.basename(process.execPath);\n}\n\nexport async function getVersions(checkOnly: boolean) {\n let updateAvailable = false;\n let usingBinary = false;\n if (getBinaryName() == 'frodo') {\n usingBinary = true;\n }\n try {\n await getRemoteVersionData();\n } catch (e) {\n // Do not report error if remote version can not be obtained.\n // Just silently report installed version\n versionObject = {\n last_checked: 0,\n github: null,\n npm: null,\n };\n }\n\n let versionString = `You seem to be running the ${\n usingBinary ? 'binary' : 'NPM'\n } package`;\n\n versionString += `\\nInstalled versions:`;\n versionString += `\\ncli: v${getCliVersion()}\\nlib: v${getLibVersion()}\\nnode: ${\n process.version\n }`;\n let newVersionString = '';\n if (\n (usingBinary &&\n versionObject.github != null &&\n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary &&\n versionObject.npm != null &&\n compareVersions(getCliVersion(), versionObject.npm) == -1)\n ) {\n updateAvailable = true;\n newVersionString += `\\n\\nNewer version(s) available`;\n if (usingBinary) {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.github) == -1\n ? `\\ncli (github): v${versionObject.github}`.green\n : ``;\n } else {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.npm) == -1\n ? `\\ncli (npm): v${versionObject.npm}`.green\n : ``;\n }\n }\n if (checkOnly) {\n if (updateAvailable) {\n return `A new version of frodo is available.\\nPlease run 'frodo -v' for more details.\\n`\n .green;\n } else {\n return ``;\n }\n } else {\n return versionString + newVersionString;\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rockcarver/frodo-cli",
|
|
3
|
-
"version": "0.18.2-
|
|
3
|
+
"version": "0.18.2-10",
|
|
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": [
|
|
@@ -84,53 +84,55 @@
|
|
|
84
84
|
],
|
|
85
85
|
"scripts": [
|
|
86
86
|
"src/cli/**/*.js",
|
|
87
|
+
"src/ops/**/*.js",
|
|
87
88
|
"src/storage/**/*.js",
|
|
88
89
|
"src/utils/**/*.js"
|
|
89
90
|
]
|
|
90
91
|
},
|
|
91
92
|
"dependencies": {
|
|
92
|
-
"@rockcarver/frodo-lib": "0.16.2-
|
|
93
|
+
"@rockcarver/frodo-lib": "0.16.2-11",
|
|
93
94
|
"cli-progress": "^3.11.2",
|
|
94
|
-
"cli-table3": "^0.6.
|
|
95
|
+
"cli-table3": "^0.6.3",
|
|
95
96
|
"colors": "^1.4.0",
|
|
96
|
-
"commander": "^9.4.
|
|
97
|
+
"commander": "^9.4.1",
|
|
97
98
|
"compare-versions": "^5.0.1",
|
|
98
99
|
"lodash": "^4.17.21",
|
|
99
100
|
"nanospinner": "^1.1.0",
|
|
100
|
-
"uuid": "^
|
|
101
|
+
"uuid": "^9.0.0",
|
|
102
|
+
"slugify": "^1.6.5",
|
|
101
103
|
"yesno": "^0.4.0"
|
|
102
104
|
},
|
|
103
105
|
"devDependencies": {
|
|
104
106
|
"@babel/eslint-parser": "^7.18.9",
|
|
105
|
-
"@babel/plugin-syntax-import-assertions": "^7.
|
|
106
|
-
"@babel/plugin-transform-modules-commonjs": "^7.
|
|
107
|
-
"@babel/preset-env": "^7.
|
|
107
|
+
"@babel/plugin-syntax-import-assertions": "^7.20.0",
|
|
108
|
+
"@babel/plugin-transform-modules-commonjs": "^7.19.6",
|
|
109
|
+
"@babel/preset-env": "^7.20.2",
|
|
108
110
|
"@babel/preset-typescript": "^7.18.6",
|
|
109
111
|
"@types/colors": "^1.2.1",
|
|
110
|
-
"@types/jest": "^29.2.
|
|
111
|
-
"@types/node": "^18.11.
|
|
112
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
113
|
-
"@typescript-eslint/parser": "^5.
|
|
112
|
+
"@types/jest": "^29.2.3",
|
|
113
|
+
"@types/node": "^18.11.9",
|
|
114
|
+
"@typescript-eslint/eslint-plugin": "^5.44.0",
|
|
115
|
+
"@typescript-eslint/parser": "^5.44.0",
|
|
114
116
|
"babel-plugin-transform-import-meta": "^2.1.1",
|
|
115
117
|
"del": "^6.0.0",
|
|
116
|
-
"eslint": "^8.
|
|
118
|
+
"eslint": "^8.28.0",
|
|
117
119
|
"eslint-config-airbnb": "^19.0.4",
|
|
118
120
|
"eslint-config-prettier": "^8.4.0",
|
|
119
121
|
"eslint-plugin-import": "^2.25.4",
|
|
120
|
-
"eslint-plugin-jest": "^
|
|
122
|
+
"eslint-plugin-jest": "^27.1.5",
|
|
121
123
|
"eslint-plugin-jsx-a11y": "^6.6.1",
|
|
122
124
|
"eslint-plugin-prettier": "^4.2.1",
|
|
123
|
-
"eslint-plugin-react": "^7.
|
|
125
|
+
"eslint-plugin-react": "^7.31.11",
|
|
124
126
|
"eslint-plugin-react-hooks": "^4.3.0",
|
|
125
127
|
"gulp": "^4.0.2",
|
|
126
128
|
"gulp-babel": "^8.0.0",
|
|
127
129
|
"gulp-install": "^1.1.0",
|
|
128
130
|
"gulp-rename": "^2.0.0",
|
|
129
131
|
"gulp-sourcemaps": "^3.0.0",
|
|
130
|
-
"jest": "^
|
|
132
|
+
"jest": "^29.3.1",
|
|
131
133
|
"map-stream": "^0.0.7",
|
|
132
134
|
"pkg": "^5.8.0",
|
|
133
135
|
"prettier": "^2.7.1",
|
|
134
|
-
"typescript": "^4.
|
|
136
|
+
"typescript": "^4.9.3"
|
|
135
137
|
}
|
|
136
138
|
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
|
-
import * as common from '../cmd_common.js';
|
|
4
|
-
const {
|
|
5
|
-
getTokens
|
|
6
|
-
} = Authenticate;
|
|
7
|
-
const program = new Command('frodo cmd delete');
|
|
8
|
-
program.description('Cmd delete.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --cmd-id <cmd-id>', 'Cmd id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all cmds in a realm. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).addOption(new Option('--verbose', 'Verbose output during command execution. If specified, may or may not produce additional output.').default(false, 'off')).action( // implement command logic inside action handler
|
|
9
|
-
async (host, realm, user, password, options) => {
|
|
10
|
-
state.default.session.setTenant(host);
|
|
11
|
-
state.default.session.setRealm(realm);
|
|
12
|
-
state.default.session.setUsername(user);
|
|
13
|
-
state.default.session.setPassword(password);
|
|
14
|
-
state.default.session.setDeploymentType(options.type);
|
|
15
|
-
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
16
|
-
|
|
17
|
-
if (await getTokens()) {// code goes here
|
|
18
|
-
}
|
|
19
|
-
} // end command logic inside action handler
|
|
20
|
-
);
|
|
21
|
-
program.parse();
|
|
22
|
-
//# sourceMappingURL=cmd-delete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-delete.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/_template/cmd-delete.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo cmd delete');\n\nprogram\n .description('Cmd delete.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --cmd-id <cmd-id>',\n 'Cmd id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all cmds in a realm. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .addOption(\n new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n ).default(false, 'off')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,QAAoC,uBAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AAEA,MAAMI,OAAO,GAAG,IAAIN,OAAJ,CAAY,kBAAZ,CAAhB;AAEAM,OAAO,CACJC,WADH,CACe,aADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGD,WALH,CAKeN,MAAM,CAACQ,aALtB,EAMGF,WANH,CAMeN,MAAM,CAACS,YANtB,EAOGH,WAPH,CAOeN,MAAM,CAACU,gBAPtB,EAQGC,SARH,CAQaX,MAAM,CAACY,gBARpB,EASGD,SATH,CASaX,MAAM,CAACa,cATpB,EAUGF,SAVH,CAWI,IAAId,MAAJ,CACE,uBADF,EAEE,8CAFF,CAXJ,EAgBGc,SAhBH,CAiBI,IAAId,MAAJ,CAAW,WAAX,EAAwB,8CAAxB,CAjBJ,EAmBGc,SAnBH,CAoBI,IAAId,MAAJ,CACE,WADF,EAEE,sEAFF,CApBJ,EAyBGc,SAzBH,CA0BI,IAAId,MAAJ,CACE,WADF,EAEE,kGAFF,EAGEiB,OAHF,CAGU,KAHV,EAGiB,KAHjB,CA1BJ,EA+BGC,MA/BH,EAgCI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CrB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAjB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACAlB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACAnB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACApB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA5B,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB,CACrB;EACD;AACF,CA3CL,CA4CI;AA5CJ;AA+CAC,OAAO,CAAC4B,KAAR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-describe.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/_template/cmd-describe.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo cmd describe');\n\nprogram\n .description('Cmd describe.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(new Option('-i, --cmd-id <cmd-id>', 'Cmd id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,QAAoC,uBAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AAEA,MAAMI,OAAO,GAAG,IAAIN,OAAJ,CAAY,oBAAZ,CAAhB;AAEAM,OAAO,CACJC,WADH,CACe,eADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGD,WALH,CAKeN,MAAM,CAACQ,aALtB,EAMGF,WANH,CAMeN,MAAM,CAACS,YANtB,EAOGH,WAPH,CAOeN,MAAM,CAACU,gBAPtB,EAQGC,SARH,CAQaX,MAAM,CAACY,gBARpB,EASGD,SATH,CASaX,MAAM,CAACa,cATpB,EAUGF,SAVH,CAUa,IAAId,MAAJ,CAAW,uBAAX,EAAoC,SAApC,CAVb,EAWGiB,MAXH,EAYI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CpB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAhB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAjB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACAlB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACAnB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA5B,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB,CACrB;EACD;AACF,CAvBL,CAwBI;AAxBJ;AA2BAC,OAAO,CAAC4B,KAAR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-export.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/_template/cmd-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo cmd export');\n\nprogram\n .description('Cmd export.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --cmd-id <cmd-id>',\n 'Cmd id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all cmds to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all cmds to separate files (*.cmd.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,QAAoC,uBAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AAEA,MAAMI,OAAO,GAAG,IAAIN,OAAJ,CAAY,kBAAZ,CAAhB;AAEAM,OAAO,CACJC,WADH,CACe,aADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGD,WALH,CAKeN,MAAM,CAACQ,aALtB,EAMGF,WANH,CAMeN,MAAM,CAACS,YANtB,EAOGH,WAPH,CAOeN,MAAM,CAACU,gBAPtB,EAQGC,SARH,CAQaX,MAAM,CAACY,gBARpB,EASGD,SATH,CASaX,MAAM,CAACa,cATpB,EAUGF,SAVH,CAWI,IAAId,MAAJ,CACE,uBADF,EAEE,8CAFF,CAXJ,EAgBGc,SAhBH,CAgBa,IAAId,MAAJ,CAAW,mBAAX,EAAgC,0BAAhC,CAhBb,EAiBGc,SAjBH,CAkBI,IAAId,MAAJ,CACE,WADF,EAEE,oDAFF,CAlBJ,EAuBGc,SAvBH,CAwBI,IAAId,MAAJ,CACE,oBADF,EAEE,iGAFF,CAxBJ,EA6BGiB,MA7BH,EA8BI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CpB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAhB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAjB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACAlB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACAnB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA5B,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB,CACrB;EACD;AACF,CAzCL,CA0CI;AA1CJ;AA6CAC,OAAO,CAAC4B,KAAR"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
|
-
import * as common from '../cmd_common.js';
|
|
4
|
-
const {
|
|
5
|
-
getTokens
|
|
6
|
-
} = Authenticate;
|
|
7
|
-
const program = new Command('frodo cmd import');
|
|
8
|
-
program.description('Cmd import.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --cmd-id <cmd-id>', 'Cmd id. If specified, only one cmd is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import.')).addOption(new Option('-a, --all', 'Import all cmds from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all cmds from separate files (*.cmd.json) in the current directory. Ignored with -i or -a.')).action( // implement command logic inside action handler
|
|
9
|
-
async (host, realm, user, password, options) => {
|
|
10
|
-
state.default.session.setTenant(host);
|
|
11
|
-
state.default.session.setRealm(realm);
|
|
12
|
-
state.default.session.setUsername(user);
|
|
13
|
-
state.default.session.setPassword(password);
|
|
14
|
-
state.default.session.setDeploymentType(options.type);
|
|
15
|
-
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
16
|
-
|
|
17
|
-
if (await getTokens()) {// code goes here
|
|
18
|
-
}
|
|
19
|
-
} // end command logic inside action handler
|
|
20
|
-
);
|
|
21
|
-
program.parse();
|
|
22
|
-
//# sourceMappingURL=cmd-import.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-import.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/_template/cmd-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo cmd import');\n\nprogram\n .description('Cmd import.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --cmd-id <cmd-id>',\n 'Cmd id. If specified, only one cmd is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all cmds from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all cmds from separate files (*.cmd.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,QAAoC,uBAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AAEA,MAAMI,OAAO,GAAG,IAAIN,OAAJ,CAAY,kBAAZ,CAAhB;AAEAM,OAAO,CACJC,WADH,CACe,aADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGD,WALH,CAKeN,MAAM,CAACQ,aALtB,EAMGF,WANH,CAMeN,MAAM,CAACS,YANtB,EAOGH,WAPH,CAOeN,MAAM,CAACU,gBAPtB,EAQGC,SARH,CAQaX,MAAM,CAACY,gBARpB,EASGD,SATH,CASaX,MAAM,CAACa,cATpB,EAUGF,SAVH,CAWI,IAAId,MAAJ,CACE,uBADF,EAEE,uFAFF,CAXJ,EAgBGc,SAhBH,CAgBa,IAAId,MAAJ,CAAW,mBAAX,EAAgC,6BAAhC,CAhBb,EAiBGc,SAjBH,CAkBI,IAAId,MAAJ,CACE,WADF,EAEE,oDAFF,CAlBJ,EAuBGc,SAvBH,CAwBI,IAAId,MAAJ,CACE,oBADF,EAEE,mGAFF,CAxBJ,EA6BGiB,MA7BH,EA8BI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CpB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAhB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAjB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACAlB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACAnB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA5B,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB,CACrB;EACD;AACF,CAzCL,CA0CI;AA1CJ;AA6CAC,OAAO,CAAC4B,KAAR"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
|
-
import * as common from '../cmd_common.js';
|
|
4
|
-
const {
|
|
5
|
-
getTokens
|
|
6
|
-
} = Authenticate;
|
|
7
|
-
const program = new Command('frodo cmd list');
|
|
8
|
-
program.description('Cmd list.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action( // implement command logic inside action handler
|
|
9
|
-
async (host, realm, user, password, options) => {
|
|
10
|
-
state.default.session.setTenant(host);
|
|
11
|
-
state.default.session.setRealm(realm);
|
|
12
|
-
state.default.session.setUsername(user);
|
|
13
|
-
state.default.session.setPassword(password);
|
|
14
|
-
state.default.session.setDeploymentType(options.type);
|
|
15
|
-
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
16
|
-
|
|
17
|
-
if (await getTokens()) {// code goes here
|
|
18
|
-
}
|
|
19
|
-
} // end command logic inside action handler
|
|
20
|
-
);
|
|
21
|
-
program.parse();
|
|
22
|
-
//# sourceMappingURL=cmd-list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-list.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/_template/cmd-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo cmd list');\n\nprogram\n .description('Cmd list.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,QAAoC,uBAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AAEA,MAAMI,OAAO,GAAG,IAAIN,OAAJ,CAAY,gBAAZ,CAAhB;AAEAM,OAAO,CACJC,WADH,CACe,WADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGD,WALH,CAKeN,MAAM,CAACQ,aALtB,EAMGF,WANH,CAMeN,MAAM,CAACS,YANtB,EAOGH,WAPH,CAOeN,MAAM,CAACU,gBAPtB,EAQGC,SARH,CAQaX,MAAM,CAACY,gBARpB,EASGD,SATH,CASaX,MAAM,CAACa,cATpB,EAUGF,SAVH,CAWI,IAAId,MAAJ,CAAW,YAAX,EAAyB,uBAAzB,EAAkDiB,OAAlD,CAA0D,KAA1D,EAAiE,OAAjE,CAXJ,EAaGC,MAbH,EAcI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CrB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAjB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACAlB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACAnB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACApB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA5B,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB,CACrB;EACD;AACF,CAzBL,CA0BI;AA1BJ;AA6BAC,OAAO,CAAC4B,KAAR"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Command, Option } from 'commander';
|
|
2
|
-
import { Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
|
-
import * as common from '../cmd_common.js';
|
|
4
|
-
const {
|
|
5
|
-
getTokens
|
|
6
|
-
} = Authenticate;
|
|
7
|
-
const program = new Command('frodo cmd sub1 delete');
|
|
8
|
-
program.description('Sub1 delete.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --sub1-id <sub1-id>', 'Sub1 id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all sub1s in a realm. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).addOption(new Option('--verbose', 'Verbose output during command execution. If specified, may or may not produce additional output.').default(false, 'off')).action( // implement command logic inside action handler
|
|
9
|
-
async (host, realm, user, password, options) => {
|
|
10
|
-
state.default.session.setTenant(host);
|
|
11
|
-
state.default.session.setRealm(realm);
|
|
12
|
-
state.default.session.setUsername(user);
|
|
13
|
-
state.default.session.setPassword(password);
|
|
14
|
-
state.default.session.setDeploymentType(options.type);
|
|
15
|
-
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
16
|
-
|
|
17
|
-
if (await getTokens()) {// code goes here
|
|
18
|
-
}
|
|
19
|
-
} // end command logic inside action handler
|
|
20
|
-
);
|
|
21
|
-
program.parse();
|
|
22
|
-
//# sourceMappingURL=cmd-sub1-delete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-sub1-delete.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/_template/cmd-sub1-delete.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo cmd sub1 delete');\n\nprogram\n .description('Sub1 delete.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --sub1-id <sub1-id>',\n 'Sub1 id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all sub1s in a realm. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .addOption(\n new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n ).default(false, 'off')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,QAAoC,uBAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AAEA,MAAMI,OAAO,GAAG,IAAIN,OAAJ,CAAY,uBAAZ,CAAhB;AAEAM,OAAO,CACJC,WADH,CACe,cADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGD,WALH,CAKeN,MAAM,CAACQ,aALtB,EAMGF,WANH,CAMeN,MAAM,CAACS,YANtB,EAOGH,WAPH,CAOeN,MAAM,CAACU,gBAPtB,EAQGC,SARH,CAQaX,MAAM,CAACY,gBARpB,EASGD,SATH,CASaX,MAAM,CAACa,cATpB,EAUGF,SAVH,CAWI,IAAId,MAAJ,CACE,yBADF,EAEE,+CAFF,CAXJ,EAgBGc,SAhBH,CAiBI,IAAId,MAAJ,CAAW,WAAX,EAAwB,+CAAxB,CAjBJ,EAmBGc,SAnBH,CAoBI,IAAId,MAAJ,CACE,WADF,EAEE,sEAFF,CApBJ,EAyBGc,SAzBH,CA0BI,IAAId,MAAJ,CACE,WADF,EAEE,kGAFF,EAGEiB,OAHF,CAGU,KAHV,EAGiB,KAHjB,CA1BJ,EA+BGC,MA/BH,EAgCI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CrB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAjB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACAlB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACAnB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACApB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA5B,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB,CACrB;EACD;AACF,CA3CL,CA4CI;AA5CJ;AA+CAC,OAAO,CAAC4B,KAAR"}
|