aws-cdk 2.1006.0 → 3.0.0

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 (256) hide show
  1. package/README.md +1 -1
  2. package/THIRD_PARTY_LICENSES +104 -86
  3. package/build-info.json +2 -2
  4. package/db.json.gz +0 -0
  5. package/lib/api/aws-auth.d.ts +1 -0
  6. package/lib/api/{logs/index.js → aws-auth.js} +2 -3
  7. package/lib/api/bootstrap.d.ts +1 -0
  8. package/lib/api/bootstrap.js +18 -0
  9. package/lib/api/cloud-assembly.d.ts +1 -0
  10. package/lib/api/cloud-assembly.js +18 -0
  11. package/lib/api/cloudformation.d.ts +1 -0
  12. package/lib/api/cloudformation.js +18 -0
  13. package/lib/api/context.d.ts +1 -40
  14. package/lib/api/context.js +16 -80
  15. package/lib/api/deployments.d.ts +1 -0
  16. package/lib/api/deployments.js +18 -0
  17. package/lib/api/environment.d.ts +1 -0
  18. package/lib/api/environment.js +18 -0
  19. package/lib/api/garbage-collection.d.ts +1 -0
  20. package/lib/api/garbage-collection.js +18 -0
  21. package/lib/api/hotswap.d.ts +1 -0
  22. package/lib/api/hotswap.js +18 -0
  23. package/lib/api/index.d.ts +5 -1
  24. package/lib/api/index.js +6 -2
  25. package/lib/api/logs-monitor.d.ts +1 -0
  26. package/lib/api/logs-monitor.js +18 -0
  27. package/lib/api/notices.d.ts +1 -0
  28. package/lib/api/notices.js +18 -0
  29. package/lib/api/plugin.d.ts +1 -0
  30. package/lib/api/{resource-import/index.js → plugin.js} +2 -3
  31. package/lib/api/resource-import.d.ts +1 -0
  32. package/lib/api/resource-import.js +18 -0
  33. package/lib/api/rwlock.d.ts +1 -0
  34. package/lib/api/{garbage-collection/index.js → rwlock.js} +2 -2
  35. package/lib/api/settings.d.ts +1 -26
  36. package/lib/api/settings.js +16 -103
  37. package/lib/api/stack-events.d.ts +1 -0
  38. package/lib/api/stack-events.js +18 -0
  39. package/lib/api/tags.d.ts +1 -9
  40. package/lib/api/tags.js +16 -8
  41. package/lib/api/toolkit-info.d.ts +1 -52
  42. package/lib/api/toolkit-info.js +16 -152
  43. package/lib/api/tree.d.ts +1 -31
  44. package/lib/api/tree.js +16 -35
  45. package/lib/api/work-graph.d.ts +1 -0
  46. package/lib/api/work-graph.js +18 -0
  47. package/lib/api-private.d.ts +3 -0
  48. package/lib/api-private.js +22 -0
  49. package/lib/cli/cdk-toolkit.d.ts +20 -16
  50. package/lib/cli/cdk-toolkit.js +102 -37
  51. package/lib/cli/cli-config.js +2 -2
  52. package/lib/cli/cli.d.ts +1 -1
  53. package/lib/cli/cli.js +22 -19
  54. package/lib/cli/io-host/cli-io-host.js +2 -2
  55. package/lib/cli/pretty-print-error.js +3 -1
  56. package/lib/cli/util/npm.d.ts +4 -1
  57. package/lib/cli/util/npm.js +25 -13
  58. package/lib/cli/version.d.ts +1 -1
  59. package/lib/cli/version.js +21 -25
  60. package/lib/commands/context.js +3 -2
  61. package/lib/commands/diff.d.ts +1 -50
  62. package/lib/commands/diff.js +5 -213
  63. package/lib/commands/init/init.js +3 -2
  64. package/lib/commands/list-stacks.js +4 -4
  65. package/lib/context-providers/ami.d.ts +1 -13
  66. package/lib/context-providers/ami.js +16 -48
  67. package/lib/context-providers/availability-zones.d.ts +1 -13
  68. package/lib/context-providers/availability-zones.js +16 -25
  69. package/lib/context-providers/cc-api-provider.d.ts +1 -30
  70. package/lib/context-providers/cc-api-provider.js +16 -136
  71. package/lib/context-providers/endpoint-service-availability-zones.d.ts +1 -13
  72. package/lib/context-providers/endpoint-service-availability-zones.js +16 -31
  73. package/lib/context-providers/hosted-zones.d.ts +1 -12
  74. package/lib/context-providers/hosted-zones.js +16 -65
  75. package/lib/context-providers/index.d.ts +1 -44
  76. package/lib/context-providers/index.js +15 -126
  77. package/lib/context-providers/keys.d.ts +1 -13
  78. package/lib/context-providers/keys.js +16 -50
  79. package/lib/context-providers/load-balancers.d.ts +1 -20
  80. package/lib/context-providers/load-balancers.js +16 -154
  81. package/lib/context-providers/security-groups.d.ts +1 -9
  82. package/lib/context-providers/security-groups.js +16 -66
  83. package/lib/context-providers/ssm-parameters.d.ts +1 -25
  84. package/lib/context-providers/ssm-parameters.js +16 -57
  85. package/lib/context-providers/vpcs.d.ts +1 -13
  86. package/lib/context-providers/vpcs.js +16 -285
  87. package/lib/{api/cxapp → cxapp}/cloud-assembly.d.ts +3 -59
  88. package/lib/cxapp/cloud-assembly.js +108 -0
  89. package/lib/{api/cxapp → cxapp}/cloud-executable.d.ts +10 -3
  90. package/lib/cxapp/cloud-executable.js +92 -0
  91. package/lib/{api/cxapp → cxapp}/environments.d.ts +1 -2
  92. package/lib/{api/cxapp → cxapp}/environments.js +2 -2
  93. package/lib/cxapp/exec.d.ts +14 -0
  94. package/lib/cxapp/exec.js +157 -0
  95. package/lib/cxapp/index.d.ts +4 -0
  96. package/lib/{api/bootstrap → cxapp}/index.js +5 -3
  97. package/lib/index.js +134493 -125222
  98. package/lib/init-templates/.init-version.json +1 -1
  99. package/lib/init-templates/.recommended-feature-flags.json +3 -1
  100. package/lib/legacy-aws-auth.d.ts +74 -0
  101. package/lib/legacy-aws-auth.js +40 -0
  102. package/lib/legacy-exports-source.d.ts +13 -18
  103. package/lib/legacy-exports-source.js +42 -49
  104. package/lib/legacy-exports.d.ts +3 -6
  105. package/lib/legacy-exports.js +5 -5
  106. package/lib/legacy-types.d.ts +31 -0
  107. package/lib/legacy-types.js +3 -0
  108. package/package.json +19 -18
  109. package/lib/api/aws-auth/account-cache.d.ts +0 -36
  110. package/lib/api/aws-auth/account-cache.js +0 -99
  111. package/lib/api/aws-auth/awscli-compatible.d.ts +0 -42
  112. package/lib/api/aws-auth/awscli-compatible.js +0 -263
  113. package/lib/api/aws-auth/cached.d.ts +0 -11
  114. package/lib/api/aws-auth/cached.js +0 -26
  115. package/lib/api/aws-auth/credential-plugins.d.ts +0 -36
  116. package/lib/api/aws-auth/credential-plugins.js +0 -152
  117. package/lib/api/aws-auth/index.d.ts +0 -3
  118. package/lib/api/aws-auth/index.js +0 -20
  119. package/lib/api/aws-auth/provider-caching.d.ts +0 -13
  120. package/lib/api/aws-auth/provider-caching.js +0 -24
  121. package/lib/api/aws-auth/sdk-logger.d.ts +0 -69
  122. package/lib/api/aws-auth/sdk-logger.js +0 -124
  123. package/lib/api/aws-auth/sdk-provider.d.ts +0 -207
  124. package/lib/api/aws-auth/sdk-provider.js +0 -357
  125. package/lib/api/aws-auth/sdk.d.ts +0 -229
  126. package/lib/api/aws-auth/sdk.js +0 -373
  127. package/lib/api/aws-auth/tracing.d.ts +0 -11
  128. package/lib/api/aws-auth/tracing.js +0 -60
  129. package/lib/api/aws-auth/user-agent.d.ts +0 -7
  130. package/lib/api/aws-auth/user-agent.js +0 -20
  131. package/lib/api/aws-auth/util.d.ts +0 -6
  132. package/lib/api/aws-auth/util.js +0 -23
  133. package/lib/api/bootstrap/bootstrap-environment.d.ts +0 -35
  134. package/lib/api/bootstrap/bootstrap-environment.js +0 -321
  135. package/lib/api/bootstrap/bootstrap-props.d.ts +0 -130
  136. package/lib/api/bootstrap/bootstrap-props.js +0 -14
  137. package/lib/api/bootstrap/deploy-bootstrap.d.ts +0 -39
  138. package/lib/api/bootstrap/deploy-bootstrap.js +0 -141
  139. package/lib/api/bootstrap/index.d.ts +0 -2
  140. package/lib/api/bootstrap/legacy-template.d.ts +0 -2
  141. package/lib/api/bootstrap/legacy-template.js +0 -82
  142. package/lib/api/cloudformation/evaluate-cloudformation-template.d.ts +0 -85
  143. package/lib/api/cloudformation/evaluate-cloudformation-template.js +0 -440
  144. package/lib/api/cloudformation/index.d.ts +0 -4
  145. package/lib/api/cloudformation/index.js +0 -21
  146. package/lib/api/cloudformation/nested-stack-helpers.d.ts +0 -25
  147. package/lib/api/cloudformation/nested-stack-helpers.js +0 -86
  148. package/lib/api/cloudformation/stack-helpers.d.ts +0 -96
  149. package/lib/api/cloudformation/stack-helpers.js +0 -158
  150. package/lib/api/cloudformation/template-body-parameter.d.ts +0 -22
  151. package/lib/api/cloudformation/template-body-parameter.js +0 -104
  152. package/lib/api/cxapp/cloud-assembly.js +0 -304
  153. package/lib/api/cxapp/cloud-executable.js +0 -89
  154. package/lib/api/cxapp/exec.d.ts +0 -56
  155. package/lib/api/cxapp/exec.js +0 -272
  156. package/lib/api/deployments/asset-manifest-builder.d.ts +0 -8
  157. package/lib/api/deployments/asset-manifest-builder.js +0 -35
  158. package/lib/api/deployments/asset-publishing.d.ts +0 -60
  159. package/lib/api/deployments/asset-publishing.js +0 -141
  160. package/lib/api/deployments/assets.d.ts +0 -11
  161. package/lib/api/deployments/assets.js +0 -109
  162. package/lib/api/deployments/cfn-api.d.ts +0 -138
  163. package/lib/api/deployments/cfn-api.js +0 -438
  164. package/lib/api/deployments/checks.d.ts +0 -9
  165. package/lib/api/deployments/checks.js +0 -72
  166. package/lib/api/deployments/deploy-stack.d.ts +0 -155
  167. package/lib/api/deployments/deploy-stack.js +0 -478
  168. package/lib/api/deployments/deployment-method.d.ts +0 -24
  169. package/lib/api/deployments/deployment-method.js +0 -3
  170. package/lib/api/deployments/deployment-result.d.ts +0 -21
  171. package/lib/api/deployments/deployment-result.js +0 -10
  172. package/lib/api/deployments/deployments.d.ts +0 -296
  173. package/lib/api/deployments/deployments.js +0 -331
  174. package/lib/api/deployments/hotswap-deployments.d.ts +0 -17
  175. package/lib/api/deployments/hotswap-deployments.js +0 -441
  176. package/lib/api/deployments/index.d.ts +0 -4
  177. package/lib/api/deployments/index.js +0 -21
  178. package/lib/api/environment/environment-access.d.ts +0 -140
  179. package/lib/api/environment/environment-access.js +0 -202
  180. package/lib/api/environment/environment-resources.d.ts +0 -75
  181. package/lib/api/environment/environment-resources.js +0 -207
  182. package/lib/api/environment/index.d.ts +0 -3
  183. package/lib/api/environment/index.js +0 -20
  184. package/lib/api/environment/placeholders.d.ts +0 -10
  185. package/lib/api/environment/placeholders.js +0 -23
  186. package/lib/api/garbage-collection/garbage-collector.d.ts +0 -158
  187. package/lib/api/garbage-collection/garbage-collector.js +0 -599
  188. package/lib/api/garbage-collection/index.d.ts +0 -1
  189. package/lib/api/garbage-collection/progress-printer.d.ts +0 -23
  190. package/lib/api/garbage-collection/progress-printer.js +0 -70
  191. package/lib/api/garbage-collection/stack-refresh.d.ts +0 -49
  192. package/lib/api/garbage-collection/stack-refresh.js +0 -151
  193. package/lib/api/hotswap/appsync-mapping-templates.d.ts +0 -4
  194. package/lib/api/hotswap/appsync-mapping-templates.js +0 -162
  195. package/lib/api/hotswap/code-build-projects.d.ts +0 -4
  196. package/lib/api/hotswap/code-build-projects.js +0 -62
  197. package/lib/api/hotswap/common.d.ts +0 -89
  198. package/lib/api/hotswap/common.js +0 -128
  199. package/lib/api/hotswap/ecs-services.d.ts +0 -4
  200. package/lib/api/hotswap/ecs-services.js +0 -159
  201. package/lib/api/hotswap/lambda-functions.d.ts +0 -4
  202. package/lib/api/hotswap/lambda-functions.js +0 -297
  203. package/lib/api/hotswap/s3-bucket-deployments.d.ts +0 -5
  204. package/lib/api/hotswap/s3-bucket-deployments.js +0 -117
  205. package/lib/api/hotswap/stepfunctions-state-machines.d.ts +0 -4
  206. package/lib/api/hotswap/stepfunctions-state-machines.js +0 -48
  207. package/lib/api/logs/find-cloudwatch-logs.d.ts +0 -25
  208. package/lib/api/logs/find-cloudwatch-logs.js +0 -95
  209. package/lib/api/logs/index.d.ts +0 -2
  210. package/lib/api/logs/logs-monitor.d.ts +0 -76
  211. package/lib/api/logs/logs-monitor.js +0 -187
  212. package/lib/api/plugin/context-provider-plugin.d.ts +0 -6
  213. package/lib/api/plugin/context-provider-plugin.js +0 -7
  214. package/lib/api/plugin/index.d.ts +0 -3
  215. package/lib/api/plugin/index.js +0 -20
  216. package/lib/api/plugin/mode.d.ts +0 -4
  217. package/lib/api/plugin/mode.js +0 -9
  218. package/lib/api/plugin/plugin.d.ts +0 -63
  219. package/lib/api/plugin/plugin.js +0 -102
  220. package/lib/api/resource-import/importer.d.ts +0 -220
  221. package/lib/api/resource-import/importer.js +0 -331
  222. package/lib/api/resource-import/index.d.ts +0 -2
  223. package/lib/api/resource-import/migrator.d.ts +0 -26
  224. package/lib/api/resource-import/migrator.js +0 -71
  225. package/lib/api/stack-events/index.d.ts +0 -3
  226. package/lib/api/stack-events/index.js +0 -20
  227. package/lib/api/stack-events/stack-activity-monitor.d.ts +0 -100
  228. package/lib/api/stack-events/stack-activity-monitor.js +0 -142
  229. package/lib/api/stack-events/stack-event-poller.d.ts +0 -69
  230. package/lib/api/stack-events/stack-event-poller.js +0 -128
  231. package/lib/api/stack-events/stack-progress-monitor.d.ts +0 -48
  232. package/lib/api/stack-events/stack-progress-monitor.js +0 -94
  233. package/lib/api/stack-events/stack-status.d.ts +0 -42
  234. package/lib/api/stack-events/stack-status.js +0 -88
  235. package/lib/api/util/rwlock.d.ts +0 -65
  236. package/lib/api/util/rwlock.js +0 -179
  237. package/lib/api/work-graph/index.d.ts +0 -3
  238. package/lib/api/work-graph/index.js +0 -20
  239. package/lib/api/work-graph/work-graph-builder.d.ts +0 -34
  240. package/lib/api/work-graph/work-graph-builder.js +0 -168
  241. package/lib/api/work-graph/work-graph-types.d.ts +0 -50
  242. package/lib/api/work-graph/work-graph-types.js +0 -13
  243. package/lib/api/work-graph/work-graph.d.ts +0 -72
  244. package/lib/api/work-graph/work-graph.js +0 -346
  245. package/lib/cli/activity-printer/base.d.ts +0 -50
  246. package/lib/cli/activity-printer/base.js +0 -114
  247. package/lib/cli/activity-printer/current.d.ts +0 -26
  248. package/lib/cli/activity-printer/current.js +0 -118
  249. package/lib/cli/activity-printer/display.d.ts +0 -13
  250. package/lib/cli/activity-printer/display.js +0 -80
  251. package/lib/cli/activity-printer/history.d.ts +0 -32
  252. package/lib/cli/activity-printer/history.js +0 -108
  253. package/lib/cli/activity-printer/index.d.ts +0 -3
  254. package/lib/cli/activity-printer/index.js +0 -20
  255. package/lib/notices.d.ts +0 -203
  256. package/lib/notices.js +0 -411
