@cdktn/cli-core 0.23.0-pre.8 → 0.24.0-pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/ambient.d.ts +0 -1
  2. package/build/lib/cdktf-config.d.ts.map +1 -0
  3. package/build/lib/cdktf-config.js +108 -0
  4. package/build/lib/cdktf-project-io-handler.d.ts.map +1 -0
  5. package/build/lib/cdktf-project-io-handler.js +84 -0
  6. package/build/lib/cdktf-project.d.ts.map +1 -0
  7. package/build/lib/cdktf-project.js +370 -0
  8. package/{src → build}/lib/cdktf-stack.d.ts +1 -0
  9. package/build/lib/cdktf-stack.d.ts.map +1 -0
  10. package/build/lib/cdktf-stack.js +386 -0
  11. package/build/lib/convert.d.ts.map +1 -0
  12. package/build/lib/convert.js +51 -0
  13. package/build/lib/dependencies/cdktf-config-manager.d.ts.map +1 -0
  14. package/build/lib/dependencies/cdktf-config-manager.js +36 -0
  15. package/build/lib/dependencies/dependency-manager.d.ts.map +1 -0
  16. package/build/lib/dependencies/dependency-manager.js +393 -0
  17. package/build/lib/dependencies/package-manager.d.ts.map +1 -0
  18. package/build/lib/dependencies/package-manager.js +581 -0
  19. package/build/lib/dependencies/prebuilt-providers.d.ts.map +1 -0
  20. package/build/lib/dependencies/prebuilt-providers.js +221 -0
  21. package/build/lib/dependencies/registry-api.d.ts.map +1 -0
  22. package/build/lib/dependencies/registry-api.js +77 -0
  23. package/build/lib/dependencies/version-constraints.d.ts.map +1 -0
  24. package/build/lib/dependencies/version-constraints.js +95 -0
  25. package/build/lib/error-reporting.d.ts.map +1 -0
  26. package/build/lib/error-reporting.js +133 -0
  27. package/build/lib/errors.d.ts.map +1 -0
  28. package/build/lib/errors.js +10 -0
  29. package/build/lib/execution-logs.d.ts.map +1 -0
  30. package/build/lib/execution-logs.js +47 -0
  31. package/build/lib/get.d.ts.map +1 -0
  32. package/build/lib/get.js +90 -0
  33. package/build/lib/helpers/stack-helpers.d.ts.map +1 -0
  34. package/build/lib/helpers/stack-helpers.js +155 -0
  35. package/build/lib/index.d.ts.map +1 -0
  36. package/{src → build}/lib/index.js +1 -2
  37. package/build/lib/init.d.ts.map +1 -0
  38. package/build/lib/init.js +131 -0
  39. package/build/lib/local-provider-constraints.d.ts.map +1 -0
  40. package/build/lib/local-provider-constraints.js +95 -0
  41. package/build/lib/local-provider-versions.d.ts.map +1 -0
  42. package/build/lib/local-provider-versions.js +73 -0
  43. package/{src → build}/lib/models/deploy-machine.d.ts +3 -11
  44. package/build/lib/models/deploy-machine.d.ts.map +1 -0
  45. package/build/lib/models/deploy-machine.js +283 -0
  46. package/build/lib/models/interactive-process.d.ts +28 -0
  47. package/build/lib/models/interactive-process.d.ts.map +1 -0
  48. package/build/lib/models/interactive-process.js +59 -0
  49. package/{src → build}/lib/models/schema.d.ts.map +1 -1
  50. package/build/lib/models/schema.js +181 -0
  51. package/{src → build}/lib/models/terraform-cli.d.ts +1 -0
  52. package/build/lib/models/terraform-cli.d.ts.map +1 -0
  53. package/build/lib/models/terraform-cli.js +355 -0
  54. package/build/lib/models/terraform.d.ts.map +1 -0
  55. package/build/lib/models/terraform.js +72 -0
  56. package/build/lib/output.d.ts.map +1 -0
  57. package/build/lib/output.js +211 -0
  58. package/build/lib/provider-add.d.ts.map +1 -0
  59. package/build/lib/provider-add.js +30 -0
  60. package/build/lib/server/terraform-logs.d.ts.map +1 -0
  61. package/build/lib/server/terraform-logs.js +19 -0
  62. package/{src → build}/lib/synth-stack.d.ts +1 -0
  63. package/build/lib/synth-stack.d.ts.map +1 -0
  64. package/build/lib/synth-stack.js +251 -0
  65. package/build/lib/synth.d.ts.map +1 -0
  66. package/build/lib/synth.js +67 -0
  67. package/{src → build}/lib/terraform-json.d.ts.map +1 -1
  68. package/build/lib/terraform-json.js +82 -0
  69. package/build/lib/terraform-provider-lock.d.ts.map +1 -0
  70. package/{src → build}/lib/terraform-provider-lock.js +2 -2
  71. package/{src → build}/lib/watch.d.ts +1 -0
  72. package/build/lib/watch.d.ts.map +1 -0
  73. package/build/lib/watch.js +155 -0
  74. package/eslint.config.mjs +2 -70
  75. package/package.json +22 -33
  76. package/templates/go/go.mod +1 -1
  77. package/templates/python/Pipfile +1 -1
  78. package/templates/typescript/.hooks.sscaff.js +1 -1
  79. package/templates/typescript/jest.config.js +1 -1
  80. package/src/lib/cdktf-config.d.ts.map +0 -1
  81. package/src/lib/cdktf-config.js +0 -108
  82. package/src/lib/cdktf-project-io-handler.d.ts.map +0 -1
  83. package/src/lib/cdktf-project-io-handler.js +0 -84
  84. package/src/lib/cdktf-project.d.ts.map +0 -1
  85. package/src/lib/cdktf-project.js +0 -371
  86. package/src/lib/cdktf-stack.d.ts.map +0 -1
  87. package/src/lib/cdktf-stack.js +0 -386
  88. package/src/lib/convert.d.ts.map +0 -1
  89. package/src/lib/convert.js +0 -51
  90. package/src/lib/dependencies/cdktf-config-manager.d.ts.map +0 -1
  91. package/src/lib/dependencies/cdktf-config-manager.js +0 -36
  92. package/src/lib/dependencies/dependency-manager.d.ts.map +0 -1
  93. package/src/lib/dependencies/dependency-manager.js +0 -393
  94. package/src/lib/dependencies/package-manager.d.ts.map +0 -1
  95. package/src/lib/dependencies/package-manager.js +0 -581
  96. package/src/lib/dependencies/prebuilt-providers.d.ts.map +0 -1
  97. package/src/lib/dependencies/prebuilt-providers.js +0 -220
  98. package/src/lib/dependencies/registry-api.d.ts.map +0 -1
  99. package/src/lib/dependencies/registry-api.js +0 -77
  100. package/src/lib/dependencies/version-constraints.d.ts.map +0 -1
  101. package/src/lib/dependencies/version-constraints.js +0 -95
  102. package/src/lib/error-reporting.d.ts.map +0 -1
  103. package/src/lib/error-reporting.js +0 -133
  104. package/src/lib/errors.d.ts.map +0 -1
  105. package/src/lib/errors.js +0 -10
  106. package/src/lib/execution-logs.d.ts.map +0 -1
  107. package/src/lib/execution-logs.js +0 -47
  108. package/src/lib/get.d.ts.map +0 -1
  109. package/src/lib/get.js +0 -90
  110. package/src/lib/helpers/stack-helpers.d.ts.map +0 -1
  111. package/src/lib/helpers/stack-helpers.js +0 -155
  112. package/src/lib/index.d.ts.map +0 -1
  113. package/src/lib/init.d.ts.map +0 -1
  114. package/src/lib/init.js +0 -131
  115. package/src/lib/local-provider-constraints.d.ts.map +0 -1
  116. package/src/lib/local-provider-constraints.js +0 -95
  117. package/src/lib/local-provider-versions.d.ts.map +0 -1
  118. package/src/lib/local-provider-versions.js +0 -73
  119. package/src/lib/models/deploy-machine.d.ts.map +0 -1
  120. package/src/lib/models/deploy-machine.js +0 -280
  121. package/src/lib/models/pty-process.d.ts +0 -29
  122. package/src/lib/models/pty-process.d.ts.map +0 -1
  123. package/src/lib/models/pty-process.js +0 -132
  124. package/src/lib/models/schema.js +0 -181
  125. package/src/lib/models/terraform-cli.d.ts.map +0 -1
  126. package/src/lib/models/terraform-cli.js +0 -357
  127. package/src/lib/models/terraform.d.ts.map +0 -1
  128. package/src/lib/models/terraform.js +0 -72
  129. package/src/lib/output.d.ts.map +0 -1
  130. package/src/lib/output.js +0 -211
  131. package/src/lib/provider-add.d.ts.map +0 -1
  132. package/src/lib/provider-add.js +0 -30
  133. package/src/lib/server/terraform-logs.d.ts.map +0 -1
  134. package/src/lib/server/terraform-logs.js +0 -19
  135. package/src/lib/synth-stack.d.ts.map +0 -1
  136. package/src/lib/synth-stack.js +0 -251
  137. package/src/lib/synth.d.ts.map +0 -1
  138. package/src/lib/synth.js +0 -67
  139. package/src/lib/terraform-json.js +0 -82
  140. package/src/lib/terraform-provider-lock.d.ts.map +0 -1
  141. package/src/lib/watch.d.ts.map +0 -1
  142. package/src/lib/watch.js +0 -155
  143. /package/{src → build}/lib/cdktf-config.d.ts +0 -0
  144. /package/{src → build}/lib/cdktf-project-io-handler.d.ts +0 -0
  145. /package/{src → build}/lib/cdktf-project.d.ts +0 -0
  146. /package/{src → build}/lib/convert.d.ts +0 -0
  147. /package/{src → build}/lib/dependencies/cdktf-config-manager.d.ts +0 -0
  148. /package/{src → build}/lib/dependencies/dependency-manager.d.ts +0 -0
  149. /package/{src → build}/lib/dependencies/package-manager.d.ts +0 -0
  150. /package/{src → build}/lib/dependencies/prebuilt-providers.d.ts +0 -0
  151. /package/{src → build}/lib/dependencies/registry-api.d.ts +0 -0
  152. /package/{src → build}/lib/dependencies/version-constraints.d.ts +0 -0
  153. /package/{src → build}/lib/error-reporting.d.ts +0 -0
  154. /package/{src → build}/lib/errors.d.ts +0 -0
  155. /package/{src → build}/lib/execution-logs.d.ts +0 -0
  156. /package/{src → build}/lib/get.d.ts +0 -0
  157. /package/{src → build}/lib/helpers/stack-helpers.d.ts +0 -0
  158. /package/{src → build}/lib/index.d.ts +0 -0
  159. /package/{src → build}/lib/init.d.ts +0 -0
  160. /package/{src → build}/lib/local-provider-constraints.d.ts +0 -0
  161. /package/{src → build}/lib/local-provider-versions.d.ts +0 -0
  162. /package/{src → build}/lib/models/schema.d.ts +0 -0
  163. /package/{src → build}/lib/models/terraform.d.ts +0 -0
  164. /package/{src → build}/lib/output.d.ts +0 -0
  165. /package/{src → build}/lib/provider-add.d.ts +0 -0
  166. /package/{src → build}/lib/server/terraform-logs.d.ts +0 -0
  167. /package/{src → build}/lib/synth.d.ts +0 -0
  168. /package/{src → build}/lib/terraform-json.d.ts +0 -0
  169. /package/{src → build}/lib/terraform-provider-lock.d.ts +0 -0
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractTerraformPlan = exports.isTerraformOutput = exports.DeployingResourceApplyState = exports.PlannedResourceAction = void 0;
4
- // Copyright (c) HashiCorp, Inc
5
- // SPDX-License-Identifier: MPL-2.0
6
- var PlannedResourceAction;
7
- (function (PlannedResourceAction) {
8
- PlannedResourceAction["CREATE"] = "create";
9
- PlannedResourceAction["UPDATE"] = "update";
10
- PlannedResourceAction["DELETE"] = "delete";
11
- PlannedResourceAction["READ"] = "read";
12
- PlannedResourceAction["NO_OP"] = "no-op";
13
- })(PlannedResourceAction || (exports.PlannedResourceAction = PlannedResourceAction = {}));
14
- var DeployingResourceApplyState;
15
- (function (DeployingResourceApplyState) {
16
- DeployingResourceApplyState["WAITING"] = "waiting";
17
- DeployingResourceApplyState["UPDATING"] = "updating";
18
- DeployingResourceApplyState["UPDATED"] = "updated";
19
- DeployingResourceApplyState["CREATING"] = "creating";
20
- DeployingResourceApplyState["CREATED"] = "created";
21
- DeployingResourceApplyState["DESTROYING"] = "destroying";
22
- DeployingResourceApplyState["DESTROYED"] = "destroyed";
23
- DeployingResourceApplyState["SUCCESS"] = "success";
24
- DeployingResourceApplyState["ERROR"] = "error";
25
- })(DeployingResourceApplyState || (exports.DeployingResourceApplyState = DeployingResourceApplyState = {}));
26
- function isTerraformOutput(output) {
27
- return (typeof output === "object" &&
28
- typeof output.sensitive === "boolean" &&
29
- (typeof output.type === "string" || Array.isArray(output.type)));
30
- }
31
- exports.isTerraformOutput = isTerraformOutput;
32
- function filterChangingResources(resources) {
33
- const applyActions = [
34
- PlannedResourceAction.UPDATE,
35
- PlannedResourceAction.CREATE,
36
- PlannedResourceAction.DELETE,
37
- PlannedResourceAction.READ,
38
- ];
39
- return resources.filter((resource) => applyActions.includes(resource.action));
40
- }
41
- class AbstractTerraformPlan {
42
- constructor(planFile, resourceChanges, outputChanges) {
43
- this.planFile = planFile;
44
- this.resourceChanges = resourceChanges;
45
- this.outputChanges = outputChanges;
46
- }
47
- get resources() {
48
- return (this.resourceChanges || []).map((resource) => {
49
- return {
50
- id: resource.address,
51
- action: resource.change.actions[0],
52
- };
53
- });
54
- }
55
- get applyableResources() {
56
- return filterChangingResources(this.resources);
57
- }
58
- get outputs() {
59
- return Object.entries(this.outputChanges || {}).map(([key, value]) => ({
60
- id: `output.${key}`,
61
- action: value.actions[0],
62
- }));
63
- }
64
- get changingOutputs() {
65
- return filterChangingResources(this.outputs);
66
- }
67
- get needsApply() {
68
- return (this.applyableResources.length > 0 || this.changingOutputs.length > 0);
69
- }
70
- }
71
- exports.AbstractTerraformPlan = AbstractTerraformPlan;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsSUFBWSxxQkFNWDtBQU5ELFdBQVkscUJBQXFCO0lBQy9CLDBDQUFpQixDQUFBO0lBQ2pCLDBDQUFpQixDQUFBO0lBQ2pCLDBDQUFpQixDQUFBO0lBQ2pCLHNDQUFhLENBQUE7SUFDYix3Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxxQkFBcUIscUNBQXJCLHFCQUFxQixRQU1oQztBQUVELElBQVksMkJBVVg7QUFWRCxXQUFZLDJCQUEyQjtJQUNyQyxrREFBbUIsQ0FBQTtJQUNuQixvREFBcUIsQ0FBQTtJQUNyQixrREFBbUIsQ0FBQTtJQUNuQixvREFBcUIsQ0FBQTtJQUNyQixrREFBbUIsQ0FBQTtJQUNuQix3REFBeUIsQ0FBQTtJQUN6QixzREFBdUIsQ0FBQTtJQUN2QixrREFBbUIsQ0FBQTtJQUNuQiw4Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFWVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQVV0QztBQWlDRCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFXO0lBQzNDLE9BQU8sQ0FDTCxPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQzFCLE9BQU8sTUFBTSxDQUFDLFNBQVMsS0FBSyxTQUFTO1FBQ3JDLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNoRSxDQUFDO0FBQ0osQ0FBQztBQU5ELDhDQU1DO0FBU0QsU0FBUyx1QkFBdUIsQ0FBQyxTQUE0QjtJQUMzRCxNQUFNLFlBQVksR0FBRztRQUNuQixxQkFBcUIsQ0FBQyxNQUFNO1FBQzVCLHFCQUFxQixDQUFDLE1BQU07UUFDNUIscUJBQXFCLENBQUMsTUFBTTtRQUM1QixxQkFBcUIsQ0FBQyxJQUFJO0tBQzNCLENBQUM7SUFDRixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUNELE1BQXNCLHFCQUFxQjtJQUN6QyxZQUNrQixRQUFnQixFQUNmLGVBQWtDLEVBQ2xDLGFBQW9EO1FBRnJELGFBQVEsR0FBUixRQUFRLENBQVE7UUFDZixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQXVDO0lBQ3BFLENBQUM7SUFFSixJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkQsT0FBTztnQkFDTCxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3BCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDaEIsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLEVBQUUsRUFBRSxVQUFVLEdBQUcsRUFBRTtZQUNuQixNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDekIsQ0FBQyxDQUFzQixDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLENBQ0wsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcENELHNEQW9DQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5leHBvcnQgZW51bSBQbGFubmVkUmVzb3VyY2VBY3Rpb24ge1xuICBDUkVBVEUgPSBcImNyZWF0ZVwiLFxuICBVUERBVEUgPSBcInVwZGF0ZVwiLFxuICBERUxFVEUgPSBcImRlbGV0ZVwiLFxuICBSRUFEID0gXCJyZWFkXCIsXG4gIE5PX09QID0gXCJuby1vcFwiLFxufVxuXG5leHBvcnQgZW51bSBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGUge1xuICBXQUlUSU5HID0gXCJ3YWl0aW5nXCIsXG4gIFVQREFUSU5HID0gXCJ1cGRhdGluZ1wiLFxuICBVUERBVEVEID0gXCJ1cGRhdGVkXCIsXG4gIENSRUFUSU5HID0gXCJjcmVhdGluZ1wiLFxuICBDUkVBVEVEID0gXCJjcmVhdGVkXCIsXG4gIERFU1RST1lJTkcgPSBcImRlc3Ryb3lpbmdcIixcbiAgREVTVFJPWUVEID0gXCJkZXN0cm95ZWRcIixcbiAgU1VDQ0VTUyA9IFwic3VjY2Vzc1wiLFxuICBFUlJPUiA9IFwiZXJyb3JcIixcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbm5lZFJlc291cmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgYWN0aW9uOiBQbGFubmVkUmVzb3VyY2VBY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95aW5nUmVzb3VyY2UgZXh0ZW5kcyBQbGFubmVkUmVzb3VyY2Uge1xuICBhcHBseVN0YXRlOiBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlIHtcbiAgYWN0aW9uczogc3RyaW5nW107XG4gIGJlZm9yZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgYWZ0ZXI6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDaGFuZ2VzIHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBtb2R1bGVfYWRkcmVzczogc3RyaW5nO1xuICBtb2RlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBwcm92aWRlcl9uYW1lOiBzdHJpbmc7XG4gIGNoYW5nZTogUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU91dHB1dCB7XG4gIHNlbnNpdGl2ZTogYm9vbGVhbjtcbiAgdHlwZTogc3RyaW5nIHwgQXJyYXk8YW55PjtcbiAgdmFsdWU6IHN0cmluZyB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgQXJyYXk8YW55Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVycmFmb3JtT3V0cHV0KG91dHB1dDogYW55KTogb3V0cHV0IGlzIFRlcnJhZm9ybU91dHB1dCB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG91dHB1dCA9PT0gXCJvYmplY3RcIiAmJlxuICAgIHR5cGVvZiBvdXRwdXQuc2Vuc2l0aXZlID09PSBcImJvb2xlYW5cIiAmJlxuICAgICh0eXBlb2Ygb3V0cHV0LnR5cGUgPT09IFwic3RyaW5nXCIgfHwgQXJyYXkuaXNBcnJheShvdXRwdXQudHlwZSkpXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtUGxhbiB7XG4gIHJlYWRvbmx5IHJlc291cmNlczogUGxhbm5lZFJlc291cmNlW107XG4gIHJlYWRvbmx5IGFwcGx5YWJsZVJlc291cmNlczogUGxhbm5lZFJlc291cmNlW107XG4gIHJlYWRvbmx5IG5lZWRzQXBwbHk6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHBsYW5GaWxlOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGZpbHRlckNoYW5naW5nUmVzb3VyY2VzKHJlc291cmNlczogUGxhbm5lZFJlc291cmNlW10pIHtcbiAgY29uc3QgYXBwbHlBY3Rpb25zID0gW1xuICAgIFBsYW5uZWRSZXNvdXJjZUFjdGlvbi5VUERBVEUsXG4gICAgUGxhbm5lZFJlc291cmNlQWN0aW9uLkNSRUFURSxcbiAgICBQbGFubmVkUmVzb3VyY2VBY3Rpb24uREVMRVRFLFxuICAgIFBsYW5uZWRSZXNvdXJjZUFjdGlvbi5SRUFELFxuICBdO1xuICByZXR1cm4gcmVzb3VyY2VzLmZpbHRlcigocmVzb3VyY2UpID0+IGFwcGx5QWN0aW9ucy5pbmNsdWRlcyhyZXNvdXJjZS5hY3Rpb24pKTtcbn1cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRlcnJhZm9ybVBsYW4gaW1wbGVtZW50cyBUZXJyYWZvcm1QbGFuIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBsYW5GaWxlOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZUNoYW5nZXM6IFJlc291cmNlQ2hhbmdlc1tdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3V0cHV0Q2hhbmdlczogUmVjb3JkPHN0cmluZywgUmVzb3VyY2VDaGFuZ2VzQ2hhbmdlPixcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VzKCk6IFBsYW5uZWRSZXNvdXJjZVtdIHtcbiAgICByZXR1cm4gKHRoaXMucmVzb3VyY2VDaGFuZ2VzIHx8IFtdKS5tYXAoKHJlc291cmNlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogcmVzb3VyY2UuYWRkcmVzcyxcbiAgICAgICAgYWN0aW9uOiByZXNvdXJjZS5jaGFuZ2UuYWN0aW9uc1swXSxcbiAgICAgIH0gYXMgUGxhbm5lZFJlc291cmNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBhcHBseWFibGVSZXNvdXJjZXMoKTogUGxhbm5lZFJlc291cmNlW10ge1xuICAgIHJldHVybiBmaWx0ZXJDaGFuZ2luZ1Jlc291cmNlcyh0aGlzLnJlc291cmNlcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUGxhbm5lZFJlc291cmNlW10ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLm91dHB1dENoYW5nZXMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgICAgaWQ6IGBvdXRwdXQuJHtrZXl9YCxcbiAgICAgIGFjdGlvbjogdmFsdWUuYWN0aW9uc1swXSxcbiAgICB9KSkgYXMgUGxhbm5lZFJlc291cmNlW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYW5naW5nT3V0cHV0cygpOiBQbGFubmVkUmVzb3VyY2VbXSB7XG4gICAgcmV0dXJuIGZpbHRlckNoYW5naW5nUmVzb3VyY2VzKHRoaXMub3V0cHV0cyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5lZWRzQXBwbHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYXBwbHlhYmxlUmVzb3VyY2VzLmxlbmd0aCA+IDAgfHwgdGhpcy5jaGFuZ2luZ091dHB1dHMubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgVGVycmFmb3JtRGVwbG95U3RhdGUgPVxuICB8IHsgdHlwZTogXCJydW5uaW5nXCI7IGNhbmNlbGxlZDogYm9vbGVhbiB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBhcHByb3ZhbFwiO1xuICAgICAgYXBwcm92ZTogKCkgPT4gdm9pZDtcbiAgICAgIHJlamVjdDogKCkgPT4gdm9pZDtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBzZW50aW5lbCBvdmVycmlkZVwiO1xuICAgICAgb3ZlcnJpZGU6ICgpID0+IHZvaWQ7XG4gICAgICByZWplY3Q6ICgpID0+IHZvaWQ7XG4gICAgfVxuICB8IHsgdHlwZTogXCJleHRlcm5hbCBhcHByb3ZhbCByZXBseVwiOyBhcHByb3ZlZDogYm9vbGVhbiB9XG4gIHwgeyB0eXBlOiBcImV4dGVybmFsIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCI7IG92ZXJyaWRkZW46IGJvb2xlYW4gfTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm0ge1xuICBpbml0OiAob3B0czoge1xuICAgIG5lZWRzVXBncmFkZTogYm9vbGVhbjtcbiAgICBub0NvbG9yPzogYm9vbGVhbjtcbiAgICBuZWVkc0xvY2tmaWxlVXBkYXRlOiBib29sZWFuO1xuICAgIG1pZ3JhdGVTdGF0ZTogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICBwbGFuOiAob3B0czoge1xuICAgIGRlc3Ryb3k6IGJvb2xlYW47XG4gICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgIHBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICB9KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkZXBsb3koXG4gICAgb3B0aW9uczoge1xuICAgICAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICAgICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgICAgcGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgICB2YXJzPzogc3RyaW5nW107XG4gICAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgfSxcbiAgICBjYWxsYmFjazogKHN0YXRlOiBUZXJyYWZvcm1EZXBsb3lTdGF0ZSkgPT4gdm9pZCxcbiAgKTogUHJvbWlzZTx7IGNhbmNlbGxlZDogYm9vbGVhbiB9PjtcbiAgZGVzdHJveShcbiAgICBvcHRpb25zOiB7XG4gICAgICBhdXRvQXBwcm92ZT86IGJvb2xlYW47XG4gICAgICBwYXJhbGxlbGlzbT86IG51bWJlcjtcbiAgICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICAgIHZhckZpbGVzPzogc3RyaW5nW107XG4gICAgICBub0NvbG9yPzogYm9vbGVhbjtcbiAgICB9LFxuICAgIGNhbGxiYWNrOiAoc3RhdGU6IFRlcnJhZm9ybURlcGxveVN0YXRlKSA9PiB2b2lkLFxuICApOiBQcm9taXNlPHsgY2FuY2VsbGVkOiBib29sZWFuIH0+O1xuICBvdXRwdXQoKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IFRlcnJhZm9ybU91dHB1dCB9PjtcbiAgYWJvcnQ6ICgpID0+IFByb21pc2U8dm9pZD47XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["output.ts"],"names":[],"mappings":"AASA,OAAO,EACL,iBAAiB,EAGjB,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,kBAAkB,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,eAAe,CAAC;AAmB5D,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,sBAAsB,EAC/B,uBAAuB,EAAE,OAAO,iBAUjC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,UAInD;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,GAClC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;CAAE,CAAC;AAoH9C,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,iBAAiB,EAwB1D,CAAC;AAcF,eAAO,MAAM,yBAAyB,iBACtB,OAAO,MAAM,EAAE,GAAG,CAAC,WACxB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,KAC1C,sBA0BF,CAAC"}
package/src/lib/output.js DELETED
@@ -1,211 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getConstructIdsForOutputs = exports.parseOutput = exports.normalizeOutputPath = exports.saveOutputs = void 0;
30
- // Copyright (c) HashiCorp, Inc
31
- // SPDX-License-Identifier: MPL-2.0
32
- const z = __importStar(require("zod"));
33
- const fs = __importStar(require("fs"));
34
- const path = __importStar(require("path"));
35
- const strip_ansi_1 = __importDefault(require("strip-ansi"));
36
- const commons_1 = require("@cdktn/commons");
37
- const schema_1 = require("./models/schema");
38
- const terraform_1 = require("./models/terraform");
39
- function unpackTerraformOutput(outputs, includeSensitiveOutputs) {
40
- return Object.entries(outputs).reduce((acc, [key, entry]) => ({
41
- ...acc,
42
- [key]: (0, terraform_1.isTerraformOutput)(entry)
43
- ? !entry.sensitive || includeSensitiveOutputs
44
- ? entry.value
45
- : undefined
46
- : unpackTerraformOutput(entry, includeSensitiveOutputs),
47
- }), {});
48
- }
49
- async function saveOutputs(filePath, outputs, includeSensitiveOutputs) {
50
- fs.writeFileSync(filePath, JSON.stringify(unpackTerraformOutput(outputs, includeSensitiveOutputs), null, 2));
51
- }
52
- exports.saveOutputs = saveOutputs;
53
- function normalizeOutputPath(filePath) {
54
- return path.isAbsolute(filePath)
55
- ? filePath
56
- : path.join(process.cwd(), filePath);
57
- }
58
- exports.normalizeOutputPath = normalizeOutputPath;
59
- const mapActionToState = (action, done) => {
60
- switch (action) {
61
- case "create":
62
- case "update":
63
- return done
64
- ? terraform_1.DeployingResourceApplyState.CREATED
65
- : terraform_1.DeployingResourceApplyState.CREATING;
66
- case "delete":
67
- return done
68
- ? terraform_1.DeployingResourceApplyState.DESTROYED
69
- : terraform_1.DeployingResourceApplyState.DESTROYING;
70
- default:
71
- return terraform_1.DeployingResourceApplyState.WAITING;
72
- }
73
- };
74
- // This is deprecated and will be removed in a future version.
75
- const parseJsonOutputLine = (line) => {
76
- let json, message;
77
- try {
78
- json = JSON.parse(line);
79
- }
80
- catch (_a) {
81
- commons_1.logger.trace(`Could not parse line as JSON: ${line}`);
82
- return;
83
- }
84
- try {
85
- message = schema_1.schema.parse(json);
86
- }
87
- catch (err) {
88
- if (err instanceof z.ZodError) {
89
- commons_1.logger.trace(`Error parsing line into schema: ${JSON.stringify(err.errors)} => ${line}`);
90
- }
91
- return;
92
- }
93
- switch (message.type) {
94
- case "apply_start":
95
- case "apply_progress":
96
- return {
97
- id: message.hook.resource.resource,
98
- applyState: mapActionToState(message.hook.action, false),
99
- };
100
- case "apply_complete":
101
- return {
102
- id: message.hook.resource.resource,
103
- applyState: mapActionToState(message.hook.action, true),
104
- };
105
- default:
106
- return;
107
- }
108
- };
109
- const parseTextOutputLine = (line) => {
110
- if (/^Outputs:/.test(line)) {
111
- return;
112
- }
113
- if (/^Plan:/.test(line)) {
114
- return;
115
- }
116
- if (/^data\..*/.test(line)) {
117
- return;
118
- }
119
- const resourceMatch = line.match(/^([a-zA-Z_][a-zA-Z\d_\-.]*):/);
120
- let applyState;
121
- switch (true) {
122
- case /Creating.../.test(line):
123
- case /Still creating.../.test(line):
124
- applyState = terraform_1.DeployingResourceApplyState.CREATING;
125
- break;
126
- case /Creation complete/.test(line):
127
- applyState = terraform_1.DeployingResourceApplyState.CREATED;
128
- break;
129
- case /Modifying.../.test(line):
130
- applyState = terraform_1.DeployingResourceApplyState.UPDATING;
131
- break;
132
- case /Modifications complete/.test(line):
133
- applyState = terraform_1.DeployingResourceApplyState.UPDATED;
134
- break;
135
- case /Destroying.../.test(line):
136
- case /Still destroying.../.test(line):
137
- applyState = terraform_1.DeployingResourceApplyState.DESTROYING;
138
- break;
139
- case /Destruction complete/.test(line):
140
- applyState = terraform_1.DeployingResourceApplyState.DESTROYED;
141
- break;
142
- default:
143
- return;
144
- }
145
- if (resourceMatch &&
146
- resourceMatch.length >= 0 &&
147
- resourceMatch[1] != "Warning") {
148
- return {
149
- id: resourceMatch[1],
150
- applyState,
151
- };
152
- }
153
- else {
154
- return;
155
- }
156
- };
157
- const parseOutput = (str) => {
158
- const lines = (0, strip_ansi_1.default)(str.toString()).split("\n");
159
- const resources = lines.map((line) => {
160
- const parsed = parseJsonOutputLine(line) || parseTextOutputLine(line);
161
- if (parsed === undefined) {
162
- return;
163
- }
164
- const { id, applyState } = parsed;
165
- return {
166
- id,
167
- applyState,
168
- action: terraform_1.PlannedResourceAction.CREATE,
169
- };
170
- });
171
- return resources.reduce((acc, resource) => {
172
- if (resource) {
173
- acc.push(resource);
174
- }
175
- return acc;
176
- // eslint-disable-next-line @typescript-eslint/no-array-constructor
177
- }, new Array());
178
- };
179
- exports.parseOutput = parseOutput;
180
- const isObjectEmpty = (obj) => {
181
- if (typeof obj !== "object") {
182
- return false;
183
- }
184
- return (Object.keys(obj).length === 0 ||
185
- Object.values(obj).every((v) => v === undefined || v === null || isObjectEmpty(v)));
186
- };
187
- const getConstructIdsForOutputs = (stackContent, outputs) => {
188
- // Older cdktf versions might not have the output metadata
189
- if (!("//" in stackContent) || !("outputs" in stackContent["//"])) {
190
- return outputs;
191
- }
192
- const outputsMapping = stackContent["//"].outputs;
193
- const mapOutputs = (value) => {
194
- return Object.entries(value).reduce((acc, [key, value]) => {
195
- if (typeof value === "string") {
196
- return { ...acc, [key]: outputs[value] };
197
- }
198
- const mapped = mapOutputs(value);
199
- if (isObjectEmpty(mapped)) {
200
- return acc;
201
- }
202
- return {
203
- ...acc,
204
- [key]: mapped,
205
- };
206
- }, {});
207
- };
208
- return mapOutputs(outputsMapping);
209
- };
210
- exports.getConstructIdsForOutputs = getConstructIdsForOutputs;
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsib3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFDekIsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3Qiw0REFBbUM7QUFFbkMsNENBQXdDO0FBQ3hDLDRDQUFzRDtBQUN0RCxrREFNNEI7QUFPNUIsU0FBUyxxQkFBcUIsQ0FDNUIsT0FBK0IsRUFDL0IsdUJBQWdDO0lBRWhDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQ25DLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLEdBQUcsR0FBRztRQUNOLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBQSw2QkFBaUIsRUFBQyxLQUFLLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSx1QkFBdUI7Z0JBQzNDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSztnQkFDYixDQUFDLENBQUMsU0FBUztZQUNiLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUM7S0FDMUQsQ0FBQyxFQUNGLEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVNLEtBQUssVUFBVSxXQUFXLENBQy9CLFFBQWdCLEVBQ2hCLE9BQStCLEVBQy9CLHVCQUFnQztJQUVoQyxFQUFFLENBQUMsYUFBYSxDQUNkLFFBQVEsRUFDUixJQUFJLENBQUMsU0FBUyxDQUNaLHFCQUFxQixDQUFDLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxFQUN2RCxJQUFJLEVBQ0osQ0FBQyxDQUNGLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFiRCxrQ0FhQztBQUVELFNBQWdCLG1CQUFtQixDQUFDLFFBQWdCO0lBQ2xELE9B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QyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQyxDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDO0FBN0JXLFFBQUEseUJBQXlCLDZCQTZCcEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgeiBmcm9tIFwiem9kXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCBzdHJpcEFuc2kgZnJvbSBcInN0cmlwLWFuc2lcIjtcblxuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBBY3Rpb25UeXBlcywgc2NoZW1hIH0gZnJvbSBcIi4vbW9kZWxzL3NjaGVtYVwiO1xuaW1wb3J0IHtcbiAgRGVwbG95aW5nUmVzb3VyY2UsXG4gIERlcGxveWluZ1Jlc291cmNlQXBwbHlTdGF0ZSxcbiAgUGxhbm5lZFJlc291cmNlQWN0aW9uLFxuICBUZXJyYWZvcm1PdXRwdXQsXG4gIGlzVGVycmFmb3JtT3V0cHV0LFxufSBmcm9tIFwiLi9tb2RlbHMvdGVycmFmb3JtXCI7XG5cbmV4cG9ydCB0eXBlIE91dHB1dHMgPSB7IFtrZXk6IHN0cmluZ106IFRlcnJhZm9ybU91dHB1dCB9O1xuZXhwb3J0IHR5cGUgT3V0cHV0SWRNYXBMZWFmID0geyBbY29uc3RydWN0SWQ6IHN0cmluZ106IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgT3V0cHV0SWRNYXBOb2RlID0geyBbc3RhY2tPckNvbnN0cnVjdElkOiBzdHJpbmddOiBPdXRwdXRJZE1hcCB9O1xuZXhwb3J0IHR5cGUgT3V0cHV0SWRNYXAgPSBPdXRwdXRJZE1hcExlYWYgfCBPdXRwdXRJZE1hcE5vZGU7XG5cbmZ1bmN0aW9uIHVucGFja1RlcnJhZm9ybU91dHB1dChcbiAgb3V0cHV0czogTmVzdGVkVGVycmFmb3JtT3V0cHV0cyxcbiAgaW5jbHVkZVNlbnNpdGl2ZU91dHB1dHM6IGJvb2xlYW4sXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG91dHB1dHMpLnJlZHVjZShcbiAgICAoYWNjLCBba2V5LCBlbnRyeV0pID0+ICh7XG4gICAgICAuLi5hY2MsXG4gICAgICBba2V5XTogaXNUZXJyYWZvcm1PdXRwdXQoZW50cnkpXG4gICAgICAgID8gIWVudHJ5LnNlbnNpdGl2ZSB8fCBpbmNsdWRlU2Vuc2l0aXZlT3V0cHV0c1xuICAgICAgICAgID8gZW50cnkudmFsdWVcbiAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICA6IHVucGFja1RlcnJhZm9ybU91dHB1dChlbnRyeSwgaW5jbHVkZVNlbnNpdGl2ZU91dHB1dHMpLFxuICAgIH0pLFxuICAgIHt9LFxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2F2ZU91dHB1dHMoXG4gIGZpbGVQYXRoOiBzdHJpbmcsXG4gIG91dHB1dHM6IE5lc3RlZFRlcnJhZm9ybU91dHB1dHMsXG4gIGluY2x1ZGVTZW5zaXRpdmVPdXRwdXRzOiBib29sZWFuLFxuKSB7XG4gIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgZmlsZVBhdGgsXG4gICAgSlNPTi5zdHJpbmdpZnkoXG4gICAgICB1bnBhY2tUZXJyYWZvcm1PdXRwdXQob3V0cHV0cywgaW5jbHVkZVNlbnNpdGl2ZU91dHB1dHMpLFxuICAgICAgbnVsbCxcbiAgICAgIDIsXG4gICAgKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZU91dHB1dFBhdGgoZmlsZVBhdGg6IHN0cmluZykge1xuICByZXR1cm4gcGF0aC5pc0Fic29sdXRlKGZpbGVQYXRoKVxuICAgID8gZmlsZVBhdGhcbiAgICA6IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBmaWxlUGF0aCk7XG59XG5cbmV4cG9ydCB0eXBlIE5lc3RlZFRlcnJhZm9ybU91dHB1dHMgPVxuICB8IHsgW2tleTogc3RyaW5nXTogVGVycmFmb3JtT3V0cHV0IH1cbiAgfCB7IFtrZXk6IHN0cmluZ106IE5lc3RlZFRlcnJhZm9ybU91dHB1dHMgfTtcblxuY29uc3QgbWFwQWN0aW9uVG9TdGF0ZSA9IChhY3Rpb246IEFjdGlvblR5cGVzLCBkb25lOiBib29sZWFuKSA9PiB7XG4gIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgY2FzZSBcImNyZWF0ZVwiOlxuICAgIGNhc2UgXCJ1cGRhdGVcIjpcbiAgICAgIHJldHVybiBkb25lXG4gICAgICAgID8gRGVwbG95aW5nUmVzb3VyY2VBcHBseVN0YXRlLkNSRUFURURcbiAgICAgICAgOiBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGUuQ1JFQVRJTkc7XG4gICAgY2FzZSBcImRlbGV0ZVwiOlxuICAgICAgcmV0dXJuIGRvbmVcbiAgICAgICAgPyBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGUuREVTVFJPWUVEXG4gICAgICAgIDogRGVwbG95aW5nUmVzb3VyY2VBcHBseVN0YXRlLkRFU1RST1lJTkc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGUuV0FJVElORztcbiAgfVxufTtcbi8vIFRoaXMgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uXG5jb25zdCBwYXJzZUpzb25PdXRwdXRMaW5lID0gKFxuICBsaW5lOiBzdHJpbmcsXG4pOiBPbWl0PERlcGxveWluZ1Jlc291cmNlLCBcImFjdGlvblwiPiB8IHVuZGVmaW5lZCA9PiB7XG4gIGxldCBqc29uLCBtZXNzYWdlO1xuICB0cnkge1xuICAgIGpzb24gPSBKU09OLnBhcnNlKGxpbmUpO1xuICB9IGNhdGNoIHtcbiAgICBsb2dnZXIudHJhY2UoYENvdWxkIG5vdCBwYXJzZSBsaW5lIGFzIEpTT046ICR7bGluZX1gKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cnkge1xuICAgIG1lc3NhZ2UgPSBzY2hlbWEucGFyc2UoanNvbik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmIChlcnIgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBsb2dnZXIudHJhY2UoXG4gICAgICAgIGBFcnJvciBwYXJzaW5nIGxpbmUgaW50byBzY2hlbWE6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZXJyLmVycm9ycyxcbiAgICAgICAgKX0gPT4gJHtsaW5lfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgY2FzZSBcImFwcGx5X3N0YXJ0XCI6XG4gICAgY2FzZSBcImFwcGx5X3Byb2dyZXNzXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogbWVzc2FnZS5ob29rLnJlc291cmNlLnJlc291cmNlLFxuICAgICAgICBhcHBseVN0YXRlOiBtYXBBY3Rpb25Ub1N0YXRlKG1lc3NhZ2UuaG9vay5hY3Rpb24sIGZhbHNlKSxcbiAgICAgIH07XG5cbiAgICBjYXNlIFwiYXBwbHlfY29tcGxldGVcIjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBtZXNzYWdlLmhvb2sucmVzb3VyY2UucmVzb3VyY2UsXG4gICAgICAgIGFwcGx5U3RhdGU6IG1hcEFjdGlvblRvU3RhdGUobWVzc2FnZS5ob29rLmFjdGlvbiwgdHJ1ZSksXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm47XG4gIH1cbn07XG5cbmNvbnN0IHBhcnNlVGV4dE91dHB1dExpbmUgPSAoXG4gIGxpbmU6IHN0cmluZyxcbik6IE9taXQ8RGVwbG95aW5nUmVzb3VyY2UsIFwiYWN0aW9uXCI+IHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKC9eT3V0cHV0czovLnRlc3QobGluZSkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKC9eUGxhbjovLnRlc3QobGluZSkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKC9eZGF0YVxcLi4qLy50ZXN0KGxpbmUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcmVzb3VyY2VNYXRjaCA9IGxpbmUubWF0Y2goL14oW2EtekEtWl9dW2EtekEtWlxcZF9cXC0uXSopOi8pO1xuICBsZXQgYXBwbHlTdGF0ZTogRGVwbG95aW5nUmVzb3VyY2VBcHBseVN0YXRlO1xuXG4gIHN3aXRjaCAodHJ1ZSkge1xuICAgIGNhc2UgL0NyZWF0aW5nLi4uLy50ZXN0KGxpbmUpOlxuICAgIGNhc2UgL1N0aWxsIGNyZWF0aW5nLi4uLy50ZXN0KGxpbmUpOlxuICAgICAgYXBwbHlTdGF0ZSA9IERlcGxveWluZ1Jlc291cmNlQXBwbHlTdGF0ZS5DUkVBVElORztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgL0NyZWF0aW9uIGNvbXBsZXRlLy50ZXN0KGxpbmUpOlxuICAgICAgYXBwbHlTdGF0ZSA9IERlcGxveWluZ1Jlc291cmNlQXBwbHlTdGF0ZS5DUkVBVEVEO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAvTW9kaWZ5aW5nLi4uLy50ZXN0KGxpbmUpOlxuICAgICAgYXBwbHlTdGF0ZSA9IERlcGxveWluZ1Jlc291cmNlQXBwbHlTdGF0ZS5VUERBVElORztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgL01vZGlmaWNhdGlvbnMgY29tcGxldGUvLnRlc3QobGluZSk6XG4gICAgICBhcHBseVN0YXRlID0gRGVwbG95aW5nUmVzb3VyY2VBcHBseVN0YXRlLlVQREFURUQ7XG4gICAgICBicmVhaztcbiAgICBjYXNlIC9EZXN0cm95aW5nLi4uLy50ZXN0KGxpbmUpOlxuICAgIGNhc2UgL1N0aWxsIGRlc3Ryb3lpbmcuLi4vLnRlc3QobGluZSk6XG4gICAgICBhcHBseVN0YXRlID0gRGVwbG95aW5nUmVzb3VyY2VBcHBseVN0YXRlLkRFU1RST1lJTkc7XG4gICAgICBicmVhaztcbiAgICBjYXNlIC9EZXN0cnVjdGlvbiBjb21wbGV0ZS8udGVzdChsaW5lKTpcbiAgICAgIGFwcGx5U3RhdGUgPSBEZXBsb3lpbmdSZXNvdXJjZUFwcGx5U3RhdGUuREVTVFJPWUVEO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChcbiAgICByZXNvdXJjZU1hdGNoICYmXG4gICAgcmVzb3VyY2VNYXRjaC5sZW5ndGggPj0gMCAmJlxuICAgIHJlc291cmNlTWF0Y2hbMV0gIT0gXCJXYXJuaW5nXCJcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiByZXNvdXJjZU1hdGNoWzFdLFxuICAgICAgYXBwbHlTdGF0ZSxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlT3V0cHV0ID0gKHN0cjogc3RyaW5nKTogRGVwbG95aW5nUmVzb3VyY2VbXSA9PiB7XG4gIGNvbnN0IGxpbmVzID0gc3RyaXBBbnNpKHN0ci50b1N0cmluZygpKS5zcGxpdChcIlxcblwiKTtcblxuICBjb25zdCByZXNvdXJjZXMgPSBsaW5lcy5tYXAoKGxpbmUpID0+IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUpzb25PdXRwdXRMaW5lKGxpbmUpIHx8IHBhcnNlVGV4dE91dHB1dExpbmUobGluZSk7XG4gICAgaWYgKHBhcnNlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBpZCwgYXBwbHlTdGF0ZSB9ID0gcGFyc2VkO1xuICAgIHJldHVybiB7XG4gICAgICBpZCxcbiAgICAgIGFwcGx5U3RhdGUsXG4gICAgICBhY3Rpb246IFBsYW5uZWRSZXNvdXJjZUFjdGlvbi5DUkVBVEUsXG4gICAgfTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc291cmNlcy5yZWR1Y2UoKGFjYywgcmVzb3VyY2UpID0+IHtcbiAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgIGFjYy5wdXNoKHJlc291cmNlKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWFycmF5LWNvbnN0cnVjdG9yXG4gIH0sIG5ldyBBcnJheSgpKTtcbn07XG5cbmNvbnN0IGlzT2JqZWN0RW1wdHkgPSAob2JqOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYm9vbGVhbiA9PiB7XG4gIGlmICh0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDAgfHxcbiAgICBPYmplY3QudmFsdWVzKG9iaikuZXZlcnkoXG4gICAgICAodikgPT4gdiA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IG51bGwgfHwgaXNPYmplY3RFbXB0eSh2KSxcbiAgICApXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29uc3RydWN0SWRzRm9yT3V0cHV0cyA9IChcbiAgc3RhY2tDb250ZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBvdXRwdXRzOiB7IFtrZXk6IHN0cmluZ106IFRlcnJhZm9ybU91dHB1dCB9LFxuKTogTmVzdGVkVGVycmFmb3JtT3V0cHV0cyA9PiB7XG4gIC8vIE9sZGVyIGNka3RmIHZlcnNpb25zIG1pZ2h0IG5vdCBoYXZlIHRoZSBvdXRwdXQgbWV0YWRhdGFcbiAgaWYgKCEoXCIvL1wiIGluIHN0YWNrQ29udGVudCkgfHwgIShcIm91dHB1dHNcIiBpbiBzdGFja0NvbnRlbnRbXCIvL1wiXSkpIHtcbiAgICByZXR1cm4gb3V0cHV0cztcbiAgfVxuICBjb25zdCBvdXRwdXRzTWFwcGluZyA9IHN0YWNrQ29udGVudFtcIi8vXCJdLm91dHB1dHM7XG5cbiAgY29uc3QgbWFwT3V0cHV0cyA9ICh2YWx1ZTogT3V0cHV0SWRNYXApOiBOZXN0ZWRUZXJyYWZvcm1PdXRwdXRzID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModmFsdWUpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogb3V0cHV0c1t2YWx1ZV0gfTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWFwcGVkID0gbWFwT3V0cHV0cyh2YWx1ZSk7XG4gICAgICBpZiAoaXNPYmplY3RFbXB0eShtYXBwZWQpKSB7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW2tleV06IG1hcHBlZCxcbiAgICAgIH07XG4gICAgfSwge30pO1xuICB9O1xuXG4gIHJldHVybiBtYXBPdXRwdXRzKG91dHB1dHNNYXBwaW5nKTtcbn07XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-add.d.ts","sourceRoot":"","sources":["provider-add.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO1C,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,WAAW,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,IAAI,EACJ,UAAU,GACX,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBpC"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) HashiCorp, Inc.
4
- * SPDX-License-Identifier: MPL-2.0
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.providerAdd = void 0;
8
- const dependency_manager_1 = require("./dependencies/dependency-manager");
9
- const init_1 = require("./init");
10
- async function providerAdd({ providers, language, projectDirectory, cdktfVersion, dist, forceLocal, }) {
11
- const version = cdktfVersion || (await (0, init_1.determineDeps)(cdktfVersion, dist)).cdktf_version;
12
- const manager = new dependency_manager_1.DependencyManager(language, version, projectDirectory);
13
- let needsGet = false;
14
- for (const provider of providers) {
15
- const constraint = dependency_manager_1.ProviderConstraint.fromConfigEntry(provider);
16
- if (forceLocal) {
17
- needsGet = true;
18
- await manager.addLocalProvider(constraint);
19
- }
20
- else {
21
- const { addedLocalProvider } = await manager.addProvider(constraint);
22
- if (addedLocalProvider) {
23
- needsGet = true;
24
- }
25
- }
26
- }
27
- return needsGet;
28
- }
29
- exports.providerAdd = providerAdd;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicHJvdmlkZXItYWRkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQUdILDBFQUcyQztBQUMzQyxpQ0FBdUM7QUFXaEMsS0FBSyxVQUFVLFdBQVcsQ0FBQyxFQUNoQyxTQUFTLEVBQ1QsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osSUFBSSxFQUNKLFVBQVUsR0FDTTtJQUNoQixNQUFNLE9BQU8sR0FDWCxZQUFZLElBQUksQ0FBQyxNQUFNLElBQUEsb0JBQWEsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFMUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxzQ0FBaUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFFM0UsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXJCLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQUcsdUNBQWtCLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLE1BQU0sT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JFLElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBN0JELGtDQTZCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7XG4gIERlcGVuZGVuY3lNYW5hZ2VyLFxuICBQcm92aWRlckNvbnN0cmFpbnQsXG59IGZyb20gXCIuL2RlcGVuZGVuY2llcy9kZXBlbmRlbmN5LW1hbmFnZXJcIjtcbmltcG9ydCB7IGRldGVybWluZURlcHMgfSBmcm9tIFwiLi9pbml0XCI7XG5cbmV4cG9ydCB0eXBlIFByb3ZpZGVyQWRkQXJncyA9IHtcbiAgcHJvdmlkZXJzOiBzdHJpbmdbXTtcbiAgbGFuZ3VhZ2U6IExhbmd1YWdlO1xuICBwcm9qZWN0RGlyZWN0b3J5OiBzdHJpbmc7XG4gIGNka3RmVmVyc2lvbj86IHN0cmluZztcbiAgZm9yY2VMb2NhbD86IGJvb2xlYW47XG4gIGRpc3Q/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvdmlkZXJBZGQoe1xuICBwcm92aWRlcnMsXG4gIGxhbmd1YWdlLFxuICBwcm9qZWN0RGlyZWN0b3J5LFxuICBjZGt0ZlZlcnNpb24sXG4gIGRpc3QsXG4gIGZvcmNlTG9jYWwsXG59OiBQcm92aWRlckFkZEFyZ3MpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgdmVyc2lvbiA9XG4gICAgY2RrdGZWZXJzaW9uIHx8IChhd2FpdCBkZXRlcm1pbmVEZXBzKGNka3RmVmVyc2lvbiwgZGlzdCkpLmNka3RmX3ZlcnNpb247XG5cbiAgY29uc3QgbWFuYWdlciA9IG5ldyBEZXBlbmRlbmN5TWFuYWdlcihsYW5ndWFnZSwgdmVyc2lvbiwgcHJvamVjdERpcmVjdG9yeSk7XG5cbiAgbGV0IG5lZWRzR2V0ID0gZmFsc2U7XG5cbiAgZm9yIChjb25zdCBwcm92aWRlciBvZiBwcm92aWRlcnMpIHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gUHJvdmlkZXJDb25zdHJhaW50LmZyb21Db25maWdFbnRyeShwcm92aWRlcik7XG4gICAgaWYgKGZvcmNlTG9jYWwpIHtcbiAgICAgIG5lZWRzR2V0ID0gdHJ1ZTtcbiAgICAgIGF3YWl0IG1hbmFnZXIuYWRkTG9jYWxQcm92aWRlcihjb25zdHJhaW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBhZGRlZExvY2FsUHJvdmlkZXIgfSA9IGF3YWl0IG1hbmFnZXIuYWRkUHJvdmlkZXIoY29uc3RyYWludCk7XG4gICAgICBpZiAoYWRkZWRMb2NhbFByb3ZpZGVyKSB7XG4gICAgICAgIG5lZWRzR2V0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmVlZHNHZXQ7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"terraform-logs.d.ts","sourceRoot":"","sources":["terraform-logs.ts"],"names":[],"mappings":"AAWA,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractJsonLogIfPresent = void 0;
4
- // Copyright (c) HashiCorp, Inc
5
- // SPDX-License-Identifier: MPL-2.0
6
- function extractJsonLogLineIfPresent(logLine) {
7
- try {
8
- const extractedMessage = JSON.parse(logLine)["@message"];
9
- return extractedMessage ? extractedMessage.trim() : logLine;
10
- }
11
- catch (e) {
12
- return logLine;
13
- }
14
- }
15
- function extractJsonLogIfPresent(logLines) {
16
- return logLines.split("\n").map(extractJsonLogLineIfPresent).join("\n");
17
- }
18
- exports.extractJsonLogIfPresent = extractJsonLogIfPresent;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWxvZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXJyYWZvcm0tbG9ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLFNBQVMsMkJBQTJCLENBQUMsT0FBZTtJQUNsRCxJQUFJLENBQUM7UUFDSCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM5RCxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQUMsUUFBZ0I7SUFDdEQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRkQsMERBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuZnVuY3Rpb24gZXh0cmFjdEpzb25Mb2dMaW5lSWZQcmVzZW50KGxvZ0xpbmU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgY29uc3QgZXh0cmFjdGVkTWVzc2FnZSA9IEpTT04ucGFyc2UobG9nTGluZSlbXCJAbWVzc2FnZVwiXTtcbiAgICByZXR1cm4gZXh0cmFjdGVkTWVzc2FnZSA/IGV4dHJhY3RlZE1lc3NhZ2UudHJpbSgpIDogbG9nTGluZTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBsb2dMaW5lO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0SnNvbkxvZ0lmUHJlc2VudChsb2dMaW5lczogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGxvZ0xpbmVzLnNwbGl0KFwiXFxuXCIpLm1hcChleHRyYWN0SnNvbkxvZ0xpbmVJZlByZXNlbnQpLmpvaW4oXCJcXG5cIik7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"synth-stack.d.ts","sourceRoot":"","sources":["synth-stack.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,aAAa,EACb,sBAAsB,EACvB,MAAM,OAAO,CAAC;AAQf,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ5B,aAAa,EAAE,gBAAgB,EAAE,CAAM;IACvC,cAAc,EAAE,gBAAgB,EAAE,CAAM;IACxC,cAAc,EAAE,gBAAgB,EAAE,CAAM;gBAElB,MAAM,EAAE,gBAAgB,EAAE;IAIhD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAOvC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAO/C,IAAW,uBAAuB,IAAI,gBAAgB,EAAE,CAYvD;CACF;AAOD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,qBAAa,UAAU;WACD,KAAK,CACvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,gBAAgB,SAAgB,EAChC,QAAQ,UAAQ,EAAE,0DAA0D;IAC5E,OAAO,UAAQ,EACf,WAAW,CAAC,EAAE,WAAW,EACzB,GAAG,UAAQ,GACV,OAAO,CAAC,gBAAgB,EAAE,CAAC;WAmIV,cAAc,CAAC,MAAM,EAAE,MAAM;WAsB7B,qBAAqB,CACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,EAAE,CAAC;WAkCV,cAAc,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC;WAiBI,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW;CAGlE"}