@codiac.io/codiac-cli 1.2.167 → 1.2.169
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/README.md +3326 -45
- package/bin/dev +16 -16
- package/bin/dev.cmd +2 -2
- package/bin/run +3 -3
- package/bin/run.cmd +3 -3
- package/codiac.json +9 -9
- package/lib/api-command-base.d.ts +0 -0
- package/lib/api-command-base.js +52 -0
- package/lib/api-command-base.js.map +1 -0
- package/lib/apis/codiac-api/common/api-client-base.d.ts +165 -165
- package/lib/apis/codiac-api/common/api-client-base.js +547 -547
- package/lib/apis/codiac-api/common/api-user-creds.d.ts +7 -7
- package/lib/apis/codiac-api/common/api-user-creds.js +18 -18
- package/lib/apis/codiac-api/common/config-loader.d.ts +6 -6
- package/lib/apis/codiac-api/common/config-loader.js +18 -18
- package/lib/apis/codiac-api/common/endpoint-spec.d.ts +17 -17
- package/lib/apis/codiac-api/common/endpoint-spec.js +27 -27
- package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +87 -87
- package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.js +367 -367
- package/lib/apis/codiac-api/common/security/auth-constants.d.ts +15 -15
- package/lib/apis/codiac-api/common/security/auth-constants.js +21 -21
- package/lib/apis/codiac-api/common/security/i-auth-client.d.ts +44 -44
- package/lib/apis/codiac-api/common/security/i-auth-client.js +2 -2
- package/lib/apis/codiac-api/common/security/token-holder.d.ts +13 -13
- package/lib/apis/codiac-api/common/security/token-holder.js +17 -17
- package/lib/apis/codiac-api/common/utils.d.ts +23 -23
- package/lib/apis/codiac-api/common/utils.js +82 -82
- package/lib/apis/codiac-api/contracts/index.d.ts +1 -1
- package/lib/apis/codiac-api/contracts/index.js +4 -4
- package/lib/apis/codiac-api/gen/client-config.d.ts +10 -10
- package/lib/apis/codiac-api/gen/client-config.js +28 -28
- package/lib/apis/codiac-api/gen/client.d.ts +1663 -1663
- package/lib/apis/codiac-api/gen/client.js +15629 -15629
- package/lib/apis/codiac-api/gen/contracts.d.ts +2722 -2722
- package/lib/apis/codiac-api/gen/contracts.js +402 -402
- package/lib/apis/codiac-api/index.d.ts +3 -3
- package/lib/apis/codiac-api/index.js +8 -8
- package/lib/apis/codiac-relay/common/api-client-base.d.ts +165 -165
- package/lib/apis/codiac-relay/common/api-client-base.js +547 -547
- package/lib/apis/codiac-relay/common/api-user-creds.d.ts +7 -7
- package/lib/apis/codiac-relay/common/api-user-creds.js +18 -18
- package/lib/apis/codiac-relay/common/config-loader.d.ts +6 -6
- package/lib/apis/codiac-relay/common/config-loader.js +18 -18
- package/lib/apis/codiac-relay/common/endpoint-spec.d.ts +17 -17
- package/lib/apis/codiac-relay/common/endpoint-spec.js +27 -27
- package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +87 -87
- package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.js +367 -367
- package/lib/apis/codiac-relay/common/security/auth-constants.d.ts +15 -15
- package/lib/apis/codiac-relay/common/security/auth-constants.js +21 -21
- package/lib/apis/codiac-relay/common/security/i-auth-client.d.ts +44 -44
- package/lib/apis/codiac-relay/common/security/i-auth-client.js +2 -2
- package/lib/apis/codiac-relay/common/security/token-holder.d.ts +13 -13
- package/lib/apis/codiac-relay/common/security/token-holder.js +17 -17
- package/lib/apis/codiac-relay/common/utils.d.ts +23 -23
- package/lib/apis/codiac-relay/common/utils.js +82 -82
- package/lib/apis/codiac-relay/contracts/index.d.ts +1 -1
- package/lib/apis/codiac-relay/contracts/index.js +4 -4
- package/lib/apis/codiac-relay/gen/client-config.d.ts +10 -10
- package/lib/apis/codiac-relay/gen/client-config.js +28 -28
- package/lib/apis/codiac-relay/gen/client.d.ts +244 -244
- package/lib/apis/codiac-relay/gen/client.js +1862 -1862
- package/lib/apis/codiac-relay/gen/contracts.d.ts +3111 -3111
- package/lib/apis/codiac-relay/gen/contracts.js +434 -434
- package/lib/apis/codiac-relay/index.d.ts +3 -3
- package/lib/apis/codiac-relay/index.js +8 -8
- package/lib/azure-rest-client.d.ts +6 -0
- package/lib/azure-rest-client.js +36 -0
- package/lib/azure-rest-client.js.map +1 -0
- package/lib/cli-common/ImagesList.js +66 -66
- package/lib/cli-common/argument-manager.d.ts +28 -28
- package/lib/cli-common/argument-manager.js +194 -194
- package/lib/cli-common/built-in-cli-user-input.d.ts +18 -18
- package/lib/cli-common/built-in-cli-user-input.js +309 -309
- package/lib/cli-common/cli-interfaces.js +6 -6
- package/lib/cli-common/command-base.d.ts +72 -72
- package/lib/cli-common/command-base.js +181 -181
- package/lib/cli-common/entities/index.d.ts +1 -1
- package/lib/cli-common/entities/index.js +4 -4
- package/lib/cli-common/entities/prompt-choice.d.ts +7 -7
- package/lib/cli-common/entities/prompt-choice.js +2 -2
- package/lib/cli-common/file-selector.d.ts +48 -48
- package/lib/cli-common/file-selector.js +186 -186
- package/lib/cli-common/i-user-input-provider.js +18 -18
- package/lib/cli-common/index.d.ts +4 -4
- package/lib/cli-common/index.js +10 -10
- package/lib/cli-common/mock-ui.d.ts +27 -27
- package/lib/cli-common/mock-ui.js +82 -82
- package/lib/cli-common/prompt-select-fuzzy.d.ts +19 -19
- package/lib/cli-common/prompt-select-fuzzy.js +118 -118
- package/lib/cli-common/tenant-contextualizer.js +435 -435
- package/lib/cli-common/test/tenant-contextualizer.spec.js +142 -142
- package/lib/cli-entities/output-format-enum.d.ts +7 -7
- package/lib/cli-entities/output-format-enum.js +11 -11
- package/lib/cli-entities/prompt-choice.js +5 -5
- package/lib/codiac-constants.d.ts +35 -35
- package/lib/codiac-constants.js +40 -40
- package/lib/codiac-entities/asset-binding.d.ts +12 -12
- package/lib/codiac-entities/asset-binding.js +17 -17
- package/lib/codiac-entities/azure-container-registry.d.ts +4 -4
- package/lib/codiac-entities/azure-container-registry.js +2 -2
- package/lib/codiac-entities/azure-service-principal.d.ts +23 -23
- package/lib/codiac-entities/azure-service-principal.js +23 -23
- package/lib/codiac-entities/cloud-account-ref.d.ts +28 -28
- package/lib/codiac-entities/cloud-account-ref.js +36 -36
- package/lib/codiac-entities/deployment-temp.js +132 -132
- package/lib/codiac-entities/i-cloud-account-ref.d.ts +5 -5
- package/lib/codiac-entities/i-cloud-account-ref.js +2 -2
- package/lib/command-base-enterprise.d.ts +121 -121
- package/lib/command-base-enterprise.js +523 -523
- package/lib/command-base-tenantless.d.ts +44 -44
- package/lib/command-base-tenantless.js +172 -172
- package/lib/commands/asset/create.d.ts +42 -42
- package/lib/commands/asset/create.js +466 -466
- package/lib/commands/asset/destroy.d.ts +20 -20
- package/lib/commands/asset/destroy.js +128 -128
- package/lib/commands/asset/helm.d.ts +23 -23
- package/lib/commands/asset/helm.js +152 -152
- package/lib/commands/asset/list.d.ts +28 -28
- package/lib/commands/asset/list.js +171 -171
- package/lib/commands/asset/probe/create.d.ts +38 -38
- package/lib/commands/asset/probe/create.js +186 -186
- package/lib/commands/asset/recycle.d.ts +23 -23
- package/lib/commands/asset/recycle.js +174 -174
- package/lib/commands/asset/view.d.ts +188 -188
- package/lib/commands/asset/view.js +1364 -1364
- package/lib/commands/asset/volume/create.d.ts +23 -23
- package/lib/commands/asset/volume/create.js +175 -175
- package/lib/commands/asset/volume/delete.d.ts +19 -19
- package/lib/commands/asset/volume/delete.js +111 -111
- package/lib/commands/asset/volume/list.d.ts +19 -19
- package/lib/commands/asset/volume/list.js +69 -69
- package/lib/commands/branch/current.d.ts +10 -10
- package/lib/commands/branch/current.js +33 -33
- package/lib/commands/branch/list.d.ts +15 -15
- package/lib/commands/branch/list.js +55 -55
- package/lib/commands/branch.d.ts +12 -12
- package/lib/commands/branch.js +41 -41
- package/lib/commands/build.d.ts +37 -37
- package/lib/commands/build.js +118 -118
- package/lib/commands/cabinet/create.d.ts +21 -21
- package/lib/commands/cabinet/create.js +107 -107
- package/lib/commands/cabinet/list.d.ts +23 -23
- package/lib/commands/cabinet/list.js +133 -133
- package/lib/commands/cabinet/obliterate.d.ts +20 -20
- package/lib/commands/cabinet/obliterate.js +82 -82
- package/lib/commands/cli.d.ts +10 -10
- package/lib/commands/cli.js +99 -99
- package/lib/commands/commit.d.ts +11 -11
- package/lib/commands/commit.js +39 -39
- package/lib/commands/config/add.d.ts +78 -78
- package/lib/commands/config/add.js +559 -559
- package/lib/commands/config/delete.d.ts +18 -18
- package/lib/commands/config/delete.js +118 -118
- package/lib/commands/config/deploy.d.ts +22 -22
- package/lib/commands/config/deploy.js +124 -124
- package/lib/commands/config/import.d.ts +27 -27
- package/lib/commands/config/import.js +195 -195
- package/lib/commands/config/view.d.ts +25 -25
- package/lib/commands/config/view.js +120 -120
- package/lib/commands/csp/login.d.ts +18 -18
- package/lib/commands/csp/login.js +108 -108
- package/lib/commands/csp/logout.d.ts +15 -15
- package/lib/commands/csp/logout.js +73 -73
- package/lib/commands/dep/create.d.ts +13 -13
- package/lib/commands/dep/create.js +40 -40
- package/lib/commands/dep/install.d.ts +9 -9
- package/lib/commands/dep/install.js +29 -29
- package/lib/commands/dep/list.d.ts +55 -55
- package/lib/commands/dep/list.js +97 -97
- package/lib/commands/dep/remove.d.ts +12 -12
- package/lib/commands/dep/remove.js +61 -61
- package/lib/commands/dep/source.d.ts +13 -13
- package/lib/commands/dep/source.js +82 -82
- package/lib/commands/dep/syncup.d.ts +11 -11
- package/lib/commands/dep/syncup.js +53 -53
- package/lib/commands/dep/unsource.d.ts +14 -14
- package/lib/commands/dep/unsource.js +67 -67
- package/lib/commands/dep/upgrade.d.ts +44 -44
- package/lib/commands/dep/upgrade.js +243 -243
- package/lib/commands/dep.d.ts +12 -12
- package/lib/commands/dep.js +50 -50
- package/lib/commands/deploy.d.ts +38 -38
- package/lib/commands/deploy.js +382 -382
- package/lib/commands/enterprise/create.d.ts +20 -20
- package/lib/commands/enterprise/create.js +97 -97
- package/lib/commands/enterprise/list.d.ts +14 -14
- package/lib/commands/enterprise/list.js +83 -83
- package/lib/commands/env/add.d.ts +22 -22
- package/lib/commands/env/add.js +199 -199
- package/lib/commands/environment/create.d.ts +19 -19
- package/lib/commands/environment/create.js +88 -88
- package/lib/commands/environment/list.d.ts +25 -25
- package/lib/commands/environment/list.js +157 -157
- package/lib/commands/filestore/capture.d.ts +31 -31
- package/lib/commands/filestore/capture.js +341 -341
- package/lib/commands/host/map.d.ts +33 -33
- package/lib/commands/host/map.js +346 -346
- package/lib/commands/identity/delete.d.ts +15 -15
- package/lib/commands/identity/delete.js +82 -82
- package/lib/commands/identity/list.d.ts +11 -11
- package/lib/commands/identity/list.js +42 -42
- package/lib/commands/identity.d.ts +22 -22
- package/lib/commands/identity.js +76 -76
- package/lib/commands/imageRegistry/capture.d.ts +27 -27
- package/lib/commands/imageRegistry/capture.js +159 -159
- package/lib/commands/imageRegistry/forget.d.ts +23 -23
- package/lib/commands/imageRegistry/forget.js +160 -160
- package/lib/commands/imageRegistry/pullSecret/set.d.ts +27 -27
- package/lib/commands/imageRegistry/pullSecret/set.js +299 -299
- package/lib/commands/imageRegistry/pullSecret/unset.d.ts +24 -24
- package/lib/commands/imageRegistry/pullSecret/unset.js +242 -242
- package/lib/commands/images/add.d.ts +25 -25
- package/lib/commands/images/add.js +75 -75
- package/lib/commands/images/list.d.ts +14 -14
- package/lib/commands/images/list.js +71 -71
- package/lib/commands/images/patch.d.ts +14 -14
- package/lib/commands/images/patch.js +92 -92
- package/lib/commands/images/remove.d.ts +12 -12
- package/lib/commands/images/remove.js +37 -37
- package/lib/commands/images/version.d.ts +16 -16
- package/lib/commands/images/version.js +64 -64
- package/lib/commands/init.d.ts +17 -17
- package/lib/commands/init.js +130 -130
- package/lib/commands/kit/create.d.ts +25 -25
- package/lib/commands/kit/create.js +141 -141
- package/lib/commands/login.d.ts +22 -22
- package/lib/commands/login.js +92 -92
- package/lib/commands/logout.d.ts +8 -8
- package/lib/commands/logout.js +36 -36
- package/lib/commands/merge.d.ts +12 -12
- package/lib/commands/merge.js +42 -42
- package/lib/commands/noc/cluster/create.d.ts +28 -28
- package/lib/commands/noc/cluster/create.js +132 -132
- package/lib/commands/noc/cluster/deinit.d.ts +17 -17
- package/lib/commands/noc/cluster/deinit.js +116 -116
- package/lib/commands/noc/cluster/destroy.d.ts +20 -20
- package/lib/commands/noc/cluster/destroy.js +137 -137
- package/lib/commands/noc/cluster/forget.d.ts +16 -16
- package/lib/commands/noc/cluster/forget.js +136 -136
- package/lib/commands/noc/cluster/grant.d.ts +24 -24
- package/lib/commands/noc/cluster/grant.js +159 -159
- package/lib/commands/noc/cluster/init.d.ts +17 -17
- package/lib/commands/noc/cluster/init.js +116 -116
- package/lib/commands/noc/cluster/list.d.ts +21 -21
- package/lib/commands/noc/cluster/list.js +83 -83
- package/lib/commands/noc/cluster/recreate.d.ts +28 -28
- package/lib/commands/noc/cluster/recreate.js +185 -185
- package/lib/commands/pkg/add.d.ts +15 -15
- package/lib/commands/pkg/add.js +42 -42
- package/lib/commands/pkg/list.d.ts +9 -9
- package/lib/commands/pkg/list.js +32 -32
- package/lib/commands/pkg/patch.d.ts +13 -13
- package/lib/commands/pkg/patch.js +78 -78
- package/lib/commands/pkg/remove.d.ts +12 -12
- package/lib/commands/pkg/remove.js +69 -69
- package/lib/commands/portal.d.ts +11 -11
- package/lib/commands/portal.js +81 -81
- package/lib/commands/publish.d.ts +21 -21
- package/lib/commands/publish.js +51 -51
- package/lib/commands/pull.d.ts +13 -13
- package/lib/commands/pull.js +29 -29
- package/lib/commands/push.d.ts +13 -13
- package/lib/commands/push.js +29 -29
- package/lib/commands/run.d.ts +35 -35
- package/lib/commands/run.js +193 -193
- package/lib/commands/secretStore/capture.d.ts +27 -27
- package/lib/commands/secretStore/capture.js +174 -174
- package/lib/commands/secretStore/forget.d.ts +20 -20
- package/lib/commands/secretStore/forget.js +146 -146
- package/lib/commands/stage.d.ts +13 -13
- package/lib/commands/stage.js +64 -64
- package/lib/commands/stash.d.ts +13 -13
- package/lib/commands/stash.js +30 -30
- package/lib/commands/status.d.ts +12 -12
- package/lib/commands/status.js +48 -48
- package/lib/commands/stop.d.ts +10 -10
- package/lib/commands/stop.js +51 -51
- package/lib/commands/switch.d.ts +11 -11
- package/lib/commands/switch.js +41 -41
- package/lib/commands/sync.d.ts +14 -14
- package/lib/commands/sync.js +20 -20
- package/lib/commands/tenant/create.d.ts +27 -27
- package/lib/commands/tenant/create.js +119 -119
- package/lib/commands/tenant/switch.d.ts +24 -24
- package/lib/commands/tenant/switch.js +108 -108
- package/lib/commands/unstage.d.ts +12 -12
- package/lib/commands/unstage.js +57 -57
- package/lib/commands/view/dashboard.d.ts +17 -0
- package/lib/commands/view/dashboard.js +88 -0
- package/lib/commands/view/dashboard.js.map +1 -0
- package/lib/commands/view/pods.d.ts +14 -0
- package/lib/commands/view/pods.js +88 -0
- package/lib/commands/view/pods.js.map +1 -0
- package/lib/commands/whereami.d.ts +15 -15
- package/lib/commands/whereami.js +122 -122
- package/lib/commands/whoami.d.ts +8 -8
- package/lib/commands/whoami.js +39 -39
- package/lib/deployment.d.ts +2 -0
- package/lib/deployment.js +7 -0
- package/lib/deployment.js.map +1 -0
- package/lib/errors/NoMembershipError.d.ts +8 -8
- package/lib/errors/NoMembershipError.js +14 -14
- package/lib/index.d.ts +1 -1
- package/lib/index.js +16 -16
- package/lib/k8s-command-base.d.ts +60 -0
- package/lib/k8s-command-base.js +204 -0
- package/lib/k8s-command-base.js.map +1 -0
- package/lib/log-update-wrapper.d.ts +24 -24
- package/lib/log-update-wrapper.js +28 -28
- package/lib/log4js-logger.d.ts +26 -26
- package/lib/log4js-logger.js +137 -137
- package/lib/ops/INTERFACES_CLI.d.ts +3 -3
- package/lib/ops/INTERFACES_CLI.js +7 -7
- package/lib/ops/LocalOps.d.ts +444 -444
- package/lib/ops/LocalOps.js +3183 -3183
- package/lib/ops/azure-container-registry-client/azure-container-registry-client.js +147 -147
- package/lib/ops/cli-path-walker.js +54 -54
- package/lib/ops/codiac-entities/dependency.d.ts +5 -5
- package/lib/ops/codiac-entities/dependency.js +10 -10
- package/lib/ops/codiac-entities/index.d.ts +1 -1
- package/lib/ops/codiac-entities/index.js +4 -4
- package/lib/ops/composite-image-registry-client.js +73 -73
- package/lib/ops/data/cli-context-repo.d.ts +61 -61
- package/lib/ops/data/cli-context-repo.js +269 -269
- package/lib/ops/data/index.d.ts +2 -2
- package/lib/ops/data/index.js +5 -5
- package/lib/ops/data/npm-config-repo.d.ts +13 -13
- package/lib/ops/data/npm-config-repo.js +64 -64
- package/lib/ops/docker-config.js +130 -130
- package/lib/ops/docker-constants.js +21 -21
- package/lib/ops/docker-credentials-store.js +237 -237
- package/lib/ops/docker-registry-api-client/docker-registry-api-client.js +288 -288
- package/lib/ops/docker-registry-api-client/entities/blob-sum.d.ts +7 -7
- package/lib/ops/docker-registry-api-client/entities/blob-sum.js +12 -12
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +5 -5
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +9 -9
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +30 -30
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +35 -35
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +55 -55
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js +51 -51
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +7 -7
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js +2 -2
- package/lib/ops/docker-registry-api-client/entities/image-repository.d.ts +31 -31
- package/lib/ops/docker-registry-api-client/entities/image-repository.js +29 -29
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +8 -8
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js +13 -13
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.d.ts +7 -7
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.js +12 -12
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +9 -9
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js +14 -14
- package/lib/ops/docker-registry-api-client/entities/manifest.d.ts +15 -15
- package/lib/ops/docker-registry-api-client/entities/manifest.js +20 -20
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.d.ts +16 -16
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.js +23 -23
- package/lib/ops/docker-registry-api-client/entities/token-response.d.ts +15 -15
- package/lib/ops/docker-registry-api-client/entities/token-response.js +14 -14
- package/lib/ops/docker-registry-api-client/entities/token.d.ts +17 -17
- package/lib/ops/docker-registry-api-client/entities/token.js +21 -21
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +4 -4
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js +9 -9
- package/lib/ops/dx-constants.d.ts +26 -26
- package/lib/ops/dx-constants.js +42 -42
- package/lib/ops/entities/ImageBuildContext.d.ts +12 -12
- package/lib/ops/entities/ImageBuildContext.js +18 -18
- package/lib/ops/entities/PipelineContext.d.ts +21 -21
- package/lib/ops/entities/PipelineContext.js +22 -22
- package/lib/ops/entities/TenantContext.d.ts +10 -10
- package/lib/ops/entities/TenantContext.js +15 -15
- package/lib/ops/entities/ThaulConfig.js +29 -29
- package/lib/ops/entities/azure-service-principal.d.ts +23 -23
- package/lib/ops/entities/azure-service-principal.js +23 -23
- package/lib/ops/entities/better-logger.js +1 -1
- package/lib/ops/entities/branch.d.ts +13 -13
- package/lib/ops/entities/branch.js +15 -15
- package/lib/ops/entities/cli-config.d.ts +48 -48
- package/lib/ops/entities/cli-config.js +60 -60
- package/lib/ops/entities/docker-image.d.ts +60 -60
- package/lib/ops/entities/docker-image.js +2 -2
- package/lib/ops/entities/helm-spec.d.ts +15 -15
- package/lib/ops/entities/helm-spec.js +22 -22
- package/lib/ops/entities/index.d.ts +4 -4
- package/lib/ops/entities/index.js +11 -11
- package/lib/ops/entities/operation-meta.d.ts +8 -8
- package/lib/ops/entities/operation-meta.js +18 -18
- package/lib/ops/entities/scaffolding.d.ts +19 -19
- package/lib/ops/entities/scaffolding.js +20 -20
- package/lib/ops/extensions/azart-identity-adapter.d.ts +19 -19
- package/lib/ops/extensions/azart-identity-adapter.js +96 -96
- package/lib/ops/extensions/npm-identity-adapter-base.d.ts +13 -13
- package/lib/ops/extensions/npm-identity-adapter-base.js +2 -2
- package/lib/ops/extensions/npmjs-identity-adapter.d.ts +13 -13
- package/lib/ops/extensions/npmjs-identity-adapter.js +63 -63
- package/lib/ops/git-ops.d.ts +8 -8
- package/lib/ops/git-ops.js +13 -13
- package/lib/ops/i-client-for-image-registry.js +16 -16
- package/lib/ops/i-identity-handler.d.ts +33 -33
- package/lib/ops/i-identity-handler.js +164 -164
- package/lib/ops/i-output-styler.js +16 -16
- package/lib/ops/index.d.ts +12 -12
- package/lib/ops/index.js +14 -14
- package/lib/ops/json-utils.js +58 -58
- package/lib/ops/no-style-output-styler.js +29 -29
- package/lib/ops/oauth2-client.ts/oauth2-client.d.ts +23 -23
- package/lib/ops/oauth2-client.ts/oauth2-client.js +63 -63
- package/lib/ops/project-initializer.d.ts +36 -36
- package/lib/ops/project-initializer.js +218 -218
- package/lib/ops/scaffolding/base-scaffolding.d.ts +7 -7
- package/lib/ops/scaffolding/base-scaffolding.js +20 -20
- package/lib/ops/scaffolding/codiac-api-scaffolding.d.ts +7 -7
- package/lib/ops/scaffolding/codiac-api-scaffolding.js +63 -63
- package/lib/ops/scaffolding/typescript-scaffolding.d.ts +15 -15
- package/lib/ops/scaffolding/typescript-scaffolding.js +162 -162
- package/lib/ops/test/mock-ui.d.ts +26 -26
- package/lib/ops/test/mock-ui.js +87 -87
- package/lib/ops/test/test-extensions.d.ts +13 -13
- package/lib/ops/test/test-extensions.js +70 -70
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +2 -2
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js +54 -54
- package/lib/ops/test/when-git-branchline-is-attempted.spec.d.ts +2 -2
- package/lib/ops/test/when-git-branchline-is-attempted.spec.js +37 -37
- package/lib/ops/test/when-versions-are-parsed.spec.d.ts +2 -2
- package/lib/ops/test/when-versions-are-parsed.spec.js +59 -59
- package/lib/ops/throwing-user-input-provider.js +36 -36
- package/lib/prettify.d.ts +7 -7
- package/lib/prettify.js +23 -23
- package/lib/read-stdin.d.ts +2 -2
- package/lib/read-stdin.js +28 -28
- package/lib/relay/contracts/contracts.d.ts +207 -207
- package/lib/relay/contracts/contracts.js +229 -229
- package/lib/relay/data/aws-k8s-versions.d.ts +6 -0
- package/lib/relay/data/aws-k8s-versions.js +16 -0
- package/lib/relay/data/aws-k8s-versions.js.map +1 -0
- package/lib/relay/data/aws-node-types.d.ts +37 -0
- package/lib/relay/data/aws-node-types.js +4246 -0
- package/lib/relay/data/aws-node-types.js.map +1 -0
- package/lib/relay/data/aws-regions.d.ts +6 -0
- package/lib/relay/data/aws-regions.js +34 -0
- package/lib/relay/data/aws-regions.js.map +1 -0
- package/lib/relay/extended-relay-client.d.ts +27 -27
- package/lib/relay/extended-relay-client.js +27 -27
- package/lib/relay/relay-container.d.ts +41 -41
- package/lib/relay/relay-container.js +297 -297
- package/lib/relay/wsclient/relay-socket-listener.d.ts +68 -68
- package/lib/relay/wsclient/relay-socket-listener.js +164 -164
- package/lib/relay/wsclient/relay-websocket-client.d.ts +33 -33
- package/lib/relay/wsclient/relay-websocket-client.js +178 -178
- package/lib/relay/wsclient/rx-websocket-subject.d.ts +25 -25
- package/lib/relay/wsclient/rx-websocket-subject.js +133 -133
- package/lib/relay/wsclient/socket-contracts.d.ts +22 -22
- package/lib/relay/wsclient/socket-contracts.js +2 -2
- package/lib/standard-probes.d.ts +5 -5
- package/lib/standard-probes.js +21 -21
- package/lib/uilogic/build-configurator.d.ts +21 -21
- package/lib/uilogic/build-configurator.js +110 -110
- package/lib/uilogic/cloud-provider-contextualizer.d.ts +46 -46
- package/lib/uilogic/cloud-provider-contextualizer.js +193 -193
- package/lib/uilogic/cloud-resource-configurator-factory.d.ts +41 -41
- package/lib/uilogic/cloud-resource-configurator-factory.js +157 -157
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.d.ts +11 -0
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js +16 -0
- package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js.map +1 -0
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.d.ts +5 -0
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.js +536 -0
- package/lib/uilogic/cloud-resource-configurators/aws-node-types.js.map +1 -0
- package/lib/uilogic/cloud-resource-configurators/aws-regions.d.ts +10 -0
- package/lib/uilogic/cloud-resource-configurators/aws-regions.js +34 -0
- package/lib/uilogic/cloud-resource-configurators/aws-regions.js.map +1 -0
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +38 -38
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js +347 -347
- package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +77 -77
- package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +42 -42
- package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +247 -247
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +110 -110
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js +781 -781
- package/lib/uilogic/cloud-resource-configurators/azure-types.js +9 -9
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +24 -24
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +105 -105
- package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +16 -16
- package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.js +44 -44
- package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +18 -18
- package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +61 -61
- package/lib/uilogic/enterprise-contextualizer.d.ts +76 -76
- package/lib/uilogic/enterprise-contextualizer.js +670 -670
- package/lib/uilogic/environment-contextualizer.d.ts +15 -15
- package/lib/uilogic/environment-contextualizer.js +42 -42
- package/lib/uilogic/i-cluster-configurator.d.ts +9 -9
- package/lib/uilogic/i-cluster-configurator.js +2 -2
- package/lib/uilogic/i-login-configurator.d.ts +6 -6
- package/lib/uilogic/i-login-configurator.js +2 -2
- package/lib/uilogic/i-registry-configurator.d.ts +6 -6
- package/lib/uilogic/i-registry-configurator.js +2 -2
- package/lib/uilogic/i-secret-store-configurator.d.ts +7 -7
- package/lib/uilogic/i-secret-store-configurator.js +2 -2
- package/lib/uilogic/image-configurator.d.ts +133 -133
- package/lib/uilogic/image-configurator.js +577 -577
- package/lib/uilogic/image-contextualizer.d.ts +24 -24
- package/lib/uilogic/image-contextualizer.js +89 -89
- package/lib/uilogic/image-registry-contextualizer.d.ts +28 -28
- package/lib/uilogic/image-registry-contextualizer.js +126 -126
- package/lib/uilogic/index.d.ts +9 -9
- package/lib/uilogic/index.js +13 -13
- package/lib/uilogic/prompt-select-fuzzy.js +138 -138
- package/lib/uilogic/render-methods.d.ts +12 -12
- package/lib/uilogic/render-methods.js +64 -64
- package/lib/uilogic/tenant-contextualizer.d.ts +79 -79
- package/lib/uilogic/tenant-contextualizer.js +573 -573
- package/lib/user-context-loader.d.ts +60 -60
- package/lib/user-context-loader.js +183 -183
- package/oclif.manifest.json +45 -1
- package/package.json +150 -150
- package/scaffolding/api/.gitignore-scaffolding +68 -68
- package/scaffolding/api/.vscode/launch.json +16 -16
- package/scaffolding/api/.vscode/settings.json +7 -7
- package/scaffolding/api/.vscode/tasks.json +15 -15
- package/scaffolding/api/src/app-config.json +2 -2
- package/scaffolding/api/src/index.ts-scaffolding +13 -13
- package/scaffolding/api/src/myApiDef.ts-scaffolding +25 -25
- package/scaffolding/default/.gitignore-scaffolding +2 -2
- package/scaffolding/typescript/.gitignore-scaffolding +69 -69
- package/scaffolding/typescript/.vscode/launch.json +16 -16
- package/scaffolding/typescript/.vscode/settings.json +7 -7
- package/scaffolding/typescript/.vscode/tasks.json +15 -15
|
@@ -1,310 +1,310 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BuiltInCliUserInput = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const path = require("path");
|
|
6
|
-
const core_1 = require("@oclif/core");
|
|
7
|
-
const inquirer = require("inquirer");
|
|
8
|
-
const file_selector_1 = require("./file-selector");
|
|
9
|
-
const inversify_1 = require("inversify");
|
|
10
|
-
// // Moved to ops-common
|
|
11
|
-
// export class FolderSelectionOptions {
|
|
12
|
-
// /** The path under which the user is allowed to navigate (optional: Defaults to the current path).
|
|
13
|
-
// * This path is also acts as the parent folder from which any relative path gets derived. */
|
|
14
|
-
// public root?: string
|
|
15
|
-
// /** The folder to begin the search within (optional: defaults to the current path) */
|
|
16
|
-
// public startingPath?: string;
|
|
17
|
-
// /** Causes the selection to be returned as a path relative to "root" (optional: defaults to false). */
|
|
18
|
-
// public asRelative?: boolean;
|
|
19
|
-
// }
|
|
20
|
-
// // Moved to ops-common
|
|
21
|
-
// export class FileSelectionOptions extends FolderSelectionOptions {
|
|
22
|
-
// /** List of file extensions (without the period '.') on which to filter the available files. */
|
|
23
|
-
// public extensions?: string[];
|
|
24
|
-
// }
|
|
25
|
-
// /** Just documenting the options arg from cli-select-file, cuz they dont have a type def. */
|
|
26
|
-
// type CliSelectFileOptions = {
|
|
27
|
-
// /** integer, Default value is 10 */
|
|
28
|
-
// pageSize?: number,
|
|
29
|
-
// /** Defaults to true to allow for selection of multiple files */
|
|
30
|
-
// multi?: boolean,
|
|
31
|
-
// /** Files that will initially be selected */
|
|
32
|
-
// selectedFiles?: string[],
|
|
33
|
-
// /** Defaults to true */
|
|
34
|
-
// clearConsole?: boolean,
|
|
35
|
-
// /** Where the user will initially be prompted to select files
|
|
36
|
-
// Defaults to process.cwd() */
|
|
37
|
-
// startingPath?: string,
|
|
38
|
-
// /** The top level directory the user has access to
|
|
39
|
-
// Defaults to process.cwd() */
|
|
40
|
-
// root?: string,
|
|
41
|
-
// /** Return false for any directory that you do not want to appear in the cli
|
|
42
|
-
// ```
|
|
43
|
-
// directoryFilter?: (directoryName) => {
|
|
44
|
-
// return !/node_modules$/gi.test(directoryName);
|
|
45
|
-
// },
|
|
46
|
-
// ```
|
|
47
|
-
// */
|
|
48
|
-
// directoryFilter?: (directoryName: string) => boolean,
|
|
49
|
-
// /** Return false for any file that you do not want to appear in the cli
|
|
50
|
-
// ```
|
|
51
|
-
// fileFilter: (fileName) => {
|
|
52
|
-
// return !/index.js$/gi.test(fileName);
|
|
53
|
-
// },
|
|
54
|
-
// ```
|
|
55
|
-
// */
|
|
56
|
-
// fileFilter?: (fileName: string) => boolean
|
|
57
|
-
// }
|
|
58
|
-
// type CLISelectFileResult = {
|
|
59
|
-
// selectedFiles: string[],
|
|
60
|
-
// status: string
|
|
61
|
-
// }
|
|
62
|
-
/** Uses cli-ux and inquirer libraries to retrieve values from the user.
|
|
63
|
-
* Requires a TTY console.
|
|
64
|
-
* @see https://www.npmjs.com/package/inquirer
|
|
65
|
-
*/
|
|
66
|
-
let BuiltInCliUserInput = class BuiltInCliUserInput {
|
|
67
|
-
constructor() {
|
|
68
|
-
}
|
|
69
|
-
// ----------------------------------------------------
|
|
70
|
-
// ALSO: Consider using this lib...
|
|
71
|
-
// "prompts"
|
|
72
|
-
// https://www.npmjs.com/package/prompts
|
|
73
|
-
// (good docs, adoption, interface, and smooth ux)
|
|
74
|
-
// * text
|
|
75
|
-
// * password
|
|
76
|
-
// * invisible
|
|
77
|
-
// * number
|
|
78
|
-
// * confirm
|
|
79
|
-
// * list
|
|
80
|
-
// * toggle
|
|
81
|
-
// * select
|
|
82
|
-
// * multiselect
|
|
83
|
-
// * autocompleteMultiselect
|
|
84
|
-
// * autocomplete
|
|
85
|
-
// * date
|
|
86
|
-
// ----------------------------------------------------
|
|
87
|
-
// ----------------------------------------------------
|
|
88
|
-
// For spinners...
|
|
89
|
-
// "ora" https://www.npmjs.com/package/ora
|
|
90
|
-
// "cli-spinners" https://www.npmjs.com/package/cli-spinners (components for ora)
|
|
91
|
-
// "nanospinner" https://www.npmjs.com/package/nanospinner
|
|
92
|
-
// "tinyspinner" https://www.npmjs.com/package/tiny-spinner
|
|
93
|
-
// ----------------------------------------------------
|
|
94
|
-
// ----------------------------------------------------
|
|
95
|
-
// For tables...
|
|
96
|
-
// "list-it" https://www.npmjs.com/package/list-it
|
|
97
|
-
// "easy-table" https://www.npmjs.com/package/easy-table
|
|
98
|
-
// ----------------------------------------------------
|
|
99
|
-
userMessage(message) {
|
|
100
|
-
core_1.ux.log(message);
|
|
101
|
-
}
|
|
102
|
-
prompt(id, prompt, required = false, defaultValue, validator) {
|
|
103
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
var _a;
|
|
106
|
-
try {
|
|
107
|
-
let output;
|
|
108
|
-
// "Required" is not supported here.
|
|
109
|
-
if (validator === undefined) {
|
|
110
|
-
let result = yield inquirer.prompt({ type: "input", name: id, message: prompt, default: defaultValue });
|
|
111
|
-
output = (result[id]); // <--- mind this!
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
let validation;
|
|
115
|
-
let candidate;
|
|
116
|
-
while (candidate === undefined || (validation === null || validation === void 0 ? void 0 : validation.isValid) !== true) {
|
|
117
|
-
let promptRes = yield inquirer.prompt({ type: "input", name: id, message: prompt, default: defaultValue });
|
|
118
|
-
candidate = (promptRes[id]); // <--- mind this!
|
|
119
|
-
validation = validator.isValid(candidate);
|
|
120
|
-
if (!validation.isValid) {
|
|
121
|
-
this.userMessage(`INVALID: ${(_a = validation.whyInvalid) !== null && _a !== void 0 ? _a : ""}`);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
output = candidate;
|
|
125
|
-
}
|
|
126
|
-
resolve(output);
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
reject(err);
|
|
130
|
-
}
|
|
131
|
-
}));
|
|
132
|
-
// // Prompts using cli-ux
|
|
133
|
-
// let options = <IPromptOptions>{ prompt: prompt };
|
|
134
|
-
// if (required) options.required = required;
|
|
135
|
-
// if (defaultValue) options.default = <any>defaultValue; // this doesnt work
|
|
136
|
-
// return cli.prompt("myField", options);
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
promptPassword(id, prompt, defaultValue, validator) {
|
|
140
|
-
var _a;
|
|
141
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
142
|
-
// Prompts using cli-ux
|
|
143
|
-
let options = { prompt: prompt, type: "hide", required: true };
|
|
144
|
-
if (validator === undefined) {
|
|
145
|
-
return core_1.ux.prompt(id, options);
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
let validation;
|
|
149
|
-
let candidate;
|
|
150
|
-
while (candidate === undefined || (validation === null || validation === void 0 ? void 0 : validation.isValid) !== true) {
|
|
151
|
-
candidate = yield core_1.ux.prompt(id, options);
|
|
152
|
-
validation = validator.isValid(candidate);
|
|
153
|
-
if (!validation.isValid) {
|
|
154
|
-
this.userMessage(`INVALID: ${(_a = validation.whyInvalid) !== null && _a !== void 0 ? _a : ""}`);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return candidate;
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
promptConfirm(id, prompt, defaultValue = true) {
|
|
162
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
163
|
-
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
164
|
-
try {
|
|
165
|
-
let defaultChoice = (defaultValue == undefined) ? false : defaultValue;
|
|
166
|
-
let result = yield inquirer.prompt({ type: 'confirm', name: id, message: prompt, default: defaultChoice });
|
|
167
|
-
let output = (result[id]);
|
|
168
|
-
resolve(output);
|
|
169
|
-
}
|
|
170
|
-
catch (err) {
|
|
171
|
-
reject(err);
|
|
172
|
-
}
|
|
173
|
-
}));
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
// TODO: Add param for FuzzyAutoSelect
|
|
177
|
-
promptSelect(id, prompt, choices, multiSelect, loop) {
|
|
178
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
179
|
-
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
180
|
-
try {
|
|
181
|
-
let inqChoices = choices.map(c => {
|
|
182
|
-
var _a;
|
|
183
|
-
return {
|
|
184
|
-
name: (typeof c == "string") ? c : c.name,
|
|
185
|
-
value: (typeof c == "string") ? c : ((_a = c.value) !== null && _a !== void 0 ? _a : c.name)
|
|
186
|
-
};
|
|
187
|
-
});
|
|
188
|
-
let promptModule = { type: 'list', name: 'mySelectField', message: prompt, choices: inqChoices };
|
|
189
|
-
if (loop !== undefined)
|
|
190
|
-
promptModule.loop = loop;
|
|
191
|
-
let result = yield inquirer.prompt(promptModule);
|
|
192
|
-
let selected = result.mySelectField;
|
|
193
|
-
resolve(selected);
|
|
194
|
-
}
|
|
195
|
-
catch (err) {
|
|
196
|
-
reject(err);
|
|
197
|
-
}
|
|
198
|
-
}));
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
promptSelectFile(id, prompt, fileOptions) {
|
|
202
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
203
|
-
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
204
|
-
var _a;
|
|
205
|
-
try {
|
|
206
|
-
// see https://www.npmjs.com/package/select-files-cli
|
|
207
|
-
let selectorOptions = {
|
|
208
|
-
clearConsole: false,
|
|
209
|
-
multi: false
|
|
210
|
-
};
|
|
211
|
-
if (fileOptions.root)
|
|
212
|
-
selectorOptions.root = fileOptions.root;
|
|
213
|
-
if (fileOptions.startingPath) {
|
|
214
|
-
if (fileOptions.root && !fileOptions.startingPath.startsWith(fileOptions.root)) {
|
|
215
|
-
throw new Error(`Starting path for file selection [${fileOptions.startingPath}] was not inside the folder specified as "root" [${fileOptions.root}].`);
|
|
216
|
-
}
|
|
217
|
-
selectorOptions.startingPath = fileOptions.startingPath;
|
|
218
|
-
}
|
|
219
|
-
if (fileOptions.extensions && fileOptions.extensions.length > 0) {
|
|
220
|
-
let ptn = `\\.(${fileOptions.extensions.join("|")})$`;
|
|
221
|
-
let rx = new RegExp(ptn, "i");
|
|
222
|
-
selectorOptions.fileFilter = (fileName) => rx.test(fileName);
|
|
223
|
-
}
|
|
224
|
-
// WAIT FOR USER TO NAVIAGATE AND MAKE A SELECTION...
|
|
225
|
-
let result = yield (0, file_selector_1.selectFiles)(selectorOptions);
|
|
226
|
-
// console.dir(result);
|
|
227
|
-
let selected;
|
|
228
|
-
if (result.status == file_selector_1.COMPLETED && result.selectedFiles && result.selectedFiles.length > 0) {
|
|
229
|
-
selected = result.selectedFiles[0];
|
|
230
|
-
if (fileOptions.asRelative) {
|
|
231
|
-
let root = (_a = fileOptions.root) !== null && _a !== void 0 ? _a : process.cwd();
|
|
232
|
-
selected = path.relative(root, selected);
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
throw new Error(`Cancelled file selection.`);
|
|
237
|
-
}
|
|
238
|
-
resolve(selected);
|
|
239
|
-
}
|
|
240
|
-
catch (err) {
|
|
241
|
-
reject(err);
|
|
242
|
-
}
|
|
243
|
-
}));
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
promptSelectFolder(id, prompt, folderOptions) {
|
|
247
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
248
|
-
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
249
|
-
var _a;
|
|
250
|
-
try {
|
|
251
|
-
// see https://www.npmjs.com/package/select-files-cli
|
|
252
|
-
let selectorOptions = {
|
|
253
|
-
clearConsole: false,
|
|
254
|
-
multi: false,
|
|
255
|
-
mode: file_selector_1.EnumRetrievalMode.directory
|
|
256
|
-
};
|
|
257
|
-
if (folderOptions.root)
|
|
258
|
-
selectorOptions.root = folderOptions.root;
|
|
259
|
-
if (folderOptions.startingPath) {
|
|
260
|
-
if (folderOptions.root && !folderOptions.startingPath.startsWith(folderOptions.root)) {
|
|
261
|
-
throw new Error(`Starting path for file selection [${folderOptions.startingPath}] was not inside the folder specified as "root" [${folderOptions.root}].`);
|
|
262
|
-
}
|
|
263
|
-
selectorOptions.startingPath = folderOptions.startingPath;
|
|
264
|
-
}
|
|
265
|
-
// WAIT FOR USER TO NAVIAGATE AND MAKE A SELECTION...
|
|
266
|
-
let result = yield (0, file_selector_1.selectFiles)(selectorOptions);
|
|
267
|
-
// console.dir(result);
|
|
268
|
-
let selected;
|
|
269
|
-
if (result.status == file_selector_1.COMPLETED && result.selectedFiles && result.selectedFiles.length > 0) {
|
|
270
|
-
selected = result.selectedFiles[0];
|
|
271
|
-
if (folderOptions.asRelative) {
|
|
272
|
-
let root = (_a = folderOptions.root) !== null && _a !== void 0 ? _a : process.cwd();
|
|
273
|
-
selected = path.relative(root, selected);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
throw new Error(`Cancelled folder selection.`);
|
|
278
|
-
}
|
|
279
|
-
resolve(selected);
|
|
280
|
-
}
|
|
281
|
-
catch (err) {
|
|
282
|
-
reject(err);
|
|
283
|
-
}
|
|
284
|
-
}));
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
openUrl(url) {
|
|
288
|
-
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
289
|
-
try {
|
|
290
|
-
console.log(`Cannot open url[${url}]: OpenUrl is not yet implemented for BuiltInCliUserInput`);
|
|
291
|
-
resolve();
|
|
292
|
-
}
|
|
293
|
-
catch (err) {
|
|
294
|
-
reject(err);
|
|
295
|
-
}
|
|
296
|
-
}));
|
|
297
|
-
}
|
|
298
|
-
startSpinner(userMessage) {
|
|
299
|
-
core_1.ux.action.start(userMessage); // (this._styler.hilite(userMessage));
|
|
300
|
-
}
|
|
301
|
-
stopSpinner(userMessage) {
|
|
302
|
-
core_1.ux.action.stop(userMessage);
|
|
303
|
-
}
|
|
304
|
-
};
|
|
305
|
-
BuiltInCliUserInput = tslib_1.__decorate([
|
|
306
|
-
(0, inversify_1.injectable)(),
|
|
307
|
-
tslib_1.__metadata("design:paramtypes", [])
|
|
308
|
-
], BuiltInCliUserInput);
|
|
309
|
-
exports.BuiltInCliUserInput = BuiltInCliUserInput;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BuiltInCliUserInput = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const inquirer = require("inquirer");
|
|
8
|
+
const file_selector_1 = require("./file-selector");
|
|
9
|
+
const inversify_1 = require("inversify");
|
|
10
|
+
// // Moved to ops-common
|
|
11
|
+
// export class FolderSelectionOptions {
|
|
12
|
+
// /** The path under which the user is allowed to navigate (optional: Defaults to the current path).
|
|
13
|
+
// * This path is also acts as the parent folder from which any relative path gets derived. */
|
|
14
|
+
// public root?: string
|
|
15
|
+
// /** The folder to begin the search within (optional: defaults to the current path) */
|
|
16
|
+
// public startingPath?: string;
|
|
17
|
+
// /** Causes the selection to be returned as a path relative to "root" (optional: defaults to false). */
|
|
18
|
+
// public asRelative?: boolean;
|
|
19
|
+
// }
|
|
20
|
+
// // Moved to ops-common
|
|
21
|
+
// export class FileSelectionOptions extends FolderSelectionOptions {
|
|
22
|
+
// /** List of file extensions (without the period '.') on which to filter the available files. */
|
|
23
|
+
// public extensions?: string[];
|
|
24
|
+
// }
|
|
25
|
+
// /** Just documenting the options arg from cli-select-file, cuz they dont have a type def. */
|
|
26
|
+
// type CliSelectFileOptions = {
|
|
27
|
+
// /** integer, Default value is 10 */
|
|
28
|
+
// pageSize?: number,
|
|
29
|
+
// /** Defaults to true to allow for selection of multiple files */
|
|
30
|
+
// multi?: boolean,
|
|
31
|
+
// /** Files that will initially be selected */
|
|
32
|
+
// selectedFiles?: string[],
|
|
33
|
+
// /** Defaults to true */
|
|
34
|
+
// clearConsole?: boolean,
|
|
35
|
+
// /** Where the user will initially be prompted to select files
|
|
36
|
+
// Defaults to process.cwd() */
|
|
37
|
+
// startingPath?: string,
|
|
38
|
+
// /** The top level directory the user has access to
|
|
39
|
+
// Defaults to process.cwd() */
|
|
40
|
+
// root?: string,
|
|
41
|
+
// /** Return false for any directory that you do not want to appear in the cli
|
|
42
|
+
// ```
|
|
43
|
+
// directoryFilter?: (directoryName) => {
|
|
44
|
+
// return !/node_modules$/gi.test(directoryName);
|
|
45
|
+
// },
|
|
46
|
+
// ```
|
|
47
|
+
// */
|
|
48
|
+
// directoryFilter?: (directoryName: string) => boolean,
|
|
49
|
+
// /** Return false for any file that you do not want to appear in the cli
|
|
50
|
+
// ```
|
|
51
|
+
// fileFilter: (fileName) => {
|
|
52
|
+
// return !/index.js$/gi.test(fileName);
|
|
53
|
+
// },
|
|
54
|
+
// ```
|
|
55
|
+
// */
|
|
56
|
+
// fileFilter?: (fileName: string) => boolean
|
|
57
|
+
// }
|
|
58
|
+
// type CLISelectFileResult = {
|
|
59
|
+
// selectedFiles: string[],
|
|
60
|
+
// status: string
|
|
61
|
+
// }
|
|
62
|
+
/** Uses cli-ux and inquirer libraries to retrieve values from the user.
|
|
63
|
+
* Requires a TTY console.
|
|
64
|
+
* @see https://www.npmjs.com/package/inquirer
|
|
65
|
+
*/
|
|
66
|
+
let BuiltInCliUserInput = class BuiltInCliUserInput {
|
|
67
|
+
constructor() {
|
|
68
|
+
}
|
|
69
|
+
// ----------------------------------------------------
|
|
70
|
+
// ALSO: Consider using this lib...
|
|
71
|
+
// "prompts"
|
|
72
|
+
// https://www.npmjs.com/package/prompts
|
|
73
|
+
// (good docs, adoption, interface, and smooth ux)
|
|
74
|
+
// * text
|
|
75
|
+
// * password
|
|
76
|
+
// * invisible
|
|
77
|
+
// * number
|
|
78
|
+
// * confirm
|
|
79
|
+
// * list
|
|
80
|
+
// * toggle
|
|
81
|
+
// * select
|
|
82
|
+
// * multiselect
|
|
83
|
+
// * autocompleteMultiselect
|
|
84
|
+
// * autocomplete
|
|
85
|
+
// * date
|
|
86
|
+
// ----------------------------------------------------
|
|
87
|
+
// ----------------------------------------------------
|
|
88
|
+
// For spinners...
|
|
89
|
+
// "ora" https://www.npmjs.com/package/ora
|
|
90
|
+
// "cli-spinners" https://www.npmjs.com/package/cli-spinners (components for ora)
|
|
91
|
+
// "nanospinner" https://www.npmjs.com/package/nanospinner
|
|
92
|
+
// "tinyspinner" https://www.npmjs.com/package/tiny-spinner
|
|
93
|
+
// ----------------------------------------------------
|
|
94
|
+
// ----------------------------------------------------
|
|
95
|
+
// For tables...
|
|
96
|
+
// "list-it" https://www.npmjs.com/package/list-it
|
|
97
|
+
// "easy-table" https://www.npmjs.com/package/easy-table
|
|
98
|
+
// ----------------------------------------------------
|
|
99
|
+
userMessage(message) {
|
|
100
|
+
core_1.ux.log(message);
|
|
101
|
+
}
|
|
102
|
+
prompt(id, prompt, required = false, defaultValue, validator) {
|
|
103
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
var _a;
|
|
106
|
+
try {
|
|
107
|
+
let output;
|
|
108
|
+
// "Required" is not supported here.
|
|
109
|
+
if (validator === undefined) {
|
|
110
|
+
let result = yield inquirer.prompt({ type: "input", name: id, message: prompt, default: defaultValue });
|
|
111
|
+
output = (result[id]); // <--- mind this!
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
let validation;
|
|
115
|
+
let candidate;
|
|
116
|
+
while (candidate === undefined || (validation === null || validation === void 0 ? void 0 : validation.isValid) !== true) {
|
|
117
|
+
let promptRes = yield inquirer.prompt({ type: "input", name: id, message: prompt, default: defaultValue });
|
|
118
|
+
candidate = (promptRes[id]); // <--- mind this!
|
|
119
|
+
validation = validator.isValid(candidate);
|
|
120
|
+
if (!validation.isValid) {
|
|
121
|
+
this.userMessage(`INVALID: ${(_a = validation.whyInvalid) !== null && _a !== void 0 ? _a : ""}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
output = candidate;
|
|
125
|
+
}
|
|
126
|
+
resolve(output);
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
reject(err);
|
|
130
|
+
}
|
|
131
|
+
}));
|
|
132
|
+
// // Prompts using cli-ux
|
|
133
|
+
// let options = <IPromptOptions>{ prompt: prompt };
|
|
134
|
+
// if (required) options.required = required;
|
|
135
|
+
// if (defaultValue) options.default = <any>defaultValue; // this doesnt work
|
|
136
|
+
// return cli.prompt("myField", options);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
promptPassword(id, prompt, defaultValue, validator) {
|
|
140
|
+
var _a;
|
|
141
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
142
|
+
// Prompts using cli-ux
|
|
143
|
+
let options = { prompt: prompt, type: "hide", required: true };
|
|
144
|
+
if (validator === undefined) {
|
|
145
|
+
return core_1.ux.prompt(id, options);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
let validation;
|
|
149
|
+
let candidate;
|
|
150
|
+
while (candidate === undefined || (validation === null || validation === void 0 ? void 0 : validation.isValid) !== true) {
|
|
151
|
+
candidate = yield core_1.ux.prompt(id, options);
|
|
152
|
+
validation = validator.isValid(candidate);
|
|
153
|
+
if (!validation.isValid) {
|
|
154
|
+
this.userMessage(`INVALID: ${(_a = validation.whyInvalid) !== null && _a !== void 0 ? _a : ""}`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return candidate;
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
promptConfirm(id, prompt, defaultValue = true) {
|
|
162
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
try {
|
|
165
|
+
let defaultChoice = (defaultValue == undefined) ? false : defaultValue;
|
|
166
|
+
let result = yield inquirer.prompt({ type: 'confirm', name: id, message: prompt, default: defaultChoice });
|
|
167
|
+
let output = (result[id]);
|
|
168
|
+
resolve(output);
|
|
169
|
+
}
|
|
170
|
+
catch (err) {
|
|
171
|
+
reject(err);
|
|
172
|
+
}
|
|
173
|
+
}));
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
// TODO: Add param for FuzzyAutoSelect
|
|
177
|
+
promptSelect(id, prompt, choices, multiSelect, loop) {
|
|
178
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
179
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
180
|
+
try {
|
|
181
|
+
let inqChoices = choices.map(c => {
|
|
182
|
+
var _a;
|
|
183
|
+
return {
|
|
184
|
+
name: (typeof c == "string") ? c : c.name,
|
|
185
|
+
value: (typeof c == "string") ? c : ((_a = c.value) !== null && _a !== void 0 ? _a : c.name)
|
|
186
|
+
};
|
|
187
|
+
});
|
|
188
|
+
let promptModule = { type: 'list', name: 'mySelectField', message: prompt, choices: inqChoices };
|
|
189
|
+
if (loop !== undefined)
|
|
190
|
+
promptModule.loop = loop;
|
|
191
|
+
let result = yield inquirer.prompt(promptModule);
|
|
192
|
+
let selected = result.mySelectField;
|
|
193
|
+
resolve(selected);
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
reject(err);
|
|
197
|
+
}
|
|
198
|
+
}));
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
promptSelectFile(id, prompt, fileOptions) {
|
|
202
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
203
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
204
|
+
var _a;
|
|
205
|
+
try {
|
|
206
|
+
// see https://www.npmjs.com/package/select-files-cli
|
|
207
|
+
let selectorOptions = {
|
|
208
|
+
clearConsole: false,
|
|
209
|
+
multi: false
|
|
210
|
+
};
|
|
211
|
+
if (fileOptions.root)
|
|
212
|
+
selectorOptions.root = fileOptions.root;
|
|
213
|
+
if (fileOptions.startingPath) {
|
|
214
|
+
if (fileOptions.root && !fileOptions.startingPath.startsWith(fileOptions.root)) {
|
|
215
|
+
throw new Error(`Starting path for file selection [${fileOptions.startingPath}] was not inside the folder specified as "root" [${fileOptions.root}].`);
|
|
216
|
+
}
|
|
217
|
+
selectorOptions.startingPath = fileOptions.startingPath;
|
|
218
|
+
}
|
|
219
|
+
if (fileOptions.extensions && fileOptions.extensions.length > 0) {
|
|
220
|
+
let ptn = `\\.(${fileOptions.extensions.join("|")})$`;
|
|
221
|
+
let rx = new RegExp(ptn, "i");
|
|
222
|
+
selectorOptions.fileFilter = (fileName) => rx.test(fileName);
|
|
223
|
+
}
|
|
224
|
+
// WAIT FOR USER TO NAVIAGATE AND MAKE A SELECTION...
|
|
225
|
+
let result = yield (0, file_selector_1.selectFiles)(selectorOptions);
|
|
226
|
+
// console.dir(result);
|
|
227
|
+
let selected;
|
|
228
|
+
if (result.status == file_selector_1.COMPLETED && result.selectedFiles && result.selectedFiles.length > 0) {
|
|
229
|
+
selected = result.selectedFiles[0];
|
|
230
|
+
if (fileOptions.asRelative) {
|
|
231
|
+
let root = (_a = fileOptions.root) !== null && _a !== void 0 ? _a : process.cwd();
|
|
232
|
+
selected = path.relative(root, selected);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
throw new Error(`Cancelled file selection.`);
|
|
237
|
+
}
|
|
238
|
+
resolve(selected);
|
|
239
|
+
}
|
|
240
|
+
catch (err) {
|
|
241
|
+
reject(err);
|
|
242
|
+
}
|
|
243
|
+
}));
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
promptSelectFolder(id, prompt, folderOptions) {
|
|
247
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
248
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
249
|
+
var _a;
|
|
250
|
+
try {
|
|
251
|
+
// see https://www.npmjs.com/package/select-files-cli
|
|
252
|
+
let selectorOptions = {
|
|
253
|
+
clearConsole: false,
|
|
254
|
+
multi: false,
|
|
255
|
+
mode: file_selector_1.EnumRetrievalMode.directory
|
|
256
|
+
};
|
|
257
|
+
if (folderOptions.root)
|
|
258
|
+
selectorOptions.root = folderOptions.root;
|
|
259
|
+
if (folderOptions.startingPath) {
|
|
260
|
+
if (folderOptions.root && !folderOptions.startingPath.startsWith(folderOptions.root)) {
|
|
261
|
+
throw new Error(`Starting path for file selection [${folderOptions.startingPath}] was not inside the folder specified as "root" [${folderOptions.root}].`);
|
|
262
|
+
}
|
|
263
|
+
selectorOptions.startingPath = folderOptions.startingPath;
|
|
264
|
+
}
|
|
265
|
+
// WAIT FOR USER TO NAVIAGATE AND MAKE A SELECTION...
|
|
266
|
+
let result = yield (0, file_selector_1.selectFiles)(selectorOptions);
|
|
267
|
+
// console.dir(result);
|
|
268
|
+
let selected;
|
|
269
|
+
if (result.status == file_selector_1.COMPLETED && result.selectedFiles && result.selectedFiles.length > 0) {
|
|
270
|
+
selected = result.selectedFiles[0];
|
|
271
|
+
if (folderOptions.asRelative) {
|
|
272
|
+
let root = (_a = folderOptions.root) !== null && _a !== void 0 ? _a : process.cwd();
|
|
273
|
+
selected = path.relative(root, selected);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
throw new Error(`Cancelled folder selection.`);
|
|
278
|
+
}
|
|
279
|
+
resolve(selected);
|
|
280
|
+
}
|
|
281
|
+
catch (err) {
|
|
282
|
+
reject(err);
|
|
283
|
+
}
|
|
284
|
+
}));
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
openUrl(url) {
|
|
288
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
289
|
+
try {
|
|
290
|
+
console.log(`Cannot open url[${url}]: OpenUrl is not yet implemented for BuiltInCliUserInput`);
|
|
291
|
+
resolve();
|
|
292
|
+
}
|
|
293
|
+
catch (err) {
|
|
294
|
+
reject(err);
|
|
295
|
+
}
|
|
296
|
+
}));
|
|
297
|
+
}
|
|
298
|
+
startSpinner(userMessage) {
|
|
299
|
+
core_1.ux.action.start(userMessage); // (this._styler.hilite(userMessage));
|
|
300
|
+
}
|
|
301
|
+
stopSpinner(userMessage) {
|
|
302
|
+
core_1.ux.action.stop(userMessage);
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
BuiltInCliUserInput = tslib_1.__decorate([
|
|
306
|
+
(0, inversify_1.injectable)(),
|
|
307
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
308
|
+
], BuiltInCliUserInput);
|
|
309
|
+
exports.BuiltInCliUserInput = BuiltInCliUserInput;
|
|
310
310
|
//# sourceMappingURL=built-in-cli-user-input.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Commented out bc: Moved to ops-common as INTERFACES_OPS
|
|
3
|
-
// export const INTERFACES_CLI = {
|
|
4
|
-
// IUserInputProvider: "IUserInputProvider",
|
|
5
|
-
// IStringValidator: "IStringValidator"
|
|
6
|
-
// } as const
|
|
1
|
+
"use strict";
|
|
2
|
+
// Commented out bc: Moved to ops-common as INTERFACES_OPS
|
|
3
|
+
// export const INTERFACES_CLI = {
|
|
4
|
+
// IUserInputProvider: "IUserInputProvider",
|
|
5
|
+
// IStringValidator: "IStringValidator"
|
|
6
|
+
// } as const
|
|
7
7
|
//# sourceMappingURL=cli-interfaces.js.map
|