@@ -1,168 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkGraphBuilder = void 0;
4
- const cxapi = require("@aws-cdk/cx-api");
5
- const cdk_assets_1 = require("cdk-assets");
6
- const work_graph_1 = require("./work-graph");
7
- const work_graph_types_1 = require("./work-graph-types");
8
- const api_1 = require("../../../../@aws-cdk/tmp-toolkit-helpers/src/api");
9
- const util_1 = require("../../util");
10
- class WorkGraphBuilder {
11
- constructor(ioHelper, prebuildAssets, idPrefix = '') {
12
- this.prebuildAssets = prebuildAssets;
13
- this.idPrefix = idPrefix;
14
- this.graph = new work_graph_1.WorkGraph({}, ioHelper);
15
- this.ioHelper = ioHelper;
16
- }
17
- addStack(artifact) {
18
- this.graph.addNodes({
19
- type: 'stack',
20
- id: `${this.idPrefix}${artifact.id}`,
21
- dependencies: new Set(this.stackArtifactIds(onlyStacks(artifact.dependencies))),
22
- stack: artifact,
23
- deploymentState: work_graph_types_1.DeploymentState.PENDING,
24
- priority: WorkGraphBuilder.PRIORITIES.stack,
25
- });
26
- }
27
- /**
28
- * Oof, see this parameter list
29
- */
30
- // eslint-disable-next-line max-len
31
- addAsset(parentStack, assetManifestArtifact, assetManifest, asset) {
32
- // Just the artifact identifier
33
- const assetId = asset.id.assetId;
34
- const buildId = `build-${assetId}-${(0, util_1.contentHashAny)([assetId, asset.genericSource]).substring(0, 10)}`;
35
- const publishId = `publish-${assetId}-${(0, util_1.contentHashAny)([assetId, asset.genericDestination]).substring(0, 10)}`;
36
- // Build node only gets added once because they are all the same
37
- if (!this.graph.tryGetNode(buildId)) {
38
- const node = {
39
- type: 'asset-build',
40
- id: buildId,
41
- note: asset.displayName(false),
42
- dependencies: new Set([
43
- ...this.stackArtifactIds(assetManifestArtifact.dependencies),
44
- // If we disable prebuild, then assets inherit (stack) dependencies from their parent stack
45
- ...!this.prebuildAssets ? this.stackArtifactIds(onlyStacks(parentStack.dependencies)) : [],
46
- ]),
47
- parentStack: parentStack,
48
- assetManifestArtifact,
49
- assetManifest,
50
- asset,
51
- deploymentState: work_graph_types_1.DeploymentState.PENDING,
52
- priority: WorkGraphBuilder.PRIORITIES['asset-build'],
53
- };
54
- this.graph.addNodes(node);
55
- }
56
- const publishNode = this.graph.tryGetNode(publishId);
57
- if (!publishNode) {
58
- this.graph.addNodes({
59
- type: 'asset-publish',
60
- id: publishId,
61
- note: asset.displayName(true),
62
- dependencies: new Set([
63
- buildId,
64
- ]),
65
- parentStack,
66
- assetManifestArtifact,
67
- assetManifest,
68
- asset,
69
- deploymentState: work_graph_types_1.DeploymentState.PENDING,
70
- priority: WorkGraphBuilder.PRIORITIES['asset-publish'],
71
- });
72
- }
73
- for (const inheritedDep of this.stackArtifactIds(onlyStacks(parentStack.dependencies))) {
74
- // The asset publish step also depends on the stacks that the parent depends on.
75
- // This is purely cosmetic: if we don't do this, the progress printing of asset publishing
76
- // is going to interfere with the progress bar of the stack deployment. We could remove this
77
- // for overall faster deployments if we ever have a better method of progress displaying.
78
- // Note: this may introduce a cycle if one of the parent's dependencies is another stack that
79
- // depends on this asset. To workaround this we remove these cycles once all nodes have
80
- // been added to the graph.
81
- this.graph.addDependency(publishId, inheritedDep);
82
- }
83
- // This will work whether the stack node has been added yet or not
84
- this.graph.addDependency(`${this.idPrefix}${parentStack.id}`, publishId);
85
- }
86
- build(artifacts) {
87
- const parentStacks = stacksFromAssets(artifacts);
88
- for (const artifact of artifacts) {
89
- if (cxapi.CloudFormationStackArtifact.isCloudFormationStackArtifact(artifact)) {
90
- this.addStack(artifact);
91
- }
92
- else if (cxapi.AssetManifestArtifact.isAssetManifestArtifact(artifact)) {
93
- const manifest = cdk_assets_1.AssetManifest.fromFile(artifact.file);
94
- for (const entry of manifest.entries) {
95
- const parentStack = parentStacks.get(artifact);
96
- if (parentStack === undefined) {
97
- throw new api_1.ToolkitError('Found an asset manifest that is not associated with a stack');
98
- }
99
- this.addAsset(parentStack, artifact, manifest, entry);
100
- }
101
- }
102
- else if (cxapi.NestedCloudAssemblyArtifact.isNestedCloudAssemblyArtifact(artifact)) {
103
- const assembly = new cxapi.CloudAssembly(artifact.fullPath, { topoSort: false });
104
- const nestedGraph = new WorkGraphBuilder(this.ioHelper, this.prebuildAssets, `${this.idPrefix}${artifact.id}.`).build(assembly.artifacts);
105
- this.graph.absorb(nestedGraph);
106
- }
107
- else {
108
- // Ignore whatever else
109
- }
110
- }
111
- this.graph.removeUnavailableDependencies();
112
- // Remove any potentially introduced cycles between asset publishing and the stacks that depend on them.
113
- this.removeStackPublishCycles();
114
- return this.graph;
115
- }
116
- stackArtifactIds(deps) {
117
- return deps.flatMap((d) => cxapi.CloudFormationStackArtifact.isCloudFormationStackArtifact(d) ? [this.stackArtifactId(d)] : []);
118
- }
119
- stackArtifactId(artifact) {
120
- if (!cxapi.CloudFormationStackArtifact.isCloudFormationStackArtifact(artifact)) {
121
- throw new api_1.ToolkitError(`Can only call this on CloudFormationStackArtifact, got: ${artifact.constructor.name}`);
122
- }
123
- return `${this.idPrefix}${artifact.id}`;
124
- }
125
- /**
126
- * We may have accidentally introduced cycles in an attempt to make the messages printed to the
127
- * console not interfere with each other too much. Remove them again.
128
- */
129
- removeStackPublishCycles() {
130
- const publishSteps = this.graph.nodesOfType('asset-publish');
131
- for (const publishStep of publishSteps) {
132
- for (const dep of publishStep.dependencies) {
133
- if (this.graph.reachable(dep, publishStep.id)) {
134
- publishStep.dependencies.delete(dep);
135
- }
136
- }
137
- }
138
- }
139
- }
140
- exports.WorkGraphBuilder = WorkGraphBuilder;
141
- /**
142
- * Default priorities for nodes
143
- *
144
- * Assets builds have higher priority than the other two operations, to make good on our promise that
145
- * '--prebuild-assets' will actually do assets before stacks (if it can). Unfortunately it is the
146
- * default :(
147
- *
148
- * But between stack dependencies and publish dependencies, stack dependencies go first
149
- */
150
- WorkGraphBuilder.PRIORITIES = {
151
- 'asset-build': 10,
152
- 'asset-publish': 0,
153
- 'stack': 5,
154
- };
155
- function stacksFromAssets(artifacts) {
156
- const ret = new Map();
157
- for (const stack of artifacts.filter(x => cxapi.CloudFormationStackArtifact.isCloudFormationStackArtifact(x))) {
158
- const assetArtifacts = stack.dependencies.filter((x) => cxapi.AssetManifestArtifact.isAssetManifestArtifact(x));
159
- for (const art of assetArtifacts) {
160
- ret.set(art, stack);
161
- }
162
- }
163
- return ret;
164
- }
165
- function onlyStacks(artifacts) {
166
- return artifacts.filter(x => cxapi.CloudFormationStackArtifact.isCloudFormationStackArtifact(x));
167
- }
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1ncmFwaC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid29yay1ncmFwaC1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF5QztBQUN6QywyQ0FBZ0U7QUFDaEUsNkNBQXlDO0FBRXpDLHlEQUFxRDtBQUNyRCwwRUFBZ0Y7QUFFaEYscUNBQTRDO0FBRTVDLE1BQWEsZ0JBQWdCO0lBa0IzQixZQUNFLFFBQWtCLEVBQ0QsY0FBdUIsRUFDdkIsV0FBVyxFQUFFO1FBRGIsbUJBQWMsR0FBZCxjQUFjLENBQVM7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUU5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksc0JBQVMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxRQUEyQztRQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNsQixJQUFJLEVBQUUsT0FBTztZQUNiLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUMvRSxLQUFLLEVBQUUsUUFBUTtZQUNmLGVBQWUsRUFBRSxrQ0FBZSxDQUFDLE9BQU87WUFDeEMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLO1NBQzVDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILG1DQUFtQztJQUMzQixRQUFRLENBQUMsV0FBOEMsRUFBRSxxQkFBa0QsRUFBRSxhQUE0QixFQUFFLEtBQXFCO1FBQ3RLLCtCQUErQjtRQUMvQixNQUFNLE9BQU8sR0FBRyxLQUFLLENB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QTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB7IEFzc2V0TWFuaWZlc3QsIHR5cGUgSU1hbmlmZXN0RW50cnkgfSBmcm9tICdjZGstYXNzZXRzJztcbmltcG9ydCB7IFdvcmtHcmFwaCB9IGZyb20gJy4vd29yay1ncmFwaCc7XG5pbXBvcnQgdHlwZSB7IEFzc2V0QnVpbGROb2RlLCBXb3JrTm9kZSB9IGZyb20gJy4vd29yay1ncmFwaC10eXBlcyc7XG5pbXBvcnQgeyBEZXBsb3ltZW50U3RhdGUgfSBmcm9tICcuL3dvcmstZ3JhcGgtdHlwZXMnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vQGF3cy1jZGsvdG1wLXRvb2xraXQtaGVscGVycy9zcmMvYXBpJztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9AYXdzLWNkay90bXAtdG9vbGtpdC1oZWxwZXJzL3NyYy9hcGkvaW8vcHJpdmF0ZSc7XG5pbXBvcnQgeyBjb250ZW50SGFzaEFueSB9IGZyb20gJy4uLy4uL3V0aWwnO1xuXG5leHBvcnQgY2xhc3MgV29ya0dyYXBoQnVpbGRlciB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IHByaW9yaXRpZXMgZm9yIG5vZGVzXG4gICAqXG4gICAqIEFzc2V0cyBidWlsZHMgaGF2ZSBoaWdoZXIgcHJpb3JpdHkgdGhhbiB0aGUgb3RoZXIgdHdvIG9wZXJhdGlvbnMsIHRvIG1ha2UgZ29vZCBvbiBvdXIgcHJvbWlzZSB0aGF0XG4gICAqICctLXByZWJ1aWxkLWFzc2V0cycgd2lsbCBhY3R1YWxseSBkbyBhc3NldHMgYmVmb3JlIHN0YWNrcyAoaWYgaXQgY2FuKS4gVW5mb3J0dW5hdGVseSBpdCBpcyB0aGVcbiAgICogZGVmYXVsdCA6KFxuICAgKlxuICAgKiBCdXQgYmV0d2VlbiBzdGFjayBkZXBlbmRlbmNpZXMgYW5kIHB1Ymxpc2ggZGVwZW5kZW5jaWVzLCBzdGFjayBkZXBlbmRlbmNpZXMgZ28gZmlyc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgUFJJT1JJVElFUzogUmVjb3JkPFdvcmtOb2RlWyd0eXBlJ10sIG51bWJlcj4gPSB7XG4gICAgJ2Fzc2V0LWJ1aWxkJzogMTAsXG4gICAgJ2Fzc2V0LXB1Ymxpc2gnOiAwLFxuICAgICdzdGFjayc6IDUsXG4gIH07XG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JhcGg6IFdvcmtHcmFwaDtcbiAgcHJpdmF0ZSByZWFkb25seSBpb0hlbHBlcjogSW9IZWxwZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW9IZWxwZXI6IElvSGVscGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJlYnVpbGRBc3NldHM6IGJvb2xlYW4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBpZFByZWZpeCA9ICcnLFxuICApIHtcbiAgICB0aGlzLmdyYXBoID0gbmV3IFdvcmtHcmFwaCh7fSwgaW9IZWxwZXIpO1xuICAgIHRoaXMuaW9IZWxwZXIgPSBpb0hlbHBlcjtcbiAgfVxuXG4gIHByaXZhdGUgYWRkU3RhY2soYXJ0aWZhY3Q6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCkge1xuICAgIHRoaXMuZ3JhcGguYWRkTm9kZXMoe1xuICAgICAgdHlwZTogJ3N0YWNrJyxcbiAgICAgIGlkOiBgJHt0aGlzLmlkUHJlZml4fSR7YXJ0aWZhY3QuaWR9YCxcbiAgICAgIGRlcGVuZGVuY2llczogbmV3IFNldCh0aGlzLnN0YWNrQXJ0aWZhY3RJZHMob25seVN0YWNrcyhhcnRpZmFjdC5kZXBlbmRlbmNpZXMpKSksXG4gICAgICBzdGFjazogYXJ0aWZhY3QsXG4gICAgICBkZXBsb3ltZW50U3RhdGU6IERlcGxveW1lbnRTdGF0ZS5QRU5ESU5HLFxuICAgICAgcHJpb3JpdHk6IFdvcmtHcmFwaEJ1aWxkZXIuUFJJT1JJVElFUy5zdGFjayxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPb2YsIHNlZSB0aGlzIHBhcmFtZXRlciBsaXN0XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICBwcml2YXRlIGFkZEFzc2V0KHBhcmVudFN0YWNrOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QsIGFzc2V0TWFuaWZlc3RBcnRpZmFjdDogY3hhcGkuQXNzZXRNYW5pZmVzdEFydGlmYWN0LCBhc3NldE1hbmlmZXN0OiBBc3NldE1hbmlmZXN0LCBhc3NldDogSU1hbmlmZXN0RW50cnkpIHtcbiAgICAvLyBKdXN0IHRoZSBhcnRpZmFjdCBpZGVudGlmaWVyXG4gICAgY29uc3QgYXNzZXRJZCA9IGFzc2V0LmlkLmFzc2V0SWQ7XG5cbiAgICBjb25zdCBidWlsZElkID0gYGJ1aWxkLSR7YXNzZXRJZH0tJHtjb250ZW50SGFzaEFueShbYXNzZXRJZCwgYXNzZXQuZ2VuZXJpY1NvdXJjZV0pLnN1YnN0cmluZygwLCAxMCl9YDtcbiAgICBjb25zdCBwdWJsaXNoSWQgPSBgcHVibGlzaC0ke2Fzc2V0SWR9LSR7Y29udGVudEhhc2hBbnkoW2Fzc2V0SWQsIGFzc2V0LmdlbmVyaWNEZXN0aW5hdGlvbl0pLnN1YnN0cmluZygwLCAxMCl9YDtcblxuICAgIC8vIEJ1aWxkIG5vZGUgb25seSBnZXRzIGFkZGVkIG9uY2UgYmVjYXVzZSB0aGV5IGFyZSBhbGwgdGhlIHNhbWVcbiAgICBpZiAoIXRoaXMuZ3JhcGgudHJ5R2V0Tm9kZShidWlsZElkKSkge1xuICAgICAgY29uc3Qgbm9kZTogQXNzZXRCdWlsZE5vZGUgPSB7XG4gICAgICAgIHR5cGU6ICdhc3NldC1idWlsZCcsXG4gICAgICAgIGlkOiBidWlsZElkLFxuICAgICAgICBub3RlOiBhc3NldC5kaXNwbGF5TmFtZShmYWxzZSksXG4gICAgICAgIGRlcGVuZGVuY2llczogbmV3IFNldChbXG4gICAgICAgICAgLi4udGhpcy5zdGFja0FydGlmYWN0SWRzKGFzc2V0TWFuaWZlc3RBcnRpZmFjdC5kZXBlbmRlbmNpZXMpLFxuICAgICAgICAgIC8vIElmIHdlIGRpc2FibGUgcHJlYnVpbGQsIHRoZW4gYXNzZXRzIGluaGVyaXQgKHN0YWNrKSBkZXBlbmRlbmNpZXMgZnJvbSB0aGVpciBwYXJlbnQgc3RhY2tcbiAgICAgICAgICAuLi4hdGhpcy5wcmVidWlsZEFzc2V0cyA/IHRoaXMuc3RhY2tBcnRpZmFjdElkcyhvbmx5U3RhY2tzKHBhcmVudFN0YWNrLmRlcGVuZGVuY2llcykpIDogW10sXG4gICAgICAgIF0pLFxuICAgICAgICBwYXJlbnRTdGFjazogcGFyZW50U3RhY2ssXG4gICAgICAgIGFzc2V0TWFuaWZlc3RBcnRpZmFjdCxcbiAgICAgICAgYXNzZXRNYW5pZmVzdCxcbiAgICAgICAgYXNzZXQsXG4gICAgICAgIGRlcGxveW1lbnRTdGF0ZTogRGVwbG95bWVudFN0YXRlLlBFTkRJTkcsXG4gICAgICAgIHByaW9yaXR5OiBXb3JrR3JhcGhCdWlsZGVyLlBSSU9SSVRJRVNbJ2Fzc2V0LWJ1aWxkJ10sXG4gICAgICB9O1xuICAgICAgdGhpcy5ncmFwaC5hZGROb2Rlcyhub2RlKTtcbiAgICB9XG5cbiAgICBjb25zdCBwdWJsaXNoTm9kZSA9IHRoaXMuZ3JhcGgudHJ5R2V0Tm9kZShwdWJsaXNoSWQpO1xuICAgIGlmICghcHVibGlzaE5vZGUpIHtcbiAgICAgIHRoaXMuZ3JhcGguYWRkTm9kZXMoe1xuICAgICAgICB0eXBlOiAnYXNzZXQtcHVibGlzaCcsXG4gICAgICAgIGlkOiBwdWJsaXNoSWQsXG4gICAgICAgIG5vdGU6IGFzc2V0LmRpc3BsYXlOYW1lKHRydWUpLFxuICAgICAgICBkZXBlbmRlbmNpZXM6IG5ldyBTZXQoW1xuICAgICAgICAgIGJ1aWxkSWQsXG4gICAgICAgIF0pLFxuICAgICAgICBwYXJlbnRTdGFjayxcbiAgICAgICAgYXNzZXRNYW5pZmVzdEFydGlmYWN0LFxuICAgICAgICBhc3NldE1hbmlmZXN0LFxuICAgICAgICBhc3NldCxcbiAgICAgICAgZGVwbG95bWVudFN0YXRlOiBEZXBsb3ltZW50U3RhdGUuUEVORElORyxcbiAgICAgICAgcHJpb3JpdHk6IFdvcmtHcmFwaEJ1aWxkZXIuUFJJT1JJVElFU1snYXNzZXQtcHVibGlzaCddLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBpbmhlcml0ZWREZXAgb2YgdGhpcy5zdGFja0FydGlmYWN0SWRzKG9ubHlTdGFja3MocGFyZW50U3RhY2suZGVwZW5kZW5jaWVzKSkpIHtcbiAgICAgIC8vIFRoZSBhc3NldCBwdWJsaXNoIHN0ZXAgYWxzbyBkZXBlbmRzIG9uIHRoZSBzdGFja3MgdGhhdCB0aGUgcGFyZW50IGRlcGVuZHMgb24uXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBjb3NtZXRpYzogaWYgd2UgZG9uJ3QgZG8gdGhpcywgdGhlIHByb2dyZXNzIHByaW50aW5nIG9mIGFzc2V0IHB1Ymxpc2hpbmdcbiAgICAgIC8vIGlzIGdvaW5nIHRvIGludGVyZmVyZSB3aXRoIHRoZSBwcm9ncmVzcyBiYXIgb2YgdGhlIHN0YWNrIGRlcGxveW1lbnQuIFdlIGNvdWxkIHJlbW92ZSB0aGlzXG4gICAgICAvLyBmb3Igb3ZlcmFsbCBmYXN0ZXIgZGVwbG95bWVudHMgaWYgd2UgZXZlciBoYXZlIGEgYmV0dGVyIG1ldGhvZCBvZiBwcm9ncmVzcyBkaXNwbGF5aW5nLlxuICAgICAgLy8gTm90ZTogdGhpcyBtYXkgaW50cm9kdWNlIGEgY3ljbGUgaWYgb25lIG9mIHRoZSBwYXJlbnQncyBkZXBlbmRlbmNpZXMgaXMgYW5vdGhlciBzdGFjayB0aGF0XG4gICAgICAvLyBkZXBlbmRzIG9uIHRoaXMgYXNzZXQuIFRvIHdvcmthcm91bmQgdGhpcyB3ZSByZW1vdmUgdGhlc2UgY3ljbGVzIG9uY2UgYWxsIG5vZGVzIGhhdmVcbiAgICAgIC8vIGJlZW4gYWRkZWQgdG8gdGhlIGdyYXBoLlxuICAgICAgdGhpcy5ncmFwaC5hZGREZXBlbmRlbmN5KHB1Ymxpc2hJZCwgaW5oZXJpdGVkRGVwKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIHdpbGwgd29yayB3aGV0aGVyIHRoZSBzdGFjayBub2RlIGhhcyBiZWVuIGFkZGVkIHlldCBvciBub3RcbiAgICB0aGlzLmdyYXBoLmFkZERlcGVuZGVuY3koYCR7dGhpcy5pZFByZWZpeH0ke3BhcmVudFN0YWNrLmlkfWAsIHB1Ymxpc2hJZCk7XG4gIH1cblxuICBwdWJsaWMgYnVpbGQoYXJ0aWZhY3RzOiBjeGFwaS5DbG91ZEFydGlmYWN0W10pOiBXb3JrR3JhcGgge1xuICAgIGNvbnN0IHBhcmVudFN0YWNrcyA9IHN0YWNrc0Zyb21Bc3NldHMoYXJ0aWZhY3RzKTtcblxuICAgIGZvciAoY29uc3QgYXJ0aWZhY3Qgb2YgYXJ0aWZhY3RzKSB7XG4gICAgICBpZiAoY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0LmlzQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KGFydGlmYWN0KSkge1xuICAgICAgICB0aGlzLmFkZFN0YWNrKGFydGlmYWN0KTtcbiAgICAgIH0gZWxzZSBpZiAoY3hhcGkuQXNzZXRNYW5pZmVzdEFydGlmYWN0LmlzQXNzZXRNYW5pZmVzdEFydGlmYWN0KGFydGlmYWN0KSkge1xuICAgICAgICBjb25zdCBtYW5pZmVzdCA9IEFzc2V0TWFuaWZlc3QuZnJvbUZpbGUoYXJ0aWZhY3QuZmlsZSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBtYW5pZmVzdC5lbnRyaWVzKSB7XG4gICAgICAgICAgY29uc3QgcGFyZW50U3RhY2sgPSBwYXJlbnRTdGFja3MuZ2V0KGFydGlmYWN0KTtcbiAgICAgICAgICBpZiAocGFyZW50U3RhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignRm91bmQgYW4gYXNzZXQgbWFuaWZlc3QgdGhhdCBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGEgc3RhY2snKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5hZGRBc3NldChwYXJlbnRTdGFjaywgYXJ0aWZhY3QsIG1hbmlmZXN0LCBlbnRyeSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY3hhcGkuTmVzdGVkQ2xvdWRBc3NlbWJseUFydGlmYWN0LmlzTmVzdGVkQ2xvdWRBc3NlbWJseUFydGlmYWN0KGFydGlmYWN0KSkge1xuICAgICAgICBjb25zdCBhc3NlbWJseSA9IG5ldyBjeGFwaS5DbG91ZEFzc2VtYmx5KGFydGlmYWN0LmZ1bGxQYXRoLCB7IHRvcG9Tb3J0OiBmYWxzZSB9KTtcbiAgICAgICAgY29uc3QgbmVzdGVkR3JhcGggPSBuZXcgV29ya0dyYXBoQnVpbGRlcihcbiAgICAgICAgICB0aGlzLmlvSGVscGVyLFxuICAgICAgICAgIHRoaXMucHJlYnVpbGRBc3NldHMsXG4gICAgICAgICAgYCR7dGhpcy5pZFByZWZpeH0ke2FydGlmYWN0LmlkfS5gLFxuICAgICAgICApLmJ1aWxkKGFzc2VtYmx5LmFydGlmYWN0cyk7XG4gICAgICAgIHRoaXMuZ3JhcGguYWJzb3JiKG5lc3RlZEdyYXBoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElnbm9yZSB3aGF0ZXZlciBlbHNlXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5ncmFwaC5yZW1vdmVVbmF2YWlsYWJsZURlcGVuZGVuY2llcygpO1xuXG4gICAgLy8gUmVtb3ZlIGFueSBwb3RlbnRpYWxseSBpbnRyb2R1Y2VkIGN5Y2xlcyBiZXR3ZWVuIGFzc2V0IHB1Ymxpc2hpbmcgYW5kIHRoZSBzdGFja3MgdGhhdCBkZXBlbmQgb24gdGhlbS5cbiAgICB0aGlzLnJlbW92ZVN0YWNrUHVibGlzaEN5Y2xlcygpO1xuXG4gICAgcmV0dXJuIHRoaXMuZ3JhcGg7XG4gIH1cblxuICBwcml2YXRlIHN0YWNrQXJ0aWZhY3RJZHMoZGVwczogY3hhcGkuQ2xvdWRBcnRpZmFjdFtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBkZXBzLmZsYXRNYXAoKGQpID0+IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdC5pc0Nsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdChkKSA/IFt0aGlzLnN0YWNrQXJ0aWZhY3RJZChkKV0gOiBbXSk7XG4gIH1cblxuICBwcml2YXRlIHN0YWNrQXJ0aWZhY3RJZChhcnRpZmFjdDogY3hhcGkuQ2xvdWRBcnRpZmFjdCk6IHN0cmluZyB7XG4gICAgaWYgKCFjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QuaXNDbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QoYXJ0aWZhY3QpKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGBDYW4gb25seSBjYWxsIHRoaXMgb24gQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0LCBnb3Q6ICR7YXJ0aWZhY3QuY29uc3RydWN0b3IubmFtZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMuaWRQcmVmaXh9JHthcnRpZmFjdC5pZH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFdlIG1heSBoYXZlIGFjY2lkZW50YWxseSBpbnRyb2R1Y2VkIGN5Y2xlcyBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlIG1lc3NhZ2VzIHByaW50ZWQgdG8gdGhlXG4gICAqIGNvbnNvbGUgbm90IGludGVyZmVyZSB3aXRoIGVhY2ggb3RoZXIgdG9vIG11Y2guIFJlbW92ZSB0aGVtIGFnYWluLlxuICAgKi9cbiAgcHJpdmF0ZSByZW1vdmVTdGFja1B1Ymxpc2hDeWNsZXMoKSB7XG4gICAgY29uc3QgcHVibGlzaFN0ZXBzID0gdGhpcy5ncmFwaC5ub2Rlc09mVHlwZSgnYXNzZXQtcHVibGlzaCcpO1xuICAgIGZvciAoY29uc3QgcHVibGlzaFN0ZXAgb2YgcHVibGlzaFN0ZXBzKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlcCBvZiBwdWJsaXNoU3RlcC5kZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuZ3JhcGgucmVhY2hhYmxlKGRlcCwgcHVibGlzaFN0ZXAuaWQpKSB7XG4gICAgICAgICAgcHVibGlzaFN0ZXAuZGVwZW5kZW5jaWVzLmRlbGV0ZShkZXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0YWNrc0Zyb21Bc3NldHMoYXJ0aWZhY3RzOiBjeGFwaS5DbG91ZEFydGlmYWN0W10pIHtcbiAgY29uc3QgcmV0ID0gbmV3IE1hcDxjeGFwaS5Bc3NldE1hbmlmZXN0QXJ0aWZhY3QsIGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdD4oKTtcbiAgZm9yIChjb25zdCBzdGFjayBvZiBhcnRpZmFjdHMuZmlsdGVyKHggPT4gY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0LmlzQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KHgpKSkge1xuICAgIGNvbnN0IGFzc2V0QXJ0aWZhY3RzID0gc3RhY2suZGVwZW5kZW5jaWVzLmZpbHRlcigoeCkgPT4gY3hhcGkuQXNzZXRNYW5pZmVzdEFydGlmYWN0LmlzQXNzZXRNYW5pZmVzdEFydGlmYWN0KHgpKTtcbiAgICBmb3IgKGNvbnN0IGFydCBvZiBhc3NldEFydGlmYWN0cykge1xuICAgICAgcmV0LnNldChhcnQsIHN0YWNrKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBvbmx5U3RhY2tzKGFydGlmYWN0czogY3hhcGkuQ2xvdWRBcnRpZmFjdFtdKSB7XG4gIHJldHVybiBhcnRpZmFjdHMuZmlsdGVyKHggPT4gY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0LmlzQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0KHgpKTtcbn1cbiJdfQ==
@@ -1,50 +0,0 @@
1
- import type * as cxapi from '@aws-cdk/cx-api';
2
- import type { AssetManifest, IManifestEntry } from 'cdk-assets';
3
- export declare enum DeploymentState {
4
- PENDING = "pending",
5
- QUEUED = "queued",
6
- DEPLOYING = "deploying",
7
- COMPLETED = "completed",
8
- FAILED = "failed",
9
- SKIPPED = "skipped"
10
- }
11
- export type WorkNode = StackNode | AssetBuildNode | AssetPublishNode;
12
- export interface WorkNodeCommon {
13
- readonly id: string;
14
- readonly dependencies: Set<string>;
15
- deploymentState: DeploymentState;
16
- /** Some readable information to attach to the id, which may be unreadable */
17
- readonly note?: string;
18
- }
19
- export interface StackNode extends WorkNodeCommon {
20
- readonly type: 'stack';
21
- readonly stack: cxapi.CloudFormationStackArtifact;
22
- /** Sort by priority when picking up work, higher is earlier */
23
- readonly priority?: number;
24
- }
25
- export interface AssetBuildNode extends WorkNodeCommon {
26
- readonly type: 'asset-build';
27
- /** The asset manifest this asset resides in (artifact) */
28
- readonly assetManifestArtifact: cxapi.AssetManifestArtifact;
29
- /** The asset manifest this asset resides in */
30
- readonly assetManifest: AssetManifest;
31
- /** The stack this asset was defined in (used for environment settings) */
32
- readonly parentStack: cxapi.CloudFormationStackArtifact;
33
- /** The asset that needs to be built */
34
- readonly asset: IManifestEntry;
35
- /** Sort by priority when picking up work, higher is earlier */
36
- readonly priority?: number;
37
- }
38
- export interface AssetPublishNode extends WorkNodeCommon {
39
- readonly type: 'asset-publish';
40
- /** The asset manifest this asset resides in (artifact) */
41
- readonly assetManifestArtifact: cxapi.AssetManifestArtifact;
42
- /** The asset manifest this asset resides in */
43
- readonly assetManifest: AssetManifest;
44
- /** The stack this asset was defined in (used for environment settings) */
45
- readonly parentStack: cxapi.CloudFormationStackArtifact;
46
- /** The asset that needs to be published */
47
- readonly asset: IManifestEntry;
48
- /** Sort by priority when picking up work, higher is earlier */
49
- readonly priority?: number;
50
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeploymentState = void 0;
4
- var DeploymentState;
5
- (function (DeploymentState) {
6
- DeploymentState["PENDING"] = "pending";
7
- DeploymentState["QUEUED"] = "queued";
8
- DeploymentState["DEPLOYING"] = "deploying";
9
- DeploymentState["COMPLETED"] = "completed";
10
- DeploymentState["FAILED"] = "failed";
11
- DeploymentState["SKIPPED"] = "skipped";
12
- })(DeploymentState || (exports.DeploymentState = DeploymentState = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1ncmFwaC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndvcmstZ3JhcGgtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsSUFBWSxlQU9YO0FBUEQsV0FBWSxlQUFlO0lBQ3pCLHNDQUFtQixDQUFBO0lBQ25CLG9DQUFpQixDQUFBO0lBQ2pCLDBDQUF1QixDQUFBO0lBQ3ZCLDBDQUF1QixDQUFBO0lBQ3ZCLG9DQUFpQixDQUFBO0lBQ2pCLHNDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFQVyxlQUFlLCtCQUFmLGVBQWUsUUFPMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgdHlwZSB7IEFzc2V0TWFuaWZlc3QsIElNYW5pZmVzdEVudHJ5IH0gZnJvbSAnY2RrLWFzc2V0cyc7XG5cbmV4cG9ydCBlbnVtIERlcGxveW1lbnRTdGF0ZSB7XG4gIFBFTkRJTkcgPSAncGVuZGluZycsXG4gIFFVRVVFRCA9ICdxdWV1ZWQnLFxuICBERVBMT1lJTkcgPSAnZGVwbG95aW5nJyxcbiAgQ09NUExFVEVEID0gJ2NvbXBsZXRlZCcsXG4gIEZBSUxFRCA9ICdmYWlsZWQnLFxuICBTS0lQUEVEID0gJ3NraXBwZWQnLFxufVxuXG5leHBvcnQgdHlwZSBXb3JrTm9kZSA9IFN0YWNrTm9kZSB8IEFzc2V0QnVpbGROb2RlIHwgQXNzZXRQdWJsaXNoTm9kZTtcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrTm9kZUNvbW1vbiB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlcGVuZGVuY2llczogU2V0PHN0cmluZz47XG4gIGRlcGxveW1lbnRTdGF0ZTogRGVwbG95bWVudFN0YXRlO1xuICAvKiogU29tZSByZWFkYWJsZSBpbmZvcm1hdGlvbiB0byBhdHRhY2ggdG8gdGhlIGlkLCB3aGljaCBtYXkgYmUgdW5yZWFkYWJsZSAqL1xuICByZWFkb25seSBub3RlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrTm9kZSBleHRlbmRzIFdvcmtOb2RlQ29tbW9uIHtcbiAgcmVhZG9ubHkgdHlwZTogJ3N0YWNrJztcbiAgcmVhZG9ubHkgc3RhY2s6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdDtcbiAgLyoqIFNvcnQgYnkgcHJpb3JpdHkgd2hlbiBwaWNraW5nIHVwIHdvcmssIGhpZ2hlciBpcyBlYXJsaWVyICovXG4gIHJlYWRvbmx5IHByaW9yaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0QnVpbGROb2RlIGV4dGVuZHMgV29ya05vZGVDb21tb24ge1xuICByZWFkb25seSB0eXBlOiAnYXNzZXQtYnVpbGQnO1xuICAvKiogVGhlIGFzc2V0IG1hbmlmZXN0IHRoaXMgYXNzZXQgcmVzaWRlcyBpbiAoYXJ0aWZhY3QpICovXG4gIHJlYWRvbmx5IGFzc2V0TWFuaWZlc3RBcnRpZmFjdDogY3hhcGkuQXNzZXRNYW5pZmVzdEFydGlmYWN0O1xuICAvKiogVGhlIGFzc2V0IG1hbmlmZXN0IHRoaXMgYXNzZXQgcmVzaWRlcyBpbiAqL1xuICByZWFkb25seSBhc3NldE1hbmlmZXN0OiBBc3NldE1hbmlmZXN0O1xuICAvKiogVGhlIHN0YWNrIHRoaXMgYXNzZXQgd2FzIGRlZmluZWQgaW4gKHVzZWQgZm9yIGVudmlyb25tZW50IHNldHRpbmdzKSAqL1xuICByZWFkb25seSBwYXJlbnRTdGFjazogY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0O1xuICAvKiogVGhlIGFzc2V0IHRoYXQgbmVlZHMgdG8gYmUgYnVpbHQgKi9cbiAgcmVhZG9ubHkgYXNzZXQ6IElNYW5pZmVzdEVudHJ5O1xuICAvKiogU29ydCBieSBwcmlvcml0eSB3aGVuIHBpY2tpbmcgdXAgd29yaywgaGlnaGVyIGlzIGVhcmxpZXIgKi9cbiAgcmVhZG9ubHkgcHJpb3JpdHk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzZXRQdWJsaXNoTm9kZSBleHRlbmRzIFdvcmtOb2RlQ29tbW9uIHtcbiAgcmVhZG9ubHkgdHlwZTogJ2Fzc2V0LXB1Ymxpc2gnO1xuICAvKiogVGhlIGFzc2V0IG1hbmlmZXN0IHRoaXMgYXNzZXQgcmVzaWRlcyBpbiAoYXJ0aWZhY3QpICovXG4gIHJlYWRvbmx5IGFzc2V0TWFuaWZlc3RBcnRpZmFjdDogY3hhcGkuQXNzZXRNYW5pZmVzdEFydGlmYWN0O1xuICAvKiogVGhlIGFzc2V0IG1hbmlmZXN0IHRoaXMgYXNzZXQgcmVzaWRlcyBpbiAqL1xuICByZWFkb25seSBhc3NldE1hbmlmZXN0OiBBc3NldE1hbmlmZXN0O1xuICAvKiogVGhlIHN0YWNrIHRoaXMgYXNzZXQgd2FzIGRlZmluZWQgaW4gKHVzZWQgZm9yIGVudmlyb25tZW50IHNldHRpbmdzKSAqL1xuICByZWFkb25seSBwYXJlbnRTdGFjazogY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0O1xuICAvKiogVGhlIGFzc2V0IHRoYXQgbmVlZHMgdG8gYmUgcHVibGlzaGVkICovXG4gIHJlYWRvbmx5IGFzc2V0OiBJTWFuaWZlc3RFbnRyeTtcbiAgLyoqIFNvcnQgYnkgcHJpb3JpdHkgd2hlbiBwaWNraW5nIHVwIHdvcmssIGhpZ2hlciBpcyBlYXJsaWVyICovXG4gIHJlYWRvbmx5IHByaW9yaXR5PzogbnVtYmVyO1xufVxuIl19
@@ -1,72 +0,0 @@
1
- import type { WorkNode, StackNode, AssetBuildNode, AssetPublishNode } from './work-graph-types';
2
- import { type IoHelper } from '../../../../@aws-cdk/tmp-toolkit-helpers/src/api/io/private';
3
- export type Concurrency = number | Record<WorkNode['type'], number>;
4
- export declare class WorkGraph {
5
- readonly nodes: Record<string, WorkNode>;
6
- private readonly readyPool;
7
- private readonly lazyDependencies;
8
- private readonly ioHelper;
9
- error?: Error;
10
- constructor(nodes: Record<string, WorkNode>, ioHelper: IoHelper);
11
- addNodes(...nodes: WorkNode[]): void;
12
- removeNode(nodeId: string | WorkNode): void;
13
- /**
14
- * Return all nodes of a given type
15
- */
16
- nodesOfType<T extends WorkNode['type']>(type: T): Extract<WorkNode, {
17
- type: T;
18
- }>[];
19
- /**
20
- * Return all nodes that depend on a given node
21
- */
22
- dependees(nodeId: string | WorkNode): WorkNode[];
23
- /**
24
- * Add a dependency, that may come before or after the nodes involved
25
- */
26
- addDependency(fromId: string, toId: string): void;
27
- tryGetNode(id: string): WorkNode | undefined;
28
- node(id: string): WorkNode;
29
- absorb(graph: WorkGraph): void;
30
- private hasFailed;
31
- doParallel(concurrency: Concurrency, actions: WorkGraphActions): Promise<void>;
32
- /**
33
- * Return the set of unblocked nodes
34
- */
35
- ready(): Promise<ReadonlyArray<WorkNode>>;
36
- private forAllArtifacts;
37
- private done;
38
- private deployed;
39
- private failed;
40
- toString(): string;
41
- /**
42
- * Ensure all dependencies actually exist. This protects against scenarios such as the following:
43
- * StackA depends on StackB, but StackB is not selected to deploy. The dependency is redundant
44
- * and will be dropped.
45
- * This assumes the manifest comes uncorrupted so we will not fail if a dependency is not found.
46
- */
47
- removeUnavailableDependencies(): void;
48
- /**
49
- * Remove all asset publishing steps for assets that are already published, and then build
50
- * that aren't used anymore.
51
- *
52
- * Do this in parallel, because there may be a lot of assets in an application (seen in practice: >100 assets)
53
- */
54
- removeUnnecessaryAssets(isUnnecessary: (x: AssetPublishNode) => Promise<boolean>): Promise<void>;
55
- private updateReadyPool;
56
- private skipRest;
57
- /**
58
- * Find cycles in a graph
59
- *
60
- * Not the fastest, but effective and should be rare
61
- */
62
- findCycle(): string[] | undefined;
63
- /**
64
- * Whether the `end` node is reachable from the `start` node, following the dependency arrows
65
- */
66
- reachable(start: string, end: string): boolean;
67
- }
68
- export interface WorkGraphActions {
69
- deployStack: (stackNode: StackNode) => Promise<void>;
70
- buildAsset: (assetNode: AssetBuildNode) => Promise<void>;
71
- publishAsset: (assetNode: AssetPublishNode) => Promise<void>;
72
- }