@codiac.io/codiac-cli 1.2.127 → 1.2.133
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/lib/apis/codiac-relay/gen/client.d.ts +1 -1
- package/lib/apis/codiac-relay/gen/client.js +13 -13
- package/lib/apis/codiac-relay/gen/client.js.map +1 -1
- package/lib/cli-common/ImagesList.d.ts +0 -0
- package/lib/cli-common/ImagesList.js +67 -0
- package/lib/cli-common/ImagesList.js.map +1 -0
- package/lib/cli-common/argument-manager.d.ts +28 -0
- package/lib/cli-common/argument-manager.js +195 -0
- package/lib/cli-common/argument-manager.js.map +1 -0
- package/lib/cli-common/built-in-cli-user-input.d.ts +18 -0
- package/lib/cli-common/built-in-cli-user-input.js +310 -0
- package/lib/cli-common/built-in-cli-user-input.js.map +1 -0
- package/lib/cli-common/cli-interfaces.d.ts +0 -0
- package/lib/cli-common/cli-interfaces.js +7 -0
- package/lib/cli-common/cli-interfaces.js.map +1 -0
- package/lib/cli-common/command-base.d.ts +74 -0
- package/lib/cli-common/command-base.js +173 -0
- package/lib/cli-common/command-base.js.map +1 -0
- package/lib/cli-common/entities/index.d.ts +1 -0
- package/lib/cli-common/entities/index.js +5 -0
- package/lib/cli-common/entities/index.js.map +1 -0
- package/lib/cli-common/entities/prompt-choice.d.ts +7 -0
- package/lib/cli-common/entities/prompt-choice.js +3 -0
- package/lib/cli-common/entities/prompt-choice.js.map +1 -0
- package/lib/cli-common/file-selector.d.ts +48 -0
- package/lib/cli-common/file-selector.js +187 -0
- package/lib/cli-common/file-selector.js.map +1 -0
- package/lib/cli-common/i-user-input-provider.d.ts +0 -0
- package/lib/cli-common/i-user-input-provider.js +19 -0
- package/lib/cli-common/i-user-input-provider.js.map +1 -0
- package/lib/cli-common/index.d.ts +4 -0
- package/lib/cli-common/index.js +11 -0
- package/lib/cli-common/index.js.map +1 -0
- package/lib/cli-common/mock-ui.d.ts +27 -0
- package/lib/cli-common/mock-ui.js +83 -0
- package/lib/cli-common/mock-ui.js.map +1 -0
- package/lib/cli-common/prompt-select-fuzzy.d.ts +19 -0
- package/lib/cli-common/prompt-select-fuzzy.js +119 -0
- package/lib/cli-common/prompt-select-fuzzy.js.map +1 -0
- package/lib/cli-common/tenant-contextualizer.d.ts +0 -0
- package/lib/cli-common/tenant-contextualizer.js +436 -0
- package/lib/cli-common/tenant-contextualizer.js.map +1 -0
- package/lib/cli-common/test/tenant-contextualizer.spec.d.ts +0 -0
- package/lib/cli-common/test/tenant-contextualizer.spec.js +143 -0
- package/lib/cli-common/test/tenant-contextualizer.spec.js.map +1 -0
- package/lib/command-base-enterprise.d.ts +3 -18
- package/lib/command-base-enterprise.js +8 -69
- package/lib/command-base-enterprise.js.map +1 -1
- package/lib/command-base-tenantless.d.ts +3 -3
- package/lib/command-base-tenantless.js +16 -16
- package/lib/command-base-tenantless.js.map +1 -1
- package/lib/commands/asset/create.js +28 -27
- package/lib/commands/asset/create.js.map +1 -1
- package/lib/commands/asset/probe/create.js +11 -11
- package/lib/commands/asset/probe/create.js.map +1 -1
- package/lib/commands/build.js +2 -2
- package/lib/commands/build.js.map +1 -1
- package/lib/commands/cabinet/create.js +2 -2
- package/lib/commands/cabinet/create.js.map +1 -1
- package/lib/commands/cabinet/obliterate.js +1 -1
- package/lib/commands/cabinet/obliterate.js.map +1 -1
- package/lib/commands/commit.js +1 -1
- package/lib/commands/commit.js.map +1 -1
- package/lib/commands/enterprise/create.js +2 -2
- package/lib/commands/enterprise/create.js.map +1 -1
- package/lib/commands/environment/create.js +2 -2
- package/lib/commands/environment/create.js.map +1 -1
- package/lib/commands/filestore/capture.d.ts +0 -2
- package/lib/commands/filestore/capture.js +34 -31
- package/lib/commands/filestore/capture.js.map +1 -1
- package/lib/commands/identity/delete.js +2 -2
- package/lib/commands/identity/delete.js.map +1 -1
- package/lib/commands/identity.js +3 -3
- package/lib/commands/identity.js.map +1 -1
- package/lib/commands/init.js +4 -4
- package/lib/commands/init.js.map +1 -1
- package/lib/commands/login.js +1 -1
- package/lib/commands/login.js.map +1 -1
- package/lib/commands/publish.d.ts +3 -0
- package/lib/commands/publish.js +7 -3
- package/lib/commands/publish.js.map +1 -1
- package/lib/commands/pull.js +1 -1
- package/lib/commands/pull.js.map +1 -1
- package/lib/commands/push.js +1 -1
- package/lib/commands/push.js.map +1 -1
- package/lib/commands/run.js +6 -6
- package/lib/commands/run.js.map +1 -1
- package/lib/commands/sync.js +1 -1
- package/lib/commands/sync.js.map +1 -1
- package/lib/commands/tenant/create.js +4 -4
- package/lib/commands/tenant/create.js.map +1 -1
- package/lib/commands/tenant/switch.js +4 -4
- package/lib/commands/tenant/switch.js.map +1 -1
- package/lib/ops/INTERFACES_CLI.d.ts +3 -0
- package/lib/ops/INTERFACES_CLI.js +8 -0
- package/lib/ops/INTERFACES_CLI.js.map +1 -0
- package/lib/ops/LocalOps.d.ts +444 -0
- package/lib/ops/LocalOps.js +3184 -0
- package/lib/ops/LocalOps.js.map +1 -0
- package/lib/ops/azure-container-registry-client/azure-container-registry-client.d.ts +0 -0
- package/lib/ops/azure-container-registry-client/azure-container-registry-client.js +148 -0
- package/lib/ops/azure-container-registry-client/azure-container-registry-client.js.map +1 -0
- package/lib/ops/cli-path-walker.d.ts +0 -0
- package/lib/ops/cli-path-walker.js +55 -0
- package/lib/ops/cli-path-walker.js.map +1 -0
- package/lib/ops/codiac-entities/dependency.d.ts +5 -0
- package/lib/ops/codiac-entities/dependency.js +11 -0
- package/lib/ops/codiac-entities/dependency.js.map +1 -0
- package/lib/ops/codiac-entities/index.d.ts +1 -0
- package/lib/ops/codiac-entities/index.js +5 -0
- package/lib/ops/codiac-entities/index.js.map +1 -0
- package/lib/ops/composite-image-registry-client.d.ts +0 -0
- package/lib/ops/composite-image-registry-client.js +74 -0
- package/lib/ops/composite-image-registry-client.js.map +1 -0
- package/lib/ops/data/cli-context-repo.d.ts +61 -0
- package/lib/ops/data/cli-context-repo.js +270 -0
- package/lib/ops/data/cli-context-repo.js.map +1 -0
- package/lib/ops/data/index.d.ts +2 -0
- package/lib/ops/data/index.js +6 -0
- package/lib/ops/data/index.js.map +1 -0
- package/lib/ops/data/npm-config-repo.d.ts +13 -0
- package/lib/ops/data/npm-config-repo.js +65 -0
- package/lib/ops/data/npm-config-repo.js.map +1 -0
- package/lib/ops/docker-config.d.ts +0 -0
- package/lib/ops/docker-config.js +131 -0
- package/lib/ops/docker-config.js.map +1 -0
- package/lib/ops/docker-constants.d.ts +0 -0
- package/lib/ops/docker-constants.js +22 -0
- package/lib/ops/docker-constants.js.map +1 -0
- package/lib/ops/docker-credentials-store.d.ts +0 -0
- package/lib/ops/docker-credentials-store.js +238 -0
- package/lib/ops/docker-credentials-store.js.map +1 -0
- package/lib/ops/docker-registry-api-client/docker-registry-api-client.d.ts +0 -0
- package/lib/ops/docker-registry-api-client/docker-registry-api-client.js +289 -0
- package/lib/ops/docker-registry-api-client/docker-registry-api-client.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/blob-sum.d.ts +7 -0
- package/lib/ops/docker-registry-api-client/entities/blob-sum.js +13 -0
- package/lib/ops/docker-registry-api-client/entities/blob-sum.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +5 -0
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +10 -0
- package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +30 -0
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +36 -0
- package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +55 -0
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js +52 -0
- package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +7 -0
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js +3 -0
- package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/image-repository.d.ts +31 -0
- package/lib/ops/docker-registry-api-client/entities/image-repository.js +30 -0
- package/lib/ops/docker-registry-api-client/entities/image-repository.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +8 -0
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js +14 -0
- package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.d.ts +7 -0
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.js +13 -0
- package/lib/ops/docker-registry-api-client/entities/image-tag-list.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +9 -0
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js +15 -0
- package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/manifest.d.ts +15 -0
- package/lib/ops/docker-registry-api-client/entities/manifest.js +21 -0
- package/lib/ops/docker-registry-api-client/entities/manifest.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.d.ts +16 -0
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.js +24 -0
- package/lib/ops/docker-registry-api-client/entities/repository-criteria.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/token-response.d.ts +15 -0
- package/lib/ops/docker-registry-api-client/entities/token-response.js +15 -0
- package/lib/ops/docker-registry-api-client/entities/token-response.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/token.d.ts +17 -0
- package/lib/ops/docker-registry-api-client/entities/token.js +22 -0
- package/lib/ops/docker-registry-api-client/entities/token.js.map +1 -0
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +4 -0
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js +10 -0
- package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js.map +1 -0
- package/lib/ops/dx-constants.d.ts +26 -0
- package/lib/ops/dx-constants.js +43 -0
- package/lib/ops/dx-constants.js.map +1 -0
- package/lib/ops/entities/ImageBuildContext.d.ts +12 -0
- package/lib/ops/entities/ImageBuildContext.js +19 -0
- package/lib/ops/entities/ImageBuildContext.js.map +1 -0
- package/lib/ops/entities/PipelineContext.d.ts +21 -0
- package/lib/ops/entities/PipelineContext.js +23 -0
- package/lib/ops/entities/PipelineContext.js.map +1 -0
- package/lib/ops/entities/TenantContext.d.ts +10 -0
- package/lib/ops/entities/TenantContext.js +16 -0
- package/lib/ops/entities/TenantContext.js.map +1 -0
- package/lib/ops/entities/ThaulConfig.d.ts +0 -0
- package/lib/ops/entities/ThaulConfig.js +30 -0
- package/lib/ops/entities/ThaulConfig.js.map +1 -0
- package/lib/ops/entities/azure-service-principal.d.ts +23 -0
- package/lib/ops/entities/azure-service-principal.js +24 -0
- package/lib/ops/entities/azure-service-principal.js.map +1 -0
- package/lib/ops/entities/better-logger.d.ts +0 -0
- package/lib/ops/entities/better-logger.js +2 -0
- package/lib/ops/entities/better-logger.js.map +1 -0
- package/lib/ops/entities/branch.d.ts +13 -0
- package/lib/ops/entities/branch.js +16 -0
- package/lib/ops/entities/branch.js.map +1 -0
- package/lib/ops/entities/cli-config.d.ts +48 -0
- package/lib/ops/entities/cli-config.js +61 -0
- package/lib/ops/entities/cli-config.js.map +1 -0
- package/lib/ops/entities/docker-image.d.ts +60 -0
- package/lib/ops/entities/docker-image.js +3 -0
- package/lib/ops/entities/docker-image.js.map +1 -0
- package/lib/ops/entities/helm-spec.d.ts +15 -0
- package/lib/ops/entities/helm-spec.js +23 -0
- package/lib/ops/entities/helm-spec.js.map +1 -0
- package/lib/ops/entities/index.d.ts +3 -0
- package/lib/ops/entities/index.js +11 -0
- package/lib/ops/entities/index.js.map +1 -0
- package/lib/ops/entities/scaffolding.d.ts +19 -0
- package/lib/ops/entities/scaffolding.js +21 -0
- package/lib/ops/entities/scaffolding.js.map +1 -0
- package/lib/ops/extensions/azart-identity-adapter.d.ts +19 -0
- package/lib/ops/extensions/azart-identity-adapter.js +97 -0
- package/lib/ops/extensions/azart-identity-adapter.js.map +1 -0
- package/lib/ops/extensions/npm-identity-adapter-base.d.ts +13 -0
- package/lib/ops/extensions/npm-identity-adapter-base.js +3 -0
- package/lib/ops/extensions/npm-identity-adapter-base.js.map +1 -0
- package/lib/ops/extensions/npmjs-identity-adapter.d.ts +13 -0
- package/lib/ops/extensions/npmjs-identity-adapter.js +64 -0
- package/lib/ops/extensions/npmjs-identity-adapter.js.map +1 -0
- package/lib/ops/git-ops.d.ts +8 -0
- package/lib/ops/git-ops.js +14 -0
- package/lib/ops/git-ops.js.map +1 -0
- package/lib/ops/i-client-for-image-registry.d.ts +0 -0
- package/lib/ops/i-client-for-image-registry.js +17 -0
- package/lib/ops/i-client-for-image-registry.js.map +1 -0
- package/lib/ops/i-identity-handler.d.ts +33 -0
- package/lib/ops/i-identity-handler.js +165 -0
- package/lib/ops/i-identity-handler.js.map +1 -0
- package/lib/ops/i-output-styler.d.ts +0 -0
- package/lib/ops/i-output-styler.js +17 -0
- package/lib/ops/i-output-styler.js.map +1 -0
- package/lib/ops/index.d.ts +12 -0
- package/lib/ops/index.js +15 -0
- package/lib/ops/index.js.map +1 -0
- package/lib/ops/json-utils.d.ts +0 -0
- package/lib/ops/json-utils.js +59 -0
- package/lib/ops/json-utils.js.map +1 -0
- package/lib/ops/no-style-output-styler.d.ts +0 -0
- package/lib/ops/no-style-output-styler.js +30 -0
- package/lib/ops/no-style-output-styler.js.map +1 -0
- package/lib/ops/oauth2-client.ts/oauth2-client.d.ts +23 -0
- package/lib/ops/oauth2-client.ts/oauth2-client.js +64 -0
- package/lib/ops/oauth2-client.ts/oauth2-client.js.map +1 -0
- package/lib/ops/project-initializer.d.ts +36 -0
- package/lib/ops/project-initializer.js +219 -0
- package/lib/ops/project-initializer.js.map +1 -0
- package/lib/ops/scaffolding/base-scaffolding.d.ts +7 -0
- package/lib/ops/scaffolding/base-scaffolding.js +21 -0
- package/lib/ops/scaffolding/base-scaffolding.js.map +1 -0
- package/lib/ops/scaffolding/codiac-api-scaffolding.d.ts +7 -0
- package/lib/ops/scaffolding/codiac-api-scaffolding.js +64 -0
- package/lib/ops/scaffolding/codiac-api-scaffolding.js.map +1 -0
- package/lib/ops/scaffolding/typescript-scaffolding.d.ts +15 -0
- package/lib/ops/scaffolding/typescript-scaffolding.js +163 -0
- package/lib/ops/scaffolding/typescript-scaffolding.js.map +1 -0
- package/lib/ops/test/mock-ui.d.ts +26 -0
- package/lib/ops/test/mock-ui.js +88 -0
- package/lib/ops/test/mock-ui.js.map +1 -0
- package/lib/ops/test/test-extensions.d.ts +13 -0
- package/lib/ops/test/test-extensions.js +71 -0
- package/lib/ops/test/test-extensions.js.map +1 -0
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +2 -0
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js +55 -0
- package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js.map +1 -0
- package/lib/ops/test/when-git-branchline-is-attempted.spec.d.ts +2 -0
- package/lib/ops/test/when-git-branchline-is-attempted.spec.js +38 -0
- package/lib/ops/test/when-git-branchline-is-attempted.spec.js.map +1 -0
- package/lib/ops/test/when-versions-are-parsed.spec.d.ts +2 -0
- package/lib/ops/test/when-versions-are-parsed.spec.js +60 -0
- package/lib/ops/test/when-versions-are-parsed.spec.js.map +1 -0
- package/lib/ops/throwing-user-input-provider.d.ts +0 -0
- package/lib/ops/throwing-user-input-provider.js +37 -0
- package/lib/ops/throwing-user-input-provider.js.map +1 -0
- package/lib/relay/relay-container.js +1 -1
- package/lib/uilogic/build-configurator.d.ts +1 -1
- package/lib/uilogic/build-configurator.js +2 -2
- package/lib/uilogic/build-configurator.js.map +1 -1
- package/lib/uilogic/cloud-provider-contextualizer.d.ts +2 -1
- package/lib/uilogic/cloud-provider-contextualizer.js +8 -4
- package/lib/uilogic/cloud-provider-contextualizer.js.map +1 -1
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +1 -1
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js +1 -1
- package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +1 -1
- package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.d.ts +0 -16
- package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +76 -83
- package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js.map +1 -1
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +1 -1
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js +4 -4
- package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js.map +1 -1
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +4 -4
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +7 -8
- package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js.map +1 -1
- package/lib/uilogic/enterprise-contextualizer.d.ts +1 -1
- package/lib/uilogic/enterprise-contextualizer.js +6 -1
- package/lib/uilogic/enterprise-contextualizer.js.map +1 -1
- package/lib/uilogic/i-login-configurator.d.ts +1 -1
- package/lib/uilogic/image-configurator.d.ts +0 -1
- package/lib/uilogic/image-configurator.js +27 -47
- package/lib/uilogic/image-configurator.js.map +1 -1
- package/lib/uilogic/image-contextualizer.js +2 -2
- package/lib/uilogic/image-contextualizer.js.map +1 -1
- package/lib/uilogic/tenant-contextualizer.d.ts +1 -1
- package/lib/uilogic/tenant-contextualizer.js +3 -3
- package/lib/uilogic/tenant-contextualizer.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { IOutputStyler } from "@codiac.io/codiac-ops-common";
|
|
3
|
+
// import { injectable } from "inversify";
|
|
4
|
+
// /** Pass-thru: Does NOT apply any markup to the content.
|
|
5
|
+
// */
|
|
6
|
+
// @injectable()
|
|
7
|
+
// export class NoStyleOutputStyler implements IOutputStyler {
|
|
8
|
+
// constructor() {
|
|
9
|
+
// }
|
|
10
|
+
// // IOutputStyler members
|
|
11
|
+
// bold(content: string): string {
|
|
12
|
+
// return content;
|
|
13
|
+
// }
|
|
14
|
+
// dim(content: string): string {
|
|
15
|
+
// return content;
|
|
16
|
+
// }
|
|
17
|
+
// hilite(content: string): string {
|
|
18
|
+
// return content;
|
|
19
|
+
// }
|
|
20
|
+
// colorGood(content: string): string {
|
|
21
|
+
// return content;
|
|
22
|
+
// }
|
|
23
|
+
// colorWarning(content: string): string {
|
|
24
|
+
// return content;
|
|
25
|
+
// }
|
|
26
|
+
// colorCritical(content: string): string {
|
|
27
|
+
// return content;
|
|
28
|
+
// }
|
|
29
|
+
// }
|
|
30
|
+
//# sourceMappingURL=no-style-output-styler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-style-output-styler.js","sourceRoot":"","sources":["../../src/ops/no-style-output-styler.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,0CAA0C;AAG1C,2DAA2D;AAC3D,MAAM;AACN,gBAAgB;AAChB,8DAA8D;AAC9D,oBAAoB;AAEpB,MAAM;AAGN,6BAA6B;AAE7B,oCAAoC;AACpC,sBAAsB;AACtB,MAAM;AACN,mCAAmC;AACnC,sBAAsB;AACtB,MAAM;AACN,sCAAsC;AACtC,sBAAsB;AACtB,MAAM;AACN,yCAAyC;AACzC,sBAAsB;AACtB,MAAM;AACN,4CAA4C;AAC5C,sBAAsB;AACtB,MAAM;AACN,6CAA6C;AAC7C,sBAAsB;AACtB,MAAM;AACN,IAAI"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @see https://docs.microsoft.com/en-us/azure/active-directory/azuread-dev/v1-protocols-oauth-code#request-an-authorization-code
|
|
5
|
+
* @see https://docs.microsoft.com/en-us/rest/api/azure/#create-the-request
|
|
6
|
+
*/
|
|
7
|
+
export declare class OAuth2Client {
|
|
8
|
+
private logger;
|
|
9
|
+
constructor(logger: IBetterLogger);
|
|
10
|
+
private _cliExec;
|
|
11
|
+
/** Creates the client application for this cluster to interface with Azure AD,
|
|
12
|
+
*
|
|
13
|
+
* NOTE: This method requires that the azure cli context be authenticated (via: `az login`)
|
|
14
|
+
* and the correct target subscription be set (via `az account set --subscription xyzpdq`).
|
|
15
|
+
*
|
|
16
|
+
* NOTE: This command requires that the current az cli user have rights
|
|
17
|
+
* to register AD applications, as well as list and create service principals.
|
|
18
|
+
* (ie: user account must have at least the role of "Application Administrator")
|
|
19
|
+
*
|
|
20
|
+
* @param clientAppName the name to give this client in Azure AD.
|
|
21
|
+
* @returns client_id: The cleint app id in Azure AD required in Azure REST API requests. */
|
|
22
|
+
create_client_app(clientAppName: string): Promise<string>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OAuth2Client = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const inversify_1 = require("inversify");
|
|
6
|
+
const codiac_common_1 = require("@codiac.io/codiac-common");
|
|
7
|
+
const codiac_ops_common_1 = require("@codiac.io/codiac-ops-common");
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @see https://docs.microsoft.com/en-us/azure/active-directory/azuread-dev/v1-protocols-oauth-code#request-an-authorization-code
|
|
11
|
+
* @see https://docs.microsoft.com/en-us/rest/api/azure/#create-the-request
|
|
12
|
+
*/
|
|
13
|
+
let OAuth2Client = class OAuth2Client {
|
|
14
|
+
constructor(logger) {
|
|
15
|
+
this.logger = logger;
|
|
16
|
+
this._cliExec = new codiac_ops_common_1.CliExec(logger);
|
|
17
|
+
}
|
|
18
|
+
/** Creates the client application for this cluster to interface with Azure AD,
|
|
19
|
+
*
|
|
20
|
+
* NOTE: This method requires that the azure cli context be authenticated (via: `az login`)
|
|
21
|
+
* and the correct target subscription be set (via `az account set --subscription xyzpdq`).
|
|
22
|
+
*
|
|
23
|
+
* NOTE: This command requires that the current az cli user have rights
|
|
24
|
+
* to register AD applications, as well as list and create service principals.
|
|
25
|
+
* (ie: user account must have at least the role of "Application Administrator")
|
|
26
|
+
*
|
|
27
|
+
* @param clientAppName the name to give this client in Azure AD.
|
|
28
|
+
* @returns client_id: The cleint app id in Azure AD required in Azure REST API requests. */
|
|
29
|
+
create_client_app(clientAppName) {
|
|
30
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
try {
|
|
33
|
+
// TODO: Make this idempotent
|
|
34
|
+
this.logger.detail("Creating client AD app...");
|
|
35
|
+
let cmdCreateClientApp = `az ad app create --display-name ${clientAppName} --native-app --reply-urls "https://${clientAppName}" --query appId -o tsv`;
|
|
36
|
+
let clientApplicationId = yield this._cliExec.execAsyncStdOut(cmdCreateClientApp, { cwd: process.cwd() });
|
|
37
|
+
// # Create a service principal for the client application
|
|
38
|
+
// # The app create statement is idempotent, but the sp create isnt,
|
|
39
|
+
// # so we need to check for existence before creating...
|
|
40
|
+
let cmdFind = `az ad sp list --spn ${clientApplicationId} --query [0].objectId -o tsv`;
|
|
41
|
+
let existingId = yield this._cliExec.execAsyncStdOut(cmdFind, { cwd: process.cwd() });
|
|
42
|
+
if (existingId == "") {
|
|
43
|
+
let cmdSvcPrn = `az ad sp create --id ${clientApplicationId}`; // shouldnt we be naming this?
|
|
44
|
+
yield this._cliExec.spawnAndLog(cmdSvcPrn, process.cwd());
|
|
45
|
+
this.logger.detail("Created service principal for AD client app: " + clientApplicationId);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.logger.detail("Service principal for AD Client Application already exists: " + existingId);
|
|
49
|
+
}
|
|
50
|
+
resolve(clientApplicationId);
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
reject(err);
|
|
54
|
+
}
|
|
55
|
+
}));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
OAuth2Client = tslib_1.__decorate([
|
|
60
|
+
tslib_1.__param(0, (0, inversify_1.inject)(codiac_common_1.INTERFACES.IBetterLogger)),
|
|
61
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
62
|
+
], OAuth2Client);
|
|
63
|
+
exports.OAuth2Client = OAuth2Client;
|
|
64
|
+
//# sourceMappingURL=oauth2-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth2-client.js","sourceRoot":"","sources":["../../../src/ops/oauth2-client.ts/oauth2-client.ts"],"names":[],"mappings":";;;;AAAA,yCAAkC;AAClC,4DAAqD;AAErD,oEAAuD;AAIvD;;;;GAIG;AACI,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAAsD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QACzE,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAO,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAID;;;;;;;;;;gGAU4F;IAC/E,iBAAiB,CAAC,aAAqB;;YAClD,OAAO,IAAI,OAAO,CAAS,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnD,IAAI;oBACF,8BAA8B;oBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBAChD,IAAI,kBAAkB,GAAG,mCAAmC,aAAa,uCAAuC,aAAa,wBAAwB,CAAC;oBACtJ,IAAI,mBAAmB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAE1G,0DAA0D;oBAC1D,qEAAqE;oBACrE,yDAAyD;oBACzD,IAAI,OAAO,GAAG,uBAAuB,mBAAmB,8BAA8B,CAAC;oBACvF,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACtF,IAAI,UAAU,IAAI,EAAE,EAAE;wBACpB,IAAI,SAAS,GAAG,wBAAwB,mBAAmB,EAAE,CAAC,CAAE,8BAA8B;wBAC9F,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,+CAA+C,GAAG,mBAAmB,CAAC,CAAA;qBAC1F;yBAAM;wBACL,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,8DAA8D,GAAG,UAAU,CAAC,CAAA;qBAChG;oBACD,OAAO,CAAC,mBAAmB,CAAC,CAAC;iBAC9B;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;YACH,CAAC,CAAA,CAAC,CAAC;QAEL,CAAC;KAAA;CAEF,CAAA;AA9CY,YAAY;IACV,mBAAA,IAAA,kBAAM,EAAC,0BAAU,CAAC,aAAa,CAAC,CAAA;;GADlC,YAAY,CA8CxB;AA9CY,oCAAY"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Result } from '@codiac.io/codiac-common/contracts';
|
|
2
|
+
import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
|
|
3
|
+
import { ProjectConfig } from "@codiac.io/codiac-relay-contracts";
|
|
4
|
+
import { Scaffolding } from './entities/scaffolding';
|
|
5
|
+
import { LocalOps } from './LocalOps';
|
|
6
|
+
import { ProjectContextRepo } from './data/cli-context-repo';
|
|
7
|
+
export interface IProjectScaffolder {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export declare class ProjectInitializer {
|
|
13
|
+
private _ops;
|
|
14
|
+
private _cfgRepo;
|
|
15
|
+
private logger;
|
|
16
|
+
static readonly SCAFFOLDING_SUFFIX = "-scaffolding";
|
|
17
|
+
static readonly DEFAULT_REGISTRY_URL = "https://index.docker.io/v1";
|
|
18
|
+
constructor(cliRoot: string, _ops: LocalOps, _cfgRepo: ProjectContextRepo, logger: IBetterLogger);
|
|
19
|
+
/** Local options for Toyhauler behavior within this project. */
|
|
20
|
+
private _projectConfig;
|
|
21
|
+
private cliAssetsFolder;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @param targetFolder Absolute or relative to the current working directory. If clone url is specified, the repo will be cloned directly into this folder.
|
|
25
|
+
* @param projectType The Codiac project type to scaffold.
|
|
26
|
+
* @param cloneUrl Fully qualified clone url for the repo. This url gets stored with the project.
|
|
27
|
+
*/
|
|
28
|
+
init(targetFolder: string, projectType?: string, cloneUrl?: string): Promise<Result>;
|
|
29
|
+
/** Poor-man's ioc to get the project initializer.
|
|
30
|
+
*
|
|
31
|
+
* @param name (Optional: defaults to the base scaffolding) name of scaffolding package to initialize with.
|
|
32
|
+
*/
|
|
33
|
+
private getScaffolding;
|
|
34
|
+
/** Creates initial files and folders required for any api using the given scaffolding parameters. */
|
|
35
|
+
scaffoldProject(scaffolding: Scaffolding, projectConfig: ProjectConfig): Promise<void>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectInitializer = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const nodeUtil = require("util");
|
|
8
|
+
const contracts_1 = require("@codiac.io/codiac-common/contracts");
|
|
9
|
+
const _1 = require(".");
|
|
10
|
+
const base_scaffolding_1 = require("./scaffolding/base-scaffolding");
|
|
11
|
+
const mkdirAsync = nodeUtil.promisify(fs.mkdir); // anitquated nastiness
|
|
12
|
+
const existsAsync = nodeUtil.promisify(fs.exists); // anitquated nastiness
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
class ProjectInitializer {
|
|
17
|
+
constructor(cliRoot, _ops, _cfgRepo, logger) {
|
|
18
|
+
this._ops = _ops;
|
|
19
|
+
this._cfgRepo = _cfgRepo;
|
|
20
|
+
this.logger = logger;
|
|
21
|
+
this.cliAssetsFolder = path.join(cliRoot, "scaffolding");
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* @param targetFolder Absolute or relative to the current working directory. If clone url is specified, the repo will be cloned directly into this folder.
|
|
26
|
+
* @param projectType The Codiac project type to scaffold.
|
|
27
|
+
* @param cloneUrl Fully qualified clone url for the repo. This url gets stored with the project.
|
|
28
|
+
*/
|
|
29
|
+
init(targetFolder, projectType, cloneUrl) {
|
|
30
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
try {
|
|
33
|
+
// change dir
|
|
34
|
+
// try {
|
|
35
|
+
// process.chdir(targetFolder);
|
|
36
|
+
// fs.mkdirSync(process.cwd());
|
|
37
|
+
// } catch (error) {
|
|
38
|
+
// this.logger.error(`Error switching current working directory to ${targetFolder}: ${error.message||""}`, error);
|
|
39
|
+
// }
|
|
40
|
+
if (cloneUrl) {
|
|
41
|
+
yield this._ops.gitClone(cloneUrl, targetFolder);
|
|
42
|
+
// COMMENTED OUT BC: git clone behavior differs from the defaults we should use here
|
|
43
|
+
// (we want to default to current folder, like npm init does),
|
|
44
|
+
// so instead of introducing wierdness or counter-intuitive defaults,
|
|
45
|
+
// we made targetFolder a required argument, so it simply never defaults.
|
|
46
|
+
// Derive the git project name fromthe repo url
|
|
47
|
+
// if (!targetFolder) {
|
|
48
|
+
// const splits = cloneUrl.split('/');
|
|
49
|
+
// destination = splits[splits.length - 1]
|
|
50
|
+
// }
|
|
51
|
+
this.logger.detail(`Cloned repo to target folder: ${path.resolve(targetFolder)}`);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (path.resolve(targetFolder) != process.cwd()) {
|
|
55
|
+
fs.mkdirSync(targetFolder);
|
|
56
|
+
this.logger.detail(`Created target folder: ${path.resolve(targetFolder)}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
process.chdir(targetFolder);
|
|
60
|
+
let projectRoot = process.cwd();
|
|
61
|
+
// Commented out bc: This copmmand doesnt care whether we are in a repo or not.
|
|
62
|
+
// let repoRoot = await this._ops.getRepoRoot(projectRoot); // NOTE this will throw if the folder isnt a repo
|
|
63
|
+
// this.logger.trace(`Repo root: ${repoRoot}`);
|
|
64
|
+
yield this._ops.tryOpenVsCode(projectRoot);
|
|
65
|
+
this._projectConfig = this._cfgRepo.writeNewProjectConfig();
|
|
66
|
+
// this.logger.detail('Added project config: ' + this.styler.hilite(projectRoot));
|
|
67
|
+
this.logger.detail('Added project config: ' + projectRoot);
|
|
68
|
+
let scaffolding = this.getScaffolding(projectType);
|
|
69
|
+
yield this.scaffoldProject(scaffolding, this._projectConfig);
|
|
70
|
+
resolve(new contracts_1.Result(true));
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
reject(err);
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/** Poor-man's ioc to get the project initializer.
|
|
79
|
+
*
|
|
80
|
+
* @param name (Optional: defaults to the base scaffolding) name of scaffolding package to initialize with.
|
|
81
|
+
*/
|
|
82
|
+
getScaffolding(name) {
|
|
83
|
+
switch (name) {
|
|
84
|
+
case "api":
|
|
85
|
+
return new _1.CodiacApiScaffolding(this.logger);
|
|
86
|
+
case "typescript":
|
|
87
|
+
return new _1.TypescriptScaffolding(this.logger);
|
|
88
|
+
default:
|
|
89
|
+
return new base_scaffolding_1.BaseScaffolding();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// private getApiScaffolding(): Scaffolding {
|
|
93
|
+
// try {
|
|
94
|
+
// let scaf = new Scaffolding("api");
|
|
95
|
+
// scaf.npmDependencies = [
|
|
96
|
+
// "reflect-metadata",
|
|
97
|
+
// "@codiac.io/codiac-api-base",
|
|
98
|
+
// "@codiac.io/codiac-auth-contracts",
|
|
99
|
+
// "@codiac.io/codiac-common",
|
|
100
|
+
// "@codiac.io/plugins-auth-sdk",
|
|
101
|
+
// "@codiac.io/plugins-mongo-repo"
|
|
102
|
+
// ];
|
|
103
|
+
// scaf.npmDevDependencies = [
|
|
104
|
+
// "mocha",
|
|
105
|
+
// "chai",
|
|
106
|
+
// "nyc",
|
|
107
|
+
// "@types/mocha",
|
|
108
|
+
// "@types/chai",
|
|
109
|
+
// "@types/node",
|
|
110
|
+
// "ts-node",
|
|
111
|
+
// "typescript@4.0.5",
|
|
112
|
+
// 'reflect-metadata'
|
|
113
|
+
// ];
|
|
114
|
+
// scaf.scaffoldFolders = [".vscode", "src"]
|
|
115
|
+
// scaf.scaffoldFiles = [
|
|
116
|
+
// `.gitignore${ProjectInitializer.SCAFFOLDING_SUFFIX}`,
|
|
117
|
+
// "src/app-config.json",
|
|
118
|
+
// `src/index.ts${ProjectInitializer.SCAFFOLDING_SUFFIX}`,
|
|
119
|
+
// `src/myApiDef.ts${ProjectInitializer.SCAFFOLDING_SUFFIX}`,
|
|
120
|
+
// ".vscode/settings.json",
|
|
121
|
+
// ".vscode/tasks.json",
|
|
122
|
+
// ".vscode/launch.json"
|
|
123
|
+
// ];
|
|
124
|
+
// scaf.sccIgnoreFile = `.gitignore${ProjectInitializer.SCAFFOLDING_SUFFIX}`;
|
|
125
|
+
// scaf.afterInitHandler = async config => {
|
|
126
|
+
// // Declare the api image
|
|
127
|
+
// let target = new RegistryTarget("default", ProjectInitializer.DEFAULT_REGISTRY_URL)
|
|
128
|
+
// this._ops.declareImageExport(<ProjectConfig>config, config.name, target, "Dockerfile", undefined);
|
|
129
|
+
// };
|
|
130
|
+
// return scaf;
|
|
131
|
+
// } catch (err) {
|
|
132
|
+
// // this.logger.error(err.message||`Error loading api scaffolding.`, err);
|
|
133
|
+
// throw err;
|
|
134
|
+
// }
|
|
135
|
+
// }
|
|
136
|
+
// private getTypescriptScaffolding(): Scaffolding {
|
|
137
|
+
// try {
|
|
138
|
+
// let scaf = new Scaffolding("default");
|
|
139
|
+
// scaf.npmDependencies = ["reflect-metadata"]
|
|
140
|
+
// scaf.npmDevDependencies = [
|
|
141
|
+
// "mocha",
|
|
142
|
+
// "chai",
|
|
143
|
+
// "nyc",
|
|
144
|
+
// "@types/mocha",
|
|
145
|
+
// "@types/chai",
|
|
146
|
+
// "@types/node",
|
|
147
|
+
// "ts-node",
|
|
148
|
+
// "typescript@3.8.3",
|
|
149
|
+
// 'reflect-metadata'
|
|
150
|
+
// ];
|
|
151
|
+
// scaf.scaffoldFolders = [".vscode", "src"]
|
|
152
|
+
// scaf.scaffoldFiles = [
|
|
153
|
+
// `.gitignore${ProjectInitializer.SCAFFOLDING_SUFFIX}`,
|
|
154
|
+
// `src/index.ts${ProjectInitializer.SCAFFOLDING_SUFFIX}`,
|
|
155
|
+
// ".vscode/settings.json",
|
|
156
|
+
// ".vscode/tasks.json",
|
|
157
|
+
// ".vscode/launch.json"
|
|
158
|
+
// ];
|
|
159
|
+
// scaf.sccIgnoreFile = `.gitignore${ProjectInitializer.SCAFFOLDING_SUFFIX}`;
|
|
160
|
+
// // scaf.afterInitHandler = async config => {
|
|
161
|
+
// // // Declare the api image
|
|
162
|
+
// // let target = new RegistryTarget("default", ProjectInitializer.DEFAULT_REGISTRY_URL)
|
|
163
|
+
// // this._ops.declareImageExport(<ProjectConfig>config, config.name, target, "Dockerfile", undefined);
|
|
164
|
+
// // };
|
|
165
|
+
// return scaf;
|
|
166
|
+
// } catch (err) {
|
|
167
|
+
// throw err;
|
|
168
|
+
// }
|
|
169
|
+
// }
|
|
170
|
+
/** Creates initial files and folders required for any api using the given scaffolding parameters. */
|
|
171
|
+
scaffoldProject(scaffolding, projectConfig) {
|
|
172
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
173
|
+
return new Promise((resolve, reject) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
174
|
+
try {
|
|
175
|
+
this.logger.detail(`Scaffolding project as '${scaffolding.name}'...`);
|
|
176
|
+
let projectRoot = path.join(this._ops.getConfigRoot());
|
|
177
|
+
// this.logger.detail(`Assets folder: ${cliAssetsFolder}`)
|
|
178
|
+
// TODO: Consiuder walking the assets folder instead of listing the assets in this._scaffoldFolders and this._scaffoldFiles
|
|
179
|
+
this.logger.detail("Initial folders...");
|
|
180
|
+
for (let index in scaffolding.scaffoldFolders) {
|
|
181
|
+
let relPath = scaffolding.scaffoldFolders[index];
|
|
182
|
+
let targetFolder = path.join(projectRoot, relPath);
|
|
183
|
+
if (!(yield existsAsync(targetFolder))) {
|
|
184
|
+
this.logger.detail(`Creating folder: ${relPath}`);
|
|
185
|
+
yield mkdirAsync(targetFolder);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
this.logger.detail("Initial files...");
|
|
189
|
+
for (let index in scaffolding.scaffoldFiles) {
|
|
190
|
+
let relPath = scaffolding.scaffoldFiles[index];
|
|
191
|
+
let source = path.join(this.cliAssetsFolder, scaffolding.name, relPath);
|
|
192
|
+
let target = path.join(projectRoot, relPath);
|
|
193
|
+
if (target.endsWith(ProjectInitializer.SCAFFOLDING_SUFFIX)) {
|
|
194
|
+
target = target.substring(0, target.lastIndexOf(ProjectInitializer.SCAFFOLDING_SUFFIX));
|
|
195
|
+
}
|
|
196
|
+
this.logger.detail(`Creating file: ${relPath}`);
|
|
197
|
+
if (fs.existsSync(target)) {
|
|
198
|
+
fs.unlinkSync(target);
|
|
199
|
+
}
|
|
200
|
+
fs.copyFileSync(source, target);
|
|
201
|
+
}
|
|
202
|
+
if (scaffolding.afterInitHandler) {
|
|
203
|
+
this.logger.detail(`Executing after-init script...`);
|
|
204
|
+
yield scaffolding.afterInitHandler(projectRoot, projectConfig, this._ops);
|
|
205
|
+
}
|
|
206
|
+
yield this._cfgRepo.updateProjectConfigFile(projectConfig);
|
|
207
|
+
resolve();
|
|
208
|
+
}
|
|
209
|
+
catch (err) {
|
|
210
|
+
reject(err);
|
|
211
|
+
}
|
|
212
|
+
}));
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
exports.ProjectInitializer = ProjectInitializer;
|
|
217
|
+
ProjectInitializer.SCAFFOLDING_SUFFIX = "-scaffolding";
|
|
218
|
+
ProjectInitializer.DEFAULT_REGISTRY_URL = "https://index.docker.io/v1";
|
|
219
|
+
//# sourceMappingURL=project-initializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-initializer.js","sourceRoot":"","sources":["../../src/ops/project-initializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseScaffolding = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const inversify_1 = require("inversify");
|
|
6
|
+
const __1 = require("..");
|
|
7
|
+
/** Stack-agnostic project initializer.
|
|
8
|
+
* Creates only the bare minimum for what is required to run codiac on a project.
|
|
9
|
+
*/
|
|
10
|
+
let BaseScaffolding = class BaseScaffolding extends __1.Scaffolding {
|
|
11
|
+
constructor() {
|
|
12
|
+
super("base");
|
|
13
|
+
this.sccIgnoreFile = `.gitignore${__1.ProjectInitializer.SCAFFOLDING_SUFFIX}`;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
BaseScaffolding = tslib_1.__decorate([
|
|
17
|
+
(0, inversify_1.injectable)(),
|
|
18
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
19
|
+
], BaseScaffolding);
|
|
20
|
+
exports.BaseScaffolding = BaseScaffolding;
|
|
21
|
+
//# sourceMappingURL=base-scaffolding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-scaffolding.js","sourceRoot":"","sources":["../../../src/ops/scaffolding/base-scaffolding.ts"],"names":[],"mappings":";;;;AAAA,yCAAuC;AACvC,0BAAqD;AAErD;;GAEG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,eAAW;IAC9C;QACE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,aAAa,GAAG,aAAa,sBAAkB,CAAC,kBAAkB,EAAE,CAAC;IAC5E,CAAC;CACF,CAAA;AALY,eAAe;IAD3B,IAAA,sBAAU,GAAE;;GACA,eAAe,CAK3B;AALY,0CAAe"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IBetterLogger } from "@codiac.io/codiac-common/IBetterLogger";
|
|
2
|
+
import { TypescriptScaffolding } from "..";
|
|
3
|
+
/** Initializes a project for the Codiac Api platform.
|
|
4
|
+
*/
|
|
5
|
+
export declare class CodiacApiScaffolding extends TypescriptScaffolding {
|
|
6
|
+
constructor(logger: IBetterLogger);
|
|
7
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodiacApiScaffolding = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const codiac_common_1 = require("@codiac.io/codiac-common");
|
|
6
|
+
const codiac_relay_contracts_1 = require("@codiac.io/codiac-relay-contracts");
|
|
7
|
+
const inversify_1 = require("inversify");
|
|
8
|
+
const __1 = require("..");
|
|
9
|
+
/** Initializes a project for the Codiac Api platform.
|
|
10
|
+
*/
|
|
11
|
+
let CodiacApiScaffolding = class CodiacApiScaffolding extends __1.TypescriptScaffolding {
|
|
12
|
+
constructor(logger) {
|
|
13
|
+
super(logger);
|
|
14
|
+
this.name = "api";
|
|
15
|
+
this.npmDependencies = [
|
|
16
|
+
"reflect-metadata",
|
|
17
|
+
"@codiac.io/codiac-api-base",
|
|
18
|
+
"@codiac.io/codiac-auth-contracts",
|
|
19
|
+
"@codiac.io/codiac-common",
|
|
20
|
+
"@codiac.io/plugins-auth-sdk",
|
|
21
|
+
"@codiac.io/plugins-mongo-repo"
|
|
22
|
+
];
|
|
23
|
+
this.npmDevDependencies = [
|
|
24
|
+
"mocha",
|
|
25
|
+
"chai",
|
|
26
|
+
"nyc",
|
|
27
|
+
"@types/mocha",
|
|
28
|
+
"@types/chai",
|
|
29
|
+
"@types/node",
|
|
30
|
+
"ts-node",
|
|
31
|
+
"typescript@4.0.5",
|
|
32
|
+
'reflect-metadata'
|
|
33
|
+
];
|
|
34
|
+
this.scaffoldFolders = [".vscode", "src"];
|
|
35
|
+
this.scaffoldFiles = [
|
|
36
|
+
`.gitignore${__1.ProjectInitializer.SCAFFOLDING_SUFFIX}`,
|
|
37
|
+
"src/app-config.json",
|
|
38
|
+
`src/index.ts${__1.ProjectInitializer.SCAFFOLDING_SUFFIX}`,
|
|
39
|
+
`src/myApiDef.ts${__1.ProjectInitializer.SCAFFOLDING_SUFFIX}`,
|
|
40
|
+
".vscode/settings.json",
|
|
41
|
+
".vscode/tasks.json",
|
|
42
|
+
".vscode/launch.json"
|
|
43
|
+
];
|
|
44
|
+
this.sccIgnoreFile = `.gitignore${__1.ProjectInitializer.SCAFFOLDING_SUFFIX}`;
|
|
45
|
+
this.afterInitHandler = (projectRoot, config, localOps) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
// await super.afterInitHandler!(projectRoot, config, localOps);
|
|
47
|
+
// OR
|
|
48
|
+
yield this.initTypescript(projectRoot, true);
|
|
49
|
+
yield this.initNpm(projectRoot, config, this, localOps);
|
|
50
|
+
config.buildDef = ["tsc"];
|
|
51
|
+
// Declare the api image
|
|
52
|
+
let target = new codiac_relay_contracts_1.RegistryTarget("default", __1.ProjectInitializer.DEFAULT_REGISTRY_URL);
|
|
53
|
+
localOps.declareImageExport(config, config.name, target, "Dockerfile", undefined);
|
|
54
|
+
config.buildIncludes = ["src/app-config.json"];
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
CodiacApiScaffolding = tslib_1.__decorate([
|
|
59
|
+
(0, inversify_1.injectable)(),
|
|
60
|
+
tslib_1.__param(0, (0, inversify_1.inject)(codiac_common_1.INTERFACES.IBetterLogger)),
|
|
61
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
62
|
+
], CodiacApiScaffolding);
|
|
63
|
+
exports.CodiacApiScaffolding = CodiacApiScaffolding;
|
|
64
|
+
//# sourceMappingURL=codiac-api-scaffolding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codiac-api-scaffolding.js","sourceRoot":"","sources":["../../../src/ops/scaffolding/codiac-api-scaffolding.ts"],"names":[],"mappings":";;;;AAAA,4DAAsD;AAEtD,8EAAmE;AACnE,yCAA+C;AAC/C,0BAA+D;AAG/D;GACG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,yBAAqB;IAC7D,YAA8C,MAAqB;QACjE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,eAAe,GAAG;YACrB,kBAAkB;YAClB,4BAA4B;YAC5B,kCAAkC;YAClC,0BAA0B;YAC1B,6BAA6B;YAC7B,+BAA+B;SAChC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG;YACxB,OAAO;YACP,MAAM;YACN,KAAK;YACL,cAAc;YACd,aAAa;YACb,aAAa;YACb,SAAS;YACT,kBAAkB;YAClB,kBAAkB;SACnB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,aAAa,GAAG;YACnB,aAAa,sBAAkB,CAAC,kBAAkB,EAAE;YACpD,qBAAqB;YACrB,eAAe,sBAAkB,CAAC,kBAAkB,EAAE;YACtD,kBAAkB,sBAAkB,CAAC,kBAAkB,EAAE;YACzD,uBAAuB;YACvB,oBAAoB;YACpB,qBAAqB;SACtB,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,aAAa,sBAAkB,CAAC,kBAAkB,EAAE,CAAC;QAC1E,IAAI,CAAC,gBAAgB,GAAG,CAAO,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAE9D,gEAAgE;YAChE,KAAK;YACL,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxD,MAAM,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;YAE1B,wBAAwB;YACxB,IAAI,MAAM,GAAG,IAAI,uCAAc,CAAC,SAAS,EAAE,sBAAkB,CAAC,oBAAoB,CAAC,CAAA;YACnF,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAClF,MAAM,CAAC,aAAa,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjD,CAAC,CAAA,CAAC;IAGJ,CAAC;CACF,CAAA;AAnDY,oBAAoB;IADhC,IAAA,sBAAU,GAAE;IAEE,mBAAA,IAAA,kBAAM,EAAC,0BAAU,CAAC,aAAa,CAAC,CAAA;;GADlC,oBAAoB,CAmDhC;AAnDY,oDAAoB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LocalOps, Scaffolding } from "..";
|
|
2
|
+
import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
|
|
3
|
+
import { ProjectConfig } from "@codiac.io/codiac-relay-contracts";
|
|
4
|
+
/** Initializes a node-typescript project for use with Codiac.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TypescriptScaffolding extends Scaffolding {
|
|
7
|
+
protected logger: IBetterLogger;
|
|
8
|
+
constructor(logger: IBetterLogger);
|
|
9
|
+
/**
|
|
10
|
+
* @param rootFolder
|
|
11
|
+
* @param overwrite Reinitializes seamlessly if the project has already been initialized. Otherwise will throw exception.
|
|
12
|
+
*/
|
|
13
|
+
initTypescript(rootFolder: string, overwrite?: boolean): Promise<void>;
|
|
14
|
+
initNpm(rootFolder: string, projConfig: ProjectConfig, scaffolding: Scaffolding, localOps: LocalOps): Promise<void>;
|
|
15
|
+
}
|