@rockcarver/frodo-cli 2.0.0-5 → 2.0.0-50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +361 -6
- package/esm/app.js +20 -3
- package/esm/app.js.map +1 -1
- package/esm/cli/FrodoCommand.js +33 -7
- package/esm/cli/FrodoCommand.js.map +1 -1
- package/esm/cli/_template/something-delete.js +7 -5
- package/esm/cli/_template/something-delete.js.map +1 -1
- package/esm/cli/_template/something-describe.js +7 -5
- package/esm/cli/_template/something-describe.js.map +1 -1
- package/esm/cli/_template/something-else-delete.js +7 -5
- package/esm/cli/_template/something-else-delete.js.map +1 -1
- package/esm/cli/_template/something-else-describe.js +7 -5
- package/esm/cli/_template/something-else-describe.js.map +1 -1
- package/esm/cli/_template/something-else-export.js +8 -6
- package/esm/cli/_template/something-else-export.js.map +1 -1
- package/esm/cli/_template/something-else-import.js +7 -5
- package/esm/cli/_template/something-else-import.js.map +1 -1
- package/esm/cli/_template/something-else-list.js +7 -5
- package/esm/cli/_template/something-else-list.js.map +1 -1
- package/esm/cli/_template/something-else.js +1 -1
- package/esm/cli/_template/something-else.js.map +1 -1
- package/esm/cli/_template/something-export.js +8 -6
- package/esm/cli/_template/something-export.js.map +1 -1
- package/esm/cli/_template/something-import.js +7 -5
- package/esm/cli/_template/something-import.js.map +1 -1
- package/esm/cli/_template/something-list.js +7 -5
- package/esm/cli/_template/something-list.js.map +1 -1
- package/esm/cli/_template/something-other-delete.js +7 -5
- package/esm/cli/_template/something-other-delete.js.map +1 -1
- package/esm/cli/_template/something-other-describe.js +7 -5
- package/esm/cli/_template/something-other-describe.js.map +1 -1
- package/esm/cli/_template/something-other-export.js +8 -6
- package/esm/cli/_template/something-other-export.js.map +1 -1
- package/esm/cli/_template/something-other-import.js +7 -5
- package/esm/cli/_template/something-other-import.js.map +1 -1
- package/esm/cli/_template/something-other-list.js +7 -5
- package/esm/cli/_template/something-other-list.js.map +1 -1
- package/esm/cli/_template/something-other.js +1 -1
- package/esm/cli/_template/something-other.js.map +1 -1
- package/esm/cli/_template/something.js +2 -2
- package/esm/cli/_template/something.js.map +1 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -5
- 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 +14 -8
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +41 -0
- package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -0
- package/esm/cli/admin/admin-federation-export.js +44 -0
- package/esm/cli/admin/admin-federation-export.js.map +1 -0
- package/esm/cli/admin/admin-federation-import.js +48 -0
- package/esm/cli/admin/admin-federation-import.js.map +1 -0
- package/esm/cli/admin/admin-federation-list.js +28 -0
- package/esm/cli/admin/admin-federation-list.js.map +1 -0
- package/esm/cli/admin/admin-federation.js +13 -0
- package/esm/cli/admin/admin-federation.js.map +1 -0
- package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +43 -0
- package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -0
- package/esm/cli/admin/admin-get-access-token.js +12 -7
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -8
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -6
- 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 +11 -6
- 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 +11 -6
- 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 +12 -7
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -6
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +11 -6
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -7
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -6
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin-train-auto-access-model.js +32 -0
- package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -0
- package/esm/cli/admin/admin.js +8 -2
- package/esm/cli/admin/admin.js.map +1 -1
- package/esm/cli/agent/agent-delete.js +13 -7
- package/esm/cli/agent/agent-delete.js.map +1 -1
- package/esm/cli/agent/agent-describe.js +7 -5
- package/esm/cli/agent/agent-describe.js.map +1 -1
- package/esm/cli/agent/agent-export.js +12 -10
- package/esm/cli/agent/agent-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-delete.js +13 -7
- package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
- package/esm/cli/agent/agent-gateway-describe.js +7 -5
- package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
- package/esm/cli/agent/agent-gateway-export.js +12 -10
- package/esm/cli/agent/agent-gateway-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-import.js +8 -6
- package/esm/cli/agent/agent-gateway-import.js.map +1 -1
- package/esm/cli/agent/agent-gateway-list.js +7 -5
- package/esm/cli/agent/agent-gateway-list.js.map +1 -1
- package/esm/cli/agent/agent-gateway.js +1 -1
- package/esm/cli/agent/agent-gateway.js.map +1 -1
- package/esm/cli/agent/agent-import.js +8 -6
- package/esm/cli/agent/agent-import.js.map +1 -1
- package/esm/cli/agent/agent-java-delete.js +13 -7
- package/esm/cli/agent/agent-java-delete.js.map +1 -1
- package/esm/cli/agent/agent-java-describe.js +7 -5
- package/esm/cli/agent/agent-java-describe.js.map +1 -1
- package/esm/cli/agent/agent-java-export.js +12 -10
- package/esm/cli/agent/agent-java-export.js.map +1 -1
- package/esm/cli/agent/agent-java-import.js +8 -6
- package/esm/cli/agent/agent-java-import.js.map +1 -1
- package/esm/cli/agent/agent-java-list.js +7 -5
- package/esm/cli/agent/agent-java-list.js.map +1 -1
- package/esm/cli/agent/agent-java.js +1 -1
- package/esm/cli/agent/agent-java.js.map +1 -1
- package/esm/cli/agent/agent-list.js +7 -5
- package/esm/cli/agent/agent-list.js.map +1 -1
- package/esm/cli/agent/agent-web-delete.js +13 -7
- package/esm/cli/agent/agent-web-delete.js.map +1 -1
- package/esm/cli/agent/agent-web-describe.js +7 -5
- package/esm/cli/agent/agent-web-describe.js.map +1 -1
- package/esm/cli/agent/agent-web-export.js +12 -10
- package/esm/cli/agent/agent-web-export.js.map +1 -1
- package/esm/cli/agent/agent-web-import.js +8 -6
- package/esm/cli/agent/agent-web-import.js.map +1 -1
- package/esm/cli/agent/agent-web-list.js +7 -5
- package/esm/cli/agent/agent-web-list.js.map +1 -1
- package/esm/cli/agent/agent-web.js +3 -3
- package/esm/cli/agent/agent-web.js.map +1 -1
- package/esm/cli/agent/agent.js +2 -2
- package/esm/cli/agent/agent.js.map +1 -1
- package/esm/cli/app/app-delete.js +27 -9
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js +9 -6
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js +17 -14
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +21 -18
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +12 -9
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/app/app.js +8 -12
- package/esm/cli/app/app.js.map +1 -1
- package/esm/cli/authn/authn-describe.js +29 -0
- package/esm/cli/authn/authn-describe.js.map +1 -0
- package/esm/cli/authn/authn-export.js +25 -0
- package/esm/cli/authn/authn-export.js.map +1 -0
- package/esm/cli/authn/authn-import.js +25 -0
- package/esm/cli/authn/authn-import.js.map +1 -0
- package/esm/cli/authn/authn.js +12 -0
- package/esm/cli/authn/authn.js.map +1 -0
- package/esm/cli/authz/authz-policy-delete.js +11 -9
- package/esm/cli/authz/authz-policy-delete.js.map +1 -1
- package/esm/cli/authz/authz-policy-describe.js +8 -6
- package/esm/cli/authz/authz-policy-describe.js.map +1 -1
- package/esm/cli/authz/authz-policy-export.js +18 -16
- package/esm/cli/authz/authz-policy-export.js.map +1 -1
- package/esm/cli/authz/authz-policy-import.js +11 -9
- package/esm/cli/authz/authz-policy-import.js.map +1 -1
- package/esm/cli/authz/authz-policy-list.js +11 -9
- package/esm/cli/authz/authz-policy-list.js.map +1 -1
- package/esm/cli/authz/authz-policy.js +1 -1
- package/esm/cli/authz/authz-policy.js.map +1 -1
- package/esm/cli/authz/authz-set-delete.js +11 -9
- package/esm/cli/authz/authz-set-delete.js.map +1 -1
- package/esm/cli/authz/authz-set-describe.js +8 -6
- package/esm/cli/authz/authz-set-describe.js.map +1 -1
- package/esm/cli/authz/authz-set-export.js +14 -12
- package/esm/cli/authz/authz-set-export.js.map +1 -1
- package/esm/cli/authz/authz-set-import.js +11 -9
- package/esm/cli/authz/authz-set-import.js.map +1 -1
- package/esm/cli/authz/authz-set-list.js +8 -6
- package/esm/cli/authz/authz-set-list.js.map +1 -1
- package/esm/cli/authz/authz-set.js +1 -1
- package/esm/cli/authz/authz-set.js.map +1 -1
- package/esm/cli/authz/authz-type-delete.js +13 -11
- package/esm/cli/authz/authz-type-delete.js.map +1 -1
- package/esm/cli/authz/authz-type-describe.js +9 -7
- package/esm/cli/authz/authz-type-describe.js.map +1 -1
- package/esm/cli/authz/authz-type-export.js +16 -14
- package/esm/cli/authz/authz-type-export.js.map +1 -1
- package/esm/cli/authz/authz-type-import.js +14 -12
- package/esm/cli/authz/authz-type-import.js.map +1 -1
- package/esm/cli/authz/authz-type-list.js +9 -7
- package/esm/cli/authz/authz-type-list.js.map +1 -1
- package/esm/cli/authz/authz-type.js +1 -1
- package/esm/cli/authz/authz-type.js.map +1 -1
- package/esm/cli/authz/authz.js +2 -2
- package/esm/cli/authz/authz.js.map +1 -1
- package/esm/cli/config/config-delete.js +21 -0
- package/esm/cli/config/config-delete.js.map +1 -0
- package/esm/cli/config/config-describe.js +21 -0
- package/esm/cli/config/config-describe.js.map +1 -0
- package/esm/cli/config/config-export.js +47 -0
- package/esm/cli/config/config-export.js.map +1 -0
- package/esm/cli/config/config-import.js +56 -0
- package/esm/cli/config/config-import.js.map +1 -0
- package/esm/cli/config/config-list.js +21 -0
- package/esm/cli/config/config-list.js.map +1 -0
- package/esm/cli/config/config.js +19 -0
- package/esm/cli/config/config.js.map +1 -0
- package/esm/cli/conn/conn-delete.js +2 -3
- package/esm/cli/conn/conn-delete.js.map +1 -1
- package/esm/cli/conn/conn-describe.js +2 -3
- package/esm/cli/conn/conn-describe.js.map +1 -1
- package/esm/cli/conn/conn-list.js +2 -3
- package/esm/cli/conn/conn-list.js.map +1 -1
- package/esm/cli/conn/conn-save.js +27 -15
- package/esm/cli/conn/conn-save.js.map +1 -1
- package/esm/cli/conn/conn.js +2 -2
- package/esm/cli/conn/conn.js.map +1 -1
- package/esm/cli/email/email-template-export.js +14 -12
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +15 -13
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +9 -7
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/email/email-template.js +1 -1
- package/esm/cli/email/email-template.js.map +1 -1
- package/esm/cli/email/email.js +2 -2
- package/esm/cli/email/email.js.map +1 -1
- package/esm/cli/esv/esv-apply.js +18 -9
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +16 -8
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +13 -10
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +10 -7
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-export.js +22 -7
- package/esm/cli/esv/esv-secret-export.js.map +1 -1
- package/esm/cli/esv/esv-secret-import.js +7 -5
- package/esm/cli/esv/esv-secret-import.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js +11 -8
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +10 -7
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +10 -8
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +16 -8
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +10 -8
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +13 -10
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +10 -7
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-version.js +1 -1
- package/esm/cli/esv/esv-secret-version.js.map +1 -1
- package/esm/cli/esv/esv-secret.js +2 -3
- package/esm/cli/esv/esv-secret.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +11 -7
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +13 -9
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +11 -8
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-export.js +23 -7
- package/esm/cli/esv/esv-variable-export.js.map +1 -1
- package/esm/cli/esv/esv-variable-import.js +7 -5
- package/esm/cli/esv/esv-variable-import.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js +11 -8
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +12 -8
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/esv/esv-variable.js +2 -3
- package/esm/cli/esv/esv-variable.js.map +1 -1
- package/esm/cli/esv/esv.js +2 -2
- package/esm/cli/esv/esv.js.map +1 -1
- package/esm/cli/idm/idm-count.js +10 -8
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +24 -16
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js +22 -14
- package/esm/cli/idm/idm-import.js.map +1 -1
- package/esm/cli/idm/idm-list.js +9 -7
- package/esm/cli/idm/idm-list.js.map +1 -1
- package/esm/cli/idm/idm.js +2 -2
- package/esm/cli/idm/idm.js.map +1 -1
- package/esm/cli/idp/idp-export.js +12 -10
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +24 -14
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js +8 -6
- package/esm/cli/idp/idp-list.js.map +1 -1
- package/esm/cli/idp/idp.js +2 -2
- package/esm/cli/idp/idp.js.map +1 -1
- package/esm/cli/info/info.js +13 -7
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.js +14 -8
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +22 -12
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +11 -12
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +11 -12
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +30 -16
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +15 -13
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.js +7 -5
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +23 -13
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/journey/journey.js +2 -2
- package/esm/cli/journey/journey.js.map +1 -1
- package/esm/cli/log/log-fetch.js +67 -35
- package/esm/cli/log/log-fetch.js.map +1 -1
- package/esm/cli/log/log-key-delete.js +9 -7
- package/esm/cli/log/log-key-delete.js.map +1 -1
- package/esm/cli/log/log-key-describe.js +7 -5
- package/esm/cli/log/log-key-describe.js.map +1 -1
- package/esm/cli/log/log-key-list.js +7 -5
- package/esm/cli/log/log-key-list.js.map +1 -1
- package/esm/cli/log/log-key.js +1 -1
- package/esm/cli/log/log-key.js.map +1 -1
- package/esm/cli/log/log-list.js +64 -33
- package/esm/cli/log/log-list.js.map +1 -1
- package/esm/cli/log/log-tail.js +65 -34
- package/esm/cli/log/log-tail.js.map +1 -1
- package/esm/cli/log/log.js +2 -2
- package/esm/cli/log/log.js.map +1 -1
- package/esm/cli/oauth/oauth-client-delete.js +21 -0
- package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
- package/esm/cli/oauth/oauth-client-describe.js +21 -0
- package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
- package/esm/cli/oauth/oauth-client-export.js +51 -0
- package/esm/cli/oauth/oauth-client-export.js.map +1 -0
- package/esm/cli/oauth/oauth-client-import.js +56 -0
- package/esm/cli/oauth/oauth-client-import.js.map +1 -0
- package/esm/cli/oauth/oauth-client-list.js +24 -0
- package/esm/cli/oauth/oauth-client-list.js.map +1 -0
- package/esm/cli/oauth/oauth-client.js +14 -0
- package/esm/cli/oauth/oauth-client.js.map +1 -0
- package/esm/cli/oauth/oauth.js +13 -0
- package/esm/cli/oauth/oauth.js.map +1 -0
- package/esm/cli/realm/realm-add-custom-domain.js +8 -6
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +8 -6
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +8 -6
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +11 -6
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm.js +2 -2
- package/esm/cli/realm/realm.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js +14 -12
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +15 -13
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +9 -7
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-cot.js +1 -1
- package/esm/cli/saml/saml-cot.js.map +1 -1
- package/esm/cli/saml/saml-delete.js +14 -8
- package/esm/cli/saml/saml-delete.js.map +1 -1
- package/esm/cli/saml/saml-describe.js +9 -7
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +20 -12
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +24 -14
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +9 -7
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +10 -8
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/saml/saml-metadata.js +1 -1
- package/esm/cli/saml/saml-metadata.js.map +1 -1
- package/esm/cli/saml/saml.js +2 -2
- package/esm/cli/saml/saml.js.map +1 -1
- package/esm/cli/script/script-delete.js +21 -8
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js +7 -5
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js +13 -15
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +18 -10
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +10 -8
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/script/script.js +3 -5
- package/esm/cli/script/script.js.map +1 -1
- package/esm/cli/service/service-delete.js +8 -5
- package/esm/cli/service/service-delete.js.map +1 -1
- package/esm/cli/service/service-export.js +13 -11
- package/esm/cli/service/service-export.js.map +1 -1
- package/esm/cli/service/service-import.js +32 -14
- package/esm/cli/service/service-import.js.map +1 -1
- package/esm/cli/service/service-list.js +7 -4
- package/esm/cli/service/service-list.js.map +1 -1
- package/esm/cli/service/service.js +2 -2
- package/esm/cli/service/service.js.map +1 -1
- package/esm/cli/shell/shell.js +57 -0
- package/esm/cli/shell/shell.js.map +1 -0
- package/esm/cli/theme/theme-delete.js +13 -11
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +16 -14
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +16 -14
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.js +8 -6
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/cli/theme/theme.js +2 -2
- package/esm/cli/theme/theme.js.map +1 -1
- package/esm/help/SampleData.js +1 -1
- package/esm/help/SampleData.js.map +1 -1
- package/esm/launch.js +1 -1
- package/esm/launch.js.map +1 -1
- package/esm/loader.js +2 -2
- package/esm/loader.js.map +1 -1
- package/esm/ops/AdminFederationOps.js +231 -0
- package/esm/ops/AdminFederationOps.js.map +1 -0
- package/esm/ops/AdminOps.js +151 -0
- package/esm/ops/AdminOps.js.map +1 -0
- package/esm/ops/AgentOps.js +213 -150
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/ApplicationOps.js +324 -0
- package/esm/ops/ApplicationOps.js.map +1 -0
- package/esm/ops/AuthenticationSettingsOps.js +90 -0
- package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
- package/esm/ops/CirclesOfTrustOps.js +98 -78
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConfigOps.js +168 -0
- package/esm/ops/ConfigOps.js.map +1 -0
- package/esm/ops/ConnectionProfileOps.js +13 -6
- package/esm/ops/ConnectionProfileOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +122 -127
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdmOps.js +101 -182
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/IdpOps.js +108 -75
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +182 -116
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/LogOps.js +22 -12
- package/esm/ops/LogOps.js.map +1 -1
- package/esm/ops/NodeOps.js +14 -3
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js +71 -49
- package/esm/ops/OAuth2ClientOps.js.map +1 -1
- package/esm/ops/OrganizationOps.js +14 -22
- package/esm/ops/OrganizationOps.js.map +1 -1
- package/esm/ops/PolicyOps.js +127 -86
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicySetOps.js +108 -76
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/RealmOps.js +15 -10
- package/esm/ops/RealmOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js +105 -87
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js +138 -91
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test_.js.map +1 -1
- package/esm/ops/ScriptOps.js +222 -90
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/SecretsOps.js +333 -79
- package/esm/ops/SecretsOps.js.map +1 -1
- package/esm/ops/ServiceOps.js +97 -54
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +164 -158
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/VariablesOps.js +252 -65
- package/esm/ops/VariablesOps.js.map +1 -1
- package/esm/ops/utils/OpsUtils.js +1 -1
- package/esm/ops/utils/OpsUtils.js.map +1 -1
- package/esm/ops/utils/Wordwrap.js +1 -1
- package/esm/ops/utils/Wordwrap.js.map +1 -1
- package/esm/storage/StaticStorage.js +1 -1
- package/esm/storage/StaticStorage.js.map +1 -1
- package/esm/utils/Config.js +164 -4
- package/esm/utils/Config.js.map +1 -1
- package/esm/utils/Console.js +78 -35
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/Version.js +20 -17
- package/esm/utils/Version.js.map +1 -1
- package/global-jest-setup.js +5 -0
- package/package.json +55 -37
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
- package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
- package/esm/utils/ExportImportUtils.js +0 -90
- package/esm/utils/ExportImportUtils.js.map +0 -1
package/esm/utils/Version.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
|
+
import Color from 'colors';
|
|
3
|
+
import { compareVersions } from 'compare-versions';
|
|
1
4
|
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
5
|
import os from 'os';
|
|
6
|
+
import path from 'path';
|
|
4
7
|
import { fileURLToPath } from 'url';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
const {
|
|
9
|
+
getVersion,
|
|
10
|
+
getAllVersions
|
|
11
|
+
} = frodo.utils.version;
|
|
8
12
|
const VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;
|
|
9
|
-
const VERSION_CHECK_INTERVAL =
|
|
13
|
+
const VERSION_CHECK_INTERVAL = 86400;
|
|
10
14
|
const GITHUB_REPOS_URL = `https://api.github.com`;
|
|
11
15
|
const GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;
|
|
12
16
|
const NPM_BASE_URL = `https://registry.npmjs.org`;
|
|
@@ -30,28 +34,28 @@ function getCliVersion() {
|
|
|
30
34
|
return `${pkg.version}`;
|
|
31
35
|
}
|
|
32
36
|
function getLibVersion() {
|
|
33
|
-
return
|
|
37
|
+
return getVersion();
|
|
34
38
|
}
|
|
35
39
|
function extractGithubReleaseInfo(data) {
|
|
36
40
|
const release = {
|
|
37
41
|
type: 'github',
|
|
38
|
-
|
|
42
|
+
version: '',
|
|
39
43
|
published_at: ''
|
|
40
44
|
};
|
|
41
45
|
// find first stable release
|
|
42
46
|
const r = data.find(rel => rel.prerelease == false);
|
|
43
|
-
release.
|
|
47
|
+
release.version = r.tag_name.replace('v', '');
|
|
44
48
|
release.published_at = r.published_at;
|
|
45
49
|
return release;
|
|
46
50
|
}
|
|
47
51
|
function extractNpmReleaseInfo(data) {
|
|
48
52
|
const release = {
|
|
49
53
|
type: 'npm',
|
|
50
|
-
|
|
54
|
+
version: '',
|
|
51
55
|
published_at: ''
|
|
52
56
|
};
|
|
53
57
|
// stable release
|
|
54
|
-
release.
|
|
58
|
+
release.version = data[`dist-tags`].latest;
|
|
55
59
|
release.published_at = data.time[data[`dist-tags`].latest];
|
|
56
60
|
return release;
|
|
57
61
|
}
|
|
@@ -68,7 +72,7 @@ async function getRemoteVersionData() {
|
|
|
68
72
|
}
|
|
69
73
|
if (!useCache) {
|
|
70
74
|
const allVersions = [];
|
|
71
|
-
const result = await
|
|
75
|
+
const result = await getAllVersions(ENDPOINTS);
|
|
72
76
|
result.forEach(item => {
|
|
73
77
|
if (Array.isArray(item['value'].data)) {
|
|
74
78
|
allVersions.push(extractGithubReleaseInfo(item['value'].data));
|
|
@@ -76,13 +80,12 @@ async function getRemoteVersionData() {
|
|
|
76
80
|
allVersions.push(extractNpmReleaseInfo(item['value'].data));
|
|
77
81
|
}
|
|
78
82
|
});
|
|
79
|
-
// const allVersions = await LibVersion.getAllVersions(ENDPOINTS);
|
|
80
83
|
allVersions.forEach(element => {
|
|
81
84
|
// cli
|
|
82
85
|
if (element.type == 'github') {
|
|
83
|
-
versionObject.github = element.
|
|
86
|
+
versionObject.github = element.version;
|
|
84
87
|
} else {
|
|
85
|
-
versionObject.npm = element.
|
|
88
|
+
versionObject.npm = element.version;
|
|
86
89
|
}
|
|
87
90
|
});
|
|
88
91
|
versionObject.last_checked = Math.floor(Date.now() / 1000);
|
|
@@ -95,7 +98,7 @@ function getBinaryName() {
|
|
|
95
98
|
export async function getVersions(checkOnly) {
|
|
96
99
|
let updateAvailable = false;
|
|
97
100
|
let usingBinary = false;
|
|
98
|
-
if (getBinaryName()
|
|
101
|
+
if (getBinaryName() === 'frodo' || getBinaryName() === 'frodo.exe') {
|
|
99
102
|
usingBinary = true;
|
|
100
103
|
}
|
|
101
104
|
try {
|
|
@@ -109,7 +112,7 @@ export async function getVersions(checkOnly) {
|
|
|
109
112
|
npm: null
|
|
110
113
|
};
|
|
111
114
|
}
|
|
112
|
-
let versionString = `You
|
|
115
|
+
let versionString = `You are running the ${usingBinary ? 'binary release' : 'NPM package'}.`;
|
|
113
116
|
versionString += `\nInstalled versions:`;
|
|
114
117
|
versionString += `\ncli: v${getCliVersion()}\nlib: v${getLibVersion()}\nnode: ${process.version}`;
|
|
115
118
|
let newVersionString = '';
|
|
@@ -132,4 +135,4 @@ export async function getVersions(checkOnly) {
|
|
|
132
135
|
return versionString + newVersionString;
|
|
133
136
|
}
|
|
134
137
|
}
|
|
135
|
-
//# sourceMappingURL=Version.js.map
|
|
138
|
+
//# sourceMappingURL=Version.js.map
|
package/esm/utils/Version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Version.js","names":["fs","path","os","fileURLToPath","compareVersions","frodo","Color","VERSION_CACHE_FILE","homedir","VERSION_CHECK_INTERVAL","GITHUB_REPOS_URL","GITHUB_RELEASES_PATH_CLI","NPM_BASE_URL","NPM_PACKAGE_PATH_CLI","ENDPOINTS","base","versionObject","last_checked","github","npm","__dirname","dirname","import","meta","url","enable","pkg","JSON","parse","readFileSync","resolve","getCliVersion","version","getLibVersion","utils","getVersion","extractGithubReleaseInfo","data","release","type","name","published_at","r","find","rel","prerelease","extractNpmReleaseInfo","latest","time","getRemoteVersionData","useCache","existsSync","Math","floor","Date","now","allVersions","result","getAllVersions","forEach","item","Array","isArray","push","element","writeFileSync","stringify","getBinaryName","basename","process","execPath","getVersions","checkOnly","updateAvailable","usingBinary","e","versionString","newVersionString","green"],"sources":["utils/Version.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\nimport { fileURLToPath } from 'url';\nimport { compareVersions } from 'compare-versions';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport Color from 'colors';\n\nconst VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;\nconst VERSION_CHECK_INTERVAL = 3600;\n\nconst GITHUB_REPOS_URL = `https://api.github.com`;\nconst GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;\n\nconst NPM_BASE_URL = `https://registry.npmjs.org`;\nconst NPM_PACKAGE_PATH_CLI = `/@rockcarver/frodo-cli`;\n\nconst ENDPOINTS = [\n {\n base: GITHUB_REPOS_URL,\n path: GITHUB_RELEASES_PATH_CLI,\n },\n {\n base: NPM_BASE_URL,\n path: NPM_PACKAGE_PATH_CLI,\n },\n];\n\nlet versionObject = {\n last_checked: 0,\n github: '',\n npm: '',\n};\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nColor.enable();\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nfunction getCliVersion() {\n return `${pkg.version}`;\n}\n\nfunction getLibVersion() {\n return frodo.utils.version.getVersion();\n}\n\nfunction extractGithubReleaseInfo(data) {\n const release = {\n type: 'github',\n name: '',\n published_at: '',\n };\n // find first stable release\n const r = data.find((rel) => rel.prerelease == false);\n release.name = r.name;\n release.published_at = r.published_at;\n return release;\n}\n\nfunction extractNpmReleaseInfo(data) {\n const release = {\n type: 'npm',\n name: '',\n published_at: '',\n };\n // stable release\n release.name = data[`dist-tags`].latest;\n release.published_at = data.time[data[`dist-tags`].latest];\n return release;\n}\n\nasync function getRemoteVersionData() {\n let useCache = true;\n if (fs.existsSync(VERSION_CACHE_FILE)) {\n const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');\n versionObject = JSON.parse(data);\n if (\n versionObject.last_checked + VERSION_CHECK_INTERVAL <\n Math.floor(Date.now() / 1000)\n ) {\n useCache = false;\n }\n } else {\n useCache = false;\n }\n\n if (!useCache) {\n const allVersions = [];\n const result = await frodo.utils.version.getAllVersions(ENDPOINTS);\n result.forEach((item) => {\n if (Array.isArray(item['value'].data)) {\n allVersions.push(extractGithubReleaseInfo(item['value'].data));\n } else {\n allVersions.push(extractNpmReleaseInfo(item['value'].data));\n }\n });\n // const allVersions = await LibVersion.getAllVersions(ENDPOINTS);\n allVersions.forEach((element) => {\n // cli\n if (element.type == 'github') {\n versionObject.github = element.name;\n } else {\n versionObject.npm = element.name;\n }\n });\n versionObject.last_checked = Math.floor(Date.now() / 1000);\n fs.writeFileSync(\n VERSION_CACHE_FILE,\n JSON.stringify(versionObject, null, 2)\n );\n }\n}\n\nfunction getBinaryName() {\n return path.basename(process.execPath);\n}\n\nexport async function getVersions(checkOnly: boolean) {\n let updateAvailable = false;\n let usingBinary = false;\n if (getBinaryName() == 'frodo') {\n usingBinary = true;\n }\n try {\n await getRemoteVersionData();\n } catch (e) {\n // Do not report error if remote version can not be obtained.\n // Just silently report installed version\n versionObject = {\n last_checked: 0,\n github: null,\n npm: null,\n };\n }\n\n let versionString = `You seem to be running the ${\n usingBinary ? 'binary' : 'NPM'\n } package`;\n\n versionString += `\\nInstalled versions:`;\n versionString += `\\ncli: v${getCliVersion()}\\nlib: v${getLibVersion()}\\nnode: ${\n process.version\n }`;\n let newVersionString = '';\n if (\n (usingBinary &&\n versionObject.github != null &&\n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary &&\n versionObject.npm != null &&\n compareVersions(getCliVersion(), versionObject.npm) == -1)\n ) {\n updateAvailable = true;\n newVersionString += `\\n\\nNewer version(s) available`;\n if (usingBinary) {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.github) == -1\n ? `\\ncli (github): v${versionObject.github}`.green\n : ``;\n } else {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.npm) == -1\n ? `\\ncli (npm): v${versionObject.npm}`.green\n : ``;\n }\n }\n if (checkOnly) {\n if (updateAvailable) {\n return `A new version of frodo is available.\\nPlease run 'frodo -v' for more details.\\n`\n .green;\n } else {\n return ``;\n }\n } else {\n return versionString + newVersionString;\n }\n}\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,IAAI;AACnB,OAAOC,IAAI,MAAM,MAAM;AACvB,OAAOC,EAAE,MAAM,IAAI;AACnB,SAASC,aAAa,QAAQ,KAAK;AACnC,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,OAAOC,KAAK,MAAM,QAAQ;AAE1B,MAAMC,kBAAkB,GAAI,GAAEL,EAAE,CAACM,OAAO,CAAC,CAAE,uBAAsB;AACjE,MAAMC,sBAAsB,GAAG,IAAI;AAEnC,MAAMC,gBAAgB,GAAI,wBAAuB;AACjD,MAAMC,wBAAwB,GAAI,sCAAqC;AAEvE,MAAMC,YAAY,GAAI,4BAA2B;AACjD,MAAMC,oBAAoB,GAAI,wBAAuB;AAErD,MAAMC,SAAS,GAAG,CAChB;EACEC,IAAI,EAAEL,gBAAgB;EACtBT,IAAI,EAAEU;AACR,CAAC,EACD;EACEI,IAAI,EAAEH,YAAY;EAClBX,IAAI,EAAEY;AACR,CAAC,CACF;AAED,IAAIG,aAAa,GAAG;EAClBC,YAAY,EAAE,CAAC;EACfC,MAAM,EAAE,EAAE;EACVC,GAAG,EAAE;AACP,CAAC;AAED,MAAMC,SAAS,GAAGnB,IAAI,CAACoB,OAAO,CAAClB,aAAa,CAACmB,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9DlB,KAAK,CAACmB,MAAM,CAAC,CAAC;AAEd,MAAMC,GAAG,GAAGC,IAAI,CAACC,KAAK,CACpB5B,EAAE,CAAC6B,YAAY,CAAC5B,IAAI,CAAC6B,OAAO,CAACV,SAAS,EAAE,oBAAoB,CAAC,EAAE,MAAM,CACvE,CAAC;AAED,SAASW,aAAaA,CAAA,EAAG;EACvB,OAAQ,GAAEL,GAAG,CAACM,OAAQ,EAAC;AACzB;AAEA,SAASC,aAAaA,CAAA,EAAG;EACvB,OAAO5B,KAAK,CAAC6B,KAAK,CAACF,OAAO,CAACG,UAAU,CAAC,CAAC;AACzC;AAEA,SAASC,wBAAwBA,CAACC,IAAI,EAAE;EACtC,MAAMC,OAAO,GAAG;IACdC,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE,EAAE;IACRC,YAAY,EAAE;EAChB,CAAC;EACD;EACA,MAAMC,CAAC,GAAGL,IAAI,CAACM,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,UAAU,IAAI,KAAK,CAAC;EACrDP,OAAO,CAACE,IAAI,GAAGE,CAAC,CAACF,IAAI;EACrBF,OAAO,CAACG,YAAY,GAAGC,CAAC,CAACD,YAAY;EACrC,OAAOH,OAAO;AAChB;AAEA,SAASQ,qBAAqBA,CAACT,IAAI,EAAE;EACnC,MAAMC,OAAO,GAAG;IACdC,IAAI,EAAE,KAAK;IACXC,IAAI,EAAE,EAAE;IACRC,YAAY,EAAE;EAChB,CAAC;EACD;EACAH,OAAO,CAACE,IAAI,GAAGH,IAAI,CAAE,WAAU,CAAC,CAACU,MAAM;EACvCT,OAAO,CAACG,YAAY,GAAGJ,IAAI,CAACW,IAAI,CAACX,IAAI,CAAE,WAAU,CAAC,CAACU,MAAM,CAAC;EAC1D,OAAOT,OAAO;AAChB;AAEA,eAAeW,oBAAoBA,CAAA,EAAG;EACpC,IAAIC,QAAQ,GAAG,IAAI;EACnB,IAAIlD,EAAE,CAACmD,UAAU,CAAC5C,kBAAkB,CAAC,EAAE;IACrC,MAAM8B,IAAI,GAAGrC,EAAE,CAAC6B,YAAY,CAACtB,kBAAkB,EAAE,MAAM,CAAC;IACxDS,aAAa,GAAGW,IAAI,CAACC,KAAK,CAACS,IAAI,CAAC;IAChC,IACErB,aAAa,CAACC,YAAY,GAAGR,sBAAsB,GACnD2C,IAAI,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAC7B;MACAL,QAAQ,GAAG,KAAK;IAClB;EACF,CAAC,MAAM;IACLA,QAAQ,GAAG,KAAK;EAClB;EAEA,IAAI,CAACA,QAAQ,EAAE;IACb,MAAMM,WAAW,GAAG,EAAE;IACtB,MAAMC,MAAM,GAAG,MAAMpD,KAAK,CAAC6B,KAAK,CAACF,OAAO,CAAC0B,cAAc,CAAC5C,SAAS,CAAC;IAClE2C,MAAM,CAACE,OAAO,CAAEC,IAAI,IAAK;MACvB,IAAIC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,OAAO,CAAC,CAACvB,IAAI,CAAC,EAAE;QACrCmB,WAAW,CAACO,IAAI,CAAC3B,wBAAwB,CAACwB,IAAI,CAAC,OAAO,CAAC,CAACvB,IAAI,CAAC,CAAC;MAChE,CAAC,MAAM;QACLmB,WAAW,CAACO,IAAI,CAACjB,qBAAqB,CAACc,IAAI,CAAC,OAAO,CAAC,CAACvB,IAAI,CAAC,CAAC;MAC7D;IACF,CAAC,CAAC;IACF;IACAmB,WAAW,CAACG,OAAO,CAAEK,OAAO,IAAK;MAC/B;MACA,IAAIA,OAAO,CAACzB,IAAI,IAAI,QAAQ,EAAE;QAC5BvB,aAAa,CAACE,MAAM,GAAG8C,OAAO,CAACxB,IAAI;MACrC,CAAC,MAAM;QACLxB,aAAa,CAACG,GAAG,GAAG6C,OAAO,CAACxB,IAAI;MAClC;IACF,CAAC,CAAC;IACFxB,aAAa,CAACC,YAAY,GAAGmC,IAAI,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1DvD,EAAE,CAACiE,aAAa,CACd1D,kBAAkB,EAClBoB,IAAI,CAACuC,SAAS,CAAClD,aAAa,EAAE,IAAI,EAAE,CAAC,CACvC,CAAC;EACH;AACF;AAEA,SAASmD,aAAaA,CAAA,EAAG;EACvB,OAAOlE,IAAI,CAACmE,QAAQ,CAACC,OAAO,CAACC,QAAQ,CAAC;AACxC;AAEA,OAAO,eAAeC,WAAWA,CAACC,SAAkB,EAAE;EACpD,IAAIC,eAAe,GAAG,KAAK;EAC3B,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIP,aAAa,CAAC,CAAC,IAAI,OAAO,EAAE;IAC9BO,WAAW,GAAG,IAAI;EACpB;EACA,IAAI;IACF,MAAMzB,oBAAoB,CAAC,CAAC;EAC9B,CAAC,CAAC,OAAO0B,CAAC,EAAE;IACV;IACA;IACA3D,aAAa,GAAG;MACdC,YAAY,EAAE,CAAC;MACfC,MAAM,EAAE,IAAI;MACZC,GAAG,EAAE;IACP,CAAC;EACH;EAEA,IAAIyD,aAAa,GAAI,8BACnBF,WAAW,GAAG,QAAQ,GAAG,KAC1B,UAAS;EAEVE,aAAa,IAAK,uBAAsB;EACxCA,aAAa,IAAK,WAAU7C,aAAa,CAAC,CAAE,WAAUE,aAAa,CAAC,CAAE,WACpEoC,OAAO,CAACrC,OACT,EAAC;EACF,IAAI6C,gBAAgB,GAAG,EAAE;EACzB,IACGH,WAAW,IACV1D,aAAa,CAACE,MAAM,IAAI,IAAI,IAC5Bd,eAAe,CAAC2B,aAAa,CAAC,CAAC,EAAEf,aAAa,CAACE,MAAM,CAAC,IAAI,CAAC,CAAC,IAC7D,CAACwD,WAAW,IACX1D,aAAa,CAACG,GAAG,IAAI,IAAI,IACzBf,eAAe,CAAC2B,aAAa,CAAC,CAAC,EAAEf,aAAa,CAACG,GAAG,CAAC,IAAI,CAAC,CAAE,EAC5D;IACAsD,eAAe,GAAG,IAAI;IACtBI,gBAAgB,IAAK,gCAA+B;IACpD,IAAIH,WAAW,EAAE;MACfG,gBAAgB,IACdzE,eAAe,CAAC2B,aAAa,CAAC,CAAC,EAAEf,aAAa,CAACE,MAAM,CAAC,IAAI,CAAC,CAAC,GACvD,oBAAmBF,aAAa,CAACE,MAAO,EAAC,CAAC4D,KAAK,GAC/C,EAAC;IACV,CAAC,MAAM;MACLD,gBAAgB,IACdzE,eAAe,CAAC2B,aAAa,CAAC,CAAC,EAAEf,aAAa,CAACG,GAAG,CAAC,IAAI,CAAC,CAAC,GACpD,iBAAgBH,aAAa,CAACG,GAAI,EAAC,CAAC2D,KAAK,GACzC,EAAC;IACV;EACF;EACA,IAAIN,SAAS,EAAE;IACb,IAAIC,eAAe,EAAE;MACnB,OAAQ,iFAAgF,CACrFK,KAAK;IACV,CAAC,MAAM;MACL,OAAQ,EAAC;IACX;EACF,CAAC,MAAM;IACL,OAAOF,aAAa,GAAGC,gBAAgB;EACzC;AACF"}
|
|
1
|
+
{"version":3,"file":"Version.js","names":["frodo","Color","compareVersions","fs","os","path","fileURLToPath","getVersion","getAllVersions","utils","version","VERSION_CACHE_FILE","homedir","VERSION_CHECK_INTERVAL","GITHUB_REPOS_URL","GITHUB_RELEASES_PATH_CLI","NPM_BASE_URL","NPM_PACKAGE_PATH_CLI","ENDPOINTS","base","versionObject","last_checked","github","npm","__dirname","dirname","import","meta","url","enable","pkg","JSON","parse","readFileSync","resolve","getCliVersion","getLibVersion","extractGithubReleaseInfo","data","release","type","published_at","r","find","rel","prerelease","tag_name","replace","extractNpmReleaseInfo","latest","time","getRemoteVersionData","useCache","existsSync","Math","floor","Date","now","allVersions","result","forEach","item","Array","isArray","push","element","writeFileSync","stringify","getBinaryName","basename","process","execPath","getVersions","checkOnly","updateAvailable","usingBinary","e","versionString","newVersionString","green"],"sources":["../../src/utils/Version.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport Color from 'colors';\nimport { compareVersions } from 'compare-versions';\nimport fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst { getVersion, getAllVersions } = frodo.utils.version;\n\nconst VERSION_CACHE_FILE = `${os.homedir()}/.frodo/Versions.json`;\nconst VERSION_CHECK_INTERVAL = 86400;\n\nconst GITHUB_REPOS_URL = `https://api.github.com`;\nconst GITHUB_RELEASES_PATH_CLI = `/repos/rockcarver/frodo-cli/releases`;\n\nconst NPM_BASE_URL = `https://registry.npmjs.org`;\nconst NPM_PACKAGE_PATH_CLI = `/@rockcarver/frodo-cli`;\n\nconst ENDPOINTS = [\n {\n base: GITHUB_REPOS_URL,\n path: GITHUB_RELEASES_PATH_CLI,\n },\n {\n base: NPM_BASE_URL,\n path: NPM_PACKAGE_PATH_CLI,\n },\n];\n\nlet versionObject = {\n last_checked: 0,\n github: '',\n npm: '',\n};\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nColor.enable();\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nfunction getCliVersion() {\n return `${pkg.version}`;\n}\n\nfunction getLibVersion() {\n return getVersion();\n}\n\nfunction extractGithubReleaseInfo(data) {\n const release = {\n type: 'github',\n version: '',\n published_at: '',\n };\n // find first stable release\n const r = data.find((rel) => rel.prerelease == false);\n release.version = r.tag_name.replace('v', '');\n release.published_at = r.published_at;\n return release;\n}\n\nfunction extractNpmReleaseInfo(data) {\n const release = {\n type: 'npm',\n version: '',\n published_at: '',\n };\n // stable release\n release.version = data[`dist-tags`].latest;\n release.published_at = data.time[data[`dist-tags`].latest];\n return release;\n}\n\nasync function getRemoteVersionData() {\n let useCache = true;\n if (fs.existsSync(VERSION_CACHE_FILE)) {\n const data = fs.readFileSync(VERSION_CACHE_FILE, 'utf8');\n versionObject = JSON.parse(data);\n if (\n versionObject.last_checked + VERSION_CHECK_INTERVAL <\n Math.floor(Date.now() / 1000)\n ) {\n useCache = false;\n }\n } else {\n useCache = false;\n }\n\n if (!useCache) {\n const allVersions = [];\n const result = await getAllVersions(ENDPOINTS);\n result.forEach((item) => {\n if (Array.isArray(item['value'].data)) {\n allVersions.push(extractGithubReleaseInfo(item['value'].data));\n } else {\n allVersions.push(extractNpmReleaseInfo(item['value'].data));\n }\n });\n allVersions.forEach((element) => {\n // cli\n if (element.type == 'github') {\n versionObject.github = element.version;\n } else {\n versionObject.npm = element.version;\n }\n });\n versionObject.last_checked = Math.floor(Date.now() / 1000);\n fs.writeFileSync(\n VERSION_CACHE_FILE,\n JSON.stringify(versionObject, null, 2)\n );\n }\n}\n\nfunction getBinaryName() {\n return path.basename(process.execPath);\n}\n\nexport async function getVersions(checkOnly: boolean) {\n let updateAvailable = false;\n let usingBinary = false;\n if (getBinaryName() === 'frodo' || getBinaryName() === 'frodo.exe') {\n usingBinary = true;\n }\n try {\n await getRemoteVersionData();\n } catch (e) {\n // Do not report error if remote version can not be obtained.\n // Just silently report installed version\n versionObject = {\n last_checked: 0,\n github: null,\n npm: null,\n };\n }\n\n let versionString = `You are running the ${\n usingBinary ? 'binary release' : 'NPM package'\n }.`;\n\n versionString += `\\nInstalled versions:`;\n versionString += `\\ncli: v${getCliVersion()}\\nlib: v${getLibVersion()}\\nnode: ${\n process.version\n }`;\n let newVersionString = '';\n if (\n (usingBinary &&\n versionObject.github != null &&\n compareVersions(getCliVersion(), versionObject.github) == -1) ||\n (!usingBinary &&\n versionObject.npm != null &&\n compareVersions(getCliVersion(), versionObject.npm) == -1)\n ) {\n updateAvailable = true;\n newVersionString += `\\n\\nNewer version(s) available`;\n if (usingBinary) {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.github) == -1\n ? `\\ncli (github): v${versionObject.github}`.green\n : ``;\n } else {\n newVersionString +=\n compareVersions(getCliVersion(), versionObject.npm) == -1\n ? `\\ncli (npm): v${versionObject.npm}`.green\n : ``;\n }\n }\n if (checkOnly) {\n if (updateAvailable) {\n return `A new version of frodo is available.\\nPlease run 'frodo -v' for more details.\\n`\n .green;\n } else {\n return ``;\n }\n } else {\n return versionString + newVersionString;\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rockcarver/frodo-cli",
|
|
3
|
-
"version": "2.0.0-
|
|
3
|
+
"version": "2.0.0-50",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A command line interface to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
|
|
6
6
|
"keywords": [
|
|
@@ -29,18 +29,31 @@
|
|
|
29
29
|
},
|
|
30
30
|
"main": "esm/launch.js",
|
|
31
31
|
"scripts": {
|
|
32
|
-
"test": "
|
|
33
|
-
"test:local": "npm run build && node --experimental-vm-modules
|
|
32
|
+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
33
|
+
"test:local": "npm run build && node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
34
34
|
"test:debug": "node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --verbose=true --silent=false",
|
|
35
|
-
"lint": "
|
|
36
|
-
"lint:fix": "
|
|
37
|
-
"build": "
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
35
|
+
"lint": "eslint --ext .ts --ignore-path .gitignore .",
|
|
36
|
+
"lint:fix": "eslint --fix --ext .ts --ignore-path .gitignore .",
|
|
37
|
+
"build": "tsc && npm run build:local && npm run build:binary",
|
|
38
|
+
"clean-esm": "rimraf esm",
|
|
39
|
+
"transpile-esm": "babel --out-dir esm --extensions \".ts\" --source-maps --config-file ./babel.config.esm.json src",
|
|
40
|
+
"build:local": "tsc && npm run clean-esm && npm run transpile-esm && npm run clean-cjs && npm run transpile-cjs",
|
|
41
|
+
"clean-cjs": "rimraf cjs",
|
|
42
|
+
"transpile-cjs": "babel --out-dir cjs --extensions \".ts\" --source-maps --config-file ./babel.config.cjs.json src && echo {\\\"type\\\": \\\"commonjs\\\"} > cjs/package.json",
|
|
43
|
+
"dist-pkg": "pkg -C Gzip -t node18 --config package.json -o frodo cjs/app.js",
|
|
44
|
+
"dist-pkg-linux": "pkg -C Gzip -t node18-linux --config package.json -o frodo-linux cjs/app.js",
|
|
45
|
+
"dist-pkg-macos": "pkg -C Gzip -t node18-macos --config package.json -o frodo-macos cjs/app.js",
|
|
46
|
+
"dist-pkg-win": "pkg -C Gzip -t node18-win --config package.json -o frodo.exe cjs/app.js",
|
|
47
|
+
"build:binary": "tsc && npm run clean-cjs && npm run transpile-cjs && npm run dist-pkg",
|
|
48
|
+
"link-frodo-lib": "npm link ../frodo-lib",
|
|
49
|
+
"watch": "npm run link-frodo-lib && babel --watch --out-dir esm --extensions \".ts\" --source-maps --config-file ./babel.config.esm.json src"
|
|
41
50
|
},
|
|
42
51
|
"jest": {
|
|
43
|
-
"testTimeout": 30000
|
|
52
|
+
"testTimeout": 30000,
|
|
53
|
+
"testMatch": [
|
|
54
|
+
"**/?(*.)(test).js"
|
|
55
|
+
],
|
|
56
|
+
"globalSetup": "./global-jest-setup.js"
|
|
44
57
|
},
|
|
45
58
|
"contributors": [
|
|
46
59
|
{
|
|
@@ -59,6 +72,14 @@
|
|
|
59
72
|
"name": "Ali Falahi",
|
|
60
73
|
"email": "ali@falahi.com"
|
|
61
74
|
},
|
|
75
|
+
{
|
|
76
|
+
"name": "Huston Franklin",
|
|
77
|
+
"email": "hfranklin@trivir.com"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "Preston Hales",
|
|
81
|
+
"email": "phales@trivir.com"
|
|
82
|
+
},
|
|
62
83
|
{
|
|
63
84
|
"name": "Nick Hangartner",
|
|
64
85
|
"email": "nhangartner@gmail.com"
|
|
@@ -80,33 +101,32 @@
|
|
|
80
101
|
"bin": {
|
|
81
102
|
"frodo": "./esm/launch.js"
|
|
82
103
|
},
|
|
83
|
-
"babel": {
|
|
84
|
-
"plugins": [
|
|
85
|
-
"@babel/plugin-syntax-import-assertions"
|
|
86
|
-
]
|
|
87
|
-
},
|
|
88
104
|
"pkg": {
|
|
89
105
|
"assets": [
|
|
106
|
+
"package.json",
|
|
90
107
|
"node_modules/@rockcarver/frodo-lib/cjs/ops/templates/*.json",
|
|
91
108
|
"node_modules/@rockcarver/frodo-lib/cjs/ops/templates/**/*.json",
|
|
92
109
|
"node_modules/@rockcarver/frodo-lib/mocks/**/*.har"
|
|
93
110
|
],
|
|
94
111
|
"scripts": [
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
112
|
+
"cjs/cli/**/*.js",
|
|
113
|
+
"cjs/ops/**/*.js",
|
|
114
|
+
"cjs/storage/**/*.js",
|
|
115
|
+
"cjs/utils/**/*.js"
|
|
99
116
|
]
|
|
100
117
|
},
|
|
101
118
|
"dependencies": {
|
|
102
|
-
"@rockcarver/frodo-lib": "2.0.0-
|
|
119
|
+
"@rockcarver/frodo-lib": "2.0.0-71",
|
|
103
120
|
"chokidar": "^3.5.3",
|
|
104
121
|
"cli-progress": "^3.11.2",
|
|
105
122
|
"cli-table3": "^0.6.3",
|
|
106
123
|
"colors": "^1.4.0",
|
|
107
|
-
"commander": "^
|
|
108
|
-
"compare-versions": "^
|
|
124
|
+
"commander": "^11.0.0",
|
|
125
|
+
"compare-versions": "^6.1.0",
|
|
109
126
|
"fs-extra": "^11.1.1",
|
|
127
|
+
"fuzzy": "^0.1.3",
|
|
128
|
+
"inquirer": "^8.2.5",
|
|
129
|
+
"inquirer-autocomplete-prompt": "^2.0.0",
|
|
110
130
|
"nanospinner": "^1.1.0",
|
|
111
131
|
"properties-reader": "^2.2.0",
|
|
112
132
|
"replaceall": "^0.1.6",
|
|
@@ -116,6 +136,7 @@
|
|
|
116
136
|
"yesno": "^0.4.0"
|
|
117
137
|
},
|
|
118
138
|
"devDependencies": {
|
|
139
|
+
"@babel/cli": "^7.22.5",
|
|
119
140
|
"@babel/eslint-parser": "^7.18.9",
|
|
120
141
|
"@babel/plugin-syntax-import-assertions": "^7.20.0",
|
|
121
142
|
"@babel/plugin-transform-modules-commonjs": "^7.19.6",
|
|
@@ -124,29 +145,26 @@
|
|
|
124
145
|
"@types/colors": "^1.2.1",
|
|
125
146
|
"@types/fs-extra": "^11.0.1",
|
|
126
147
|
"@types/jest": "^29.2.3",
|
|
127
|
-
"@types/node": "^
|
|
128
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
129
|
-
"@typescript-eslint/parser": "^5.
|
|
148
|
+
"@types/node": "^20.5.8",
|
|
149
|
+
"@typescript-eslint/eslint-plugin": "^6.5.0",
|
|
150
|
+
"@typescript-eslint/parser": "^6.5.0",
|
|
151
|
+
"@yao-pkg/pkg": "^5.11.0",
|
|
130
152
|
"babel-plugin-transform-import-meta": "^2.1.1",
|
|
131
153
|
"del": "^6.0.0",
|
|
132
154
|
"eslint": "^8.28.0",
|
|
133
|
-
"eslint-config-
|
|
134
|
-
"eslint-
|
|
135
|
-
"eslint-plugin-import": "^2.
|
|
155
|
+
"eslint-config-prettier": "^9.0.0",
|
|
156
|
+
"eslint-plugin-deprecation": "^2.0.0",
|
|
157
|
+
"eslint-plugin-import": "^2.28.0",
|
|
136
158
|
"eslint-plugin-jest": "^27.1.5",
|
|
137
159
|
"eslint-plugin-jsx-a11y": "^6.6.1",
|
|
138
|
-
"eslint-plugin-prettier": "^
|
|
160
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
139
161
|
"eslint-plugin-react": "^7.31.11",
|
|
140
162
|
"eslint-plugin-react-hooks": "^4.3.0",
|
|
141
|
-
"
|
|
142
|
-
"gulp-babel": "^8.0.0",
|
|
143
|
-
"gulp-install": "^1.1.0",
|
|
144
|
-
"gulp-rename": "^2.0.0",
|
|
145
|
-
"gulp-sourcemaps": "^3.0.0",
|
|
163
|
+
"eslint-plugin-simple-import-sort": "^10.0.0",
|
|
146
164
|
"jest": "^29.3.1",
|
|
147
165
|
"map-stream": "^0.0.7",
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"typescript": "^
|
|
166
|
+
"prettier": "^3.0.3",
|
|
167
|
+
"rimraf": "^5.0.1",
|
|
168
|
+
"typescript": "^5.2.2"
|
|
151
169
|
}
|
|
152
170
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme-delete.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","beforeEach","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importTestThemesCmd","cwd","describe","it","done","deleteThemeCmd","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toContain"],"sources":["cli/theme/theme-delete.e2e.test_.ts"],"sourcesContent":["/* eslint-disable no-console */\n// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * Run once before running the suites in this file\n */\nbeforeAll(async () => {\n //\n});\n\n/**\n * Run before every test in every suite in this file\n */\nbeforeEach(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status && deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import test themes\n const importTestThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importTestThemesCmd.status && importTestThemesCmd.status > 0) {\n console.error(importTestThemesCmd.stderr.toString());\n console.log(importTestThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme delete', () => {\n it('\"frodo theme delete -n Zardoz\": should delete the Zardoz theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'Zardoz',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted Zardoz.', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -n DoesNotExist\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'DoesNotExist',\n 'frodo-dev',\n ]);\n const expected = ['✖ Error: DoesNotExist not found', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e06\": should delete the 4ded6d91-ceea-400a-ae3f-42209f1b0e06 (Zardoz) theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e06',\n 'frodo-dev',\n ]);\n const expected = [\n '✔ Deleted 4ded6d91-ceea-400a-ae3f-42209f1b0e06.',\n '',\n ].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e07\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e07',\n 'frodo-dev',\n ]);\n const expected = [\n '✖ Error: 4ded6d91-ceea-400a-ae3f-42209f1b0e07 not found',\n '',\n ].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -a\": should delete all themes', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-a',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted all realm themes.', ''].join('\\n');\n const chunks: Uint8Array[] = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme-list.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importBaselineThemesCmd","cwd","describe","it","done","themeList","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toBe","expectedLong"],"sources":["cli/theme/theme-list.e2e.test_.ts"],"sourcesContent":["/* eslint-disable no-console */\n// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * delete all themes and import baseline and additional test themes\n */\nbeforeAll(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status && deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import baseline themes\n const importBaselineThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importBaselineThemesCmd.status && importBaselineThemesCmd.status > 0) {\n console.error(importBaselineThemesCmd.stderr.toString());\n console.log(importBaselineThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme list', () => {\n it('\"frodo theme list\": should list the names of the default themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', 'frodo-dev']);\n const expected = [\n 'Contrast',\n 'Highlander',\n 'Robroy',\n 'Starter Theme',\n 'Zardoz',\n '',\n ].join('\\n');\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n const expectedLong = [\n 'Name │Id │Default',\n 'Contrast │cd6c93e2-52e2-4340-9770-66a588343841│ ',\n 'Highlander │00203891-dde0-4114-b27a-219ae0b43a61│ ',\n 'Robroy │b82755e8-fe9a-4d27-b66b-45e37ae12345│ ',\n 'Starter Theme│86ce2f64-586d-44fe-8593-b12a85aac68d│Yes ',\n 'Zardoz │4ded6d91-ceea-400a-ae3f-42209f1b0e06│ ',\n '',\n ].join('\\n');\n\n it('\"frodo theme list -l\": should list the names, ids, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '-l', 'frodo-dev']);\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme list --long\": should list the names, status, and default flag of the baseline themes', (done) => {\n const themeList = spawn('frodo', ['theme', 'list', '--long', 'frodo-dev']);\n\n const chunks: Uint8Array[] = [];\n themeList.stdout.on('data', (chunk) => {\n chunks.push(chunk);\n });\n\n themeList.stdout.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toBe(expectedLong);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import slugify from 'slugify';
|
|
3
|
-
import { frodo, state } from '@rockcarver/frodo-lib';
|
|
4
|
-
import { printMessage } from './Console';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Get a typed filename. E.g. "my-script.script.json"
|
|
8
|
-
*
|
|
9
|
-
* @param name The name of the file
|
|
10
|
-
* @param type The type of the file, e.g. script, idp, etc.
|
|
11
|
-
* @param suffix The suffix of the file, e.g. json, xml, etc. Defaults to json.
|
|
12
|
-
* @returns The typed filename
|
|
13
|
-
*/
|
|
14
|
-
export function getTypedFilename(name, type, suffix = 'json') {
|
|
15
|
-
const slug = slugify(name.replace(/^http(s?):\/\//, ''));
|
|
16
|
-
return `${slug}.${type}.${suffix}`;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Save JSON object to file
|
|
21
|
-
*
|
|
22
|
-
* @param data data object
|
|
23
|
-
* @param filename file name
|
|
24
|
-
*/
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
-
export function saveJsonToFile(data, filename) {
|
|
27
|
-
const exportData = data;
|
|
28
|
-
if (!exportData.meta) {
|
|
29
|
-
exportData.meta = frodo.utils.impex.getMetadata();
|
|
30
|
-
}
|
|
31
|
-
fs.writeFile(filename, JSON.stringify(exportData, null, 2), err => {
|
|
32
|
-
if (err) {
|
|
33
|
-
return printMessage(`ERROR - can't save ${filename}`, 'error');
|
|
34
|
-
}
|
|
35
|
-
return '';
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
export function saveToFile(type, data, identifier, filename) {
|
|
39
|
-
const exportData = {};
|
|
40
|
-
exportData['meta'] = frodo.utils.impex.getMetadata();
|
|
41
|
-
exportData[type] = {};
|
|
42
|
-
if (Array.isArray(data)) {
|
|
43
|
-
data.forEach(element => {
|
|
44
|
-
exportData[type][element[identifier]] = element;
|
|
45
|
-
});
|
|
46
|
-
} else {
|
|
47
|
-
exportData[type][data[identifier]] = data;
|
|
48
|
-
}
|
|
49
|
-
fs.writeFile(filename, JSON.stringify(exportData, null, 2), err => {
|
|
50
|
-
if (err) {
|
|
51
|
-
return printMessage(`ERROR - can't save ${type} to file`, 'error');
|
|
52
|
-
}
|
|
53
|
-
return '';
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Save text data to file
|
|
59
|
-
* @param data text data
|
|
60
|
-
* @param filename file name
|
|
61
|
-
* @return true if successful, false otherwise
|
|
62
|
-
*/
|
|
63
|
-
export function saveTextToFile(data, filename) {
|
|
64
|
-
try {
|
|
65
|
-
fs.writeFileSync(filename, data);
|
|
66
|
-
return true;
|
|
67
|
-
} catch (error) {
|
|
68
|
-
printMessage(`ERROR - can't save ${filename}`, 'error');
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/*
|
|
74
|
-
* Output str in title case
|
|
75
|
-
*
|
|
76
|
-
* e.g.: 'ALL UPPERCASE AND all lowercase' = 'All Uppercase And All Lowercase'
|
|
77
|
-
*/
|
|
78
|
-
export function titleCase(input) {
|
|
79
|
-
const str = input.toString();
|
|
80
|
-
const splitStr = str.toLowerCase().split(' ');
|
|
81
|
-
for (let i = 0; i < splitStr.length; i += 1) {
|
|
82
|
-
splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].slice(1);
|
|
83
|
-
}
|
|
84
|
-
return splitStr.join(' ');
|
|
85
|
-
}
|
|
86
|
-
export function getRealmString() {
|
|
87
|
-
const realm = state.getRealm();
|
|
88
|
-
return realm.split('/').reduce((result, item) => `${result}${titleCase(item)}`, '');
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=ExportImportUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExportImportUtils.js","names":["fs","slugify","frodo","state","printMessage","getTypedFilename","name","type","suffix","slug","replace","saveJsonToFile","data","filename","exportData","meta","utils","impex","getMetadata","writeFile","JSON","stringify","err","saveToFile","identifier","Array","isArray","forEach","element","saveTextToFile","writeFileSync","error","titleCase","input","str","toString","splitStr","toLowerCase","split","i","length","charAt","toUpperCase","slice","join","getRealmString","realm","getRealm","reduce","result","item"],"sources":["utils/ExportImportUtils.ts"],"sourcesContent":["import fs from 'fs';\nimport slugify from 'slugify';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { printMessage } from './Console';\n\n/**\n * Get a typed filename. E.g. \"my-script.script.json\"\n *\n * @param name The name of the file\n * @param type The type of the file, e.g. script, idp, etc.\n * @param suffix The suffix of the file, e.g. json, xml, etc. Defaults to json.\n * @returns The typed filename\n */\nexport function getTypedFilename(\n name: string,\n type: string,\n suffix = 'json'\n): string {\n const slug = slugify(name.replace(/^http(s?):\\/\\//, ''));\n return `${slug}.${type}.${suffix}`;\n}\n\n/**\n * Save JSON object to file\n *\n * @param data data object\n * @param filename file name\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function saveJsonToFile(data: any, filename: string) {\n const exportData = data;\n if (!exportData.meta) {\n exportData.meta = frodo.utils.impex.getMetadata();\n }\n fs.writeFile(filename, JSON.stringify(exportData, null, 2), (err) => {\n if (err) {\n return printMessage(`ERROR - can't save ${filename}`, 'error');\n }\n return '';\n });\n}\n\nexport function saveToFile(type, data, identifier, filename) {\n const exportData = {};\n exportData['meta'] = frodo.utils.impex.getMetadata();\n exportData[type] = {};\n\n if (Array.isArray(data)) {\n data.forEach((element) => {\n exportData[type][element[identifier]] = element;\n });\n } else {\n exportData[type][data[identifier]] = data;\n }\n fs.writeFile(filename, JSON.stringify(exportData, null, 2), (err) => {\n if (err) {\n return printMessage(`ERROR - can't save ${type} to file`, 'error');\n }\n return '';\n });\n}\n\n/**\n * Save text data to file\n * @param data text data\n * @param filename file name\n * @return true if successful, false otherwise\n */\nexport function saveTextToFile(data: string, filename: string): boolean {\n try {\n fs.writeFileSync(filename, data);\n return true;\n } catch (error) {\n printMessage(`ERROR - can't save ${filename}`, 'error');\n return false;\n }\n}\n\n/*\n * Output str in title case\n *\n * e.g.: 'ALL UPPERCASE AND all lowercase' = 'All Uppercase And All Lowercase'\n */\nexport function titleCase(input) {\n const str = input.toString();\n const splitStr = str.toLowerCase().split(' ');\n for (let i = 0; i < splitStr.length; i += 1) {\n splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].slice(1);\n }\n return splitStr.join(' ');\n}\n\nexport function getRealmString() {\n const realm = state.getRealm();\n return realm\n .split('/')\n .reduce((result, item) => `${result}${titleCase(item)}`, '');\n}\n"],"mappings":"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"}
|