@aws-cdk/toolkit-lib 0.4.0 → 1.1.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.
- package/README.md +65 -51
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/actions/diff/private/helpers.d.ts +2 -2
- package/lib/actions/diff/private/helpers.js +3 -3
- package/lib/actions/drift/index.d.ts +4 -2
- package/lib/actions/drift/index.js +1 -1
- package/lib/actions/refactor/index.d.ts +25 -21
- package/lib/actions/refactor/index.js +54 -1
- package/lib/actions/watch/index.d.ts +26 -3
- package/lib/actions/watch/index.js +1 -1
- package/lib/actions/watch/private/helpers.d.ts +6 -4
- package/lib/actions/watch/private/helpers.js +37 -6
- package/lib/api/aws-auth/account-cache.d.ts +1 -1
- package/lib/api/aws-auth/account-cache.js +2 -2
- package/lib/api/aws-auth/awscli-compatible.d.ts +1 -1
- package/lib/api/aws-auth/awscli-compatible.js +2 -2
- package/lib/api/cloud-assembly/environment.d.ts +1 -1
- package/lib/api/cloud-assembly/environment.js +2 -2
- package/lib/api/cloud-assembly/private/prepare-source.js +2 -2
- package/lib/api/cloudformation/template-body-parameter.d.ts +2 -2
- package/lib/api/cloudformation/template-body-parameter.js +3 -3
- package/lib/api/deployments/cfn-api.d.ts +8 -8
- package/lib/api/deployments/cfn-api.js +15 -15
- package/lib/api/drift/drift-formatter.d.ts +4 -4
- package/lib/api/drift/drift-formatter.js +5 -5
- package/lib/api/hotswap/hotswap-deployments.js +2 -2
- package/lib/api/io/private/level-priority.d.ts +2 -2
- package/lib/api/io/private/level-priority.js +3 -3
- package/lib/api/io/toolkit-action.d.ts +1 -1
- package/lib/api/io/toolkit-action.js +1 -1
- package/lib/api/logs-monitor/logs-monitor.d.ts +1 -0
- package/lib/api/logs-monitor/logs-monitor.js +5 -3
- package/lib/api/notices/notices.d.ts +1 -1
- package/lib/api/notices/notices.js +2 -2
- package/lib/api/refactoring/context.d.ts +22 -0
- package/lib/api/refactoring/context.js +129 -0
- package/lib/api/refactoring/exclude.d.ts +11 -6
- package/lib/api/refactoring/exclude.js +14 -10
- package/lib/api/refactoring/execution.d.ts +1 -1
- package/lib/api/refactoring/execution.js +50 -25
- package/lib/api/refactoring/index.d.ts +7 -28
- package/lib/api/refactoring/index.js +23 -146
- package/lib/api/resource-import/importer.d.ts +5 -5
- package/lib/api/resource-import/importer.js +6 -6
- package/lib/api/resource-metadata/resource-metadata.d.ts +2 -2
- package/lib/api/resource-metadata/resource-metadata.js +3 -3
- package/lib/context-providers/cc-api-provider.js +23 -14
- package/lib/context-providers/ssm-parameters.d.ts +4 -4
- package/lib/context-providers/ssm-parameters.js +5 -5
- package/lib/index_bg.wasm +0 -0
- package/lib/toolkit/private/index.d.ts +2 -2
- package/lib/toolkit/private/index.js +3 -3
- package/lib/toolkit/toolkit-error.d.ts +16 -2
- package/lib/toolkit/toolkit-error.js +33 -9
- package/lib/toolkit/toolkit.d.ts +15 -22
- package/lib/toolkit/toolkit.js +94 -68
- package/lib/util/bool.d.ts +1 -1
- package/lib/util/bool.js +2 -2
- package/lib/util/bytes.d.ts +2 -2
- package/lib/util/bytes.js +3 -3
- package/lib/util/cloudformation.d.ts +2 -2
- package/lib/util/cloudformation.js +3 -3
- package/lib/util/format-error.d.ts +1 -1
- package/lib/util/format-error.js +6 -2
- package/lib/util/net.d.ts +1 -1
- package/lib/util/net.js +2 -2
- package/lib/util/objects.d.ts +3 -3
- package/lib/util/objects.js +4 -4
- package/lib/util/yaml-cfn.d.ts +2 -2
- package/lib/util/yaml-cfn.js +3 -3
- package/package.json +16 -16
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefactoringContext = void 0;
|
|
4
|
+
const cloudformation_1 = require("./cloudformation");
|
|
5
|
+
const digest_1 = require("./digest");
|
|
6
|
+
const toolkit_error_1 = require("../../toolkit/toolkit-error");
|
|
7
|
+
/**
|
|
8
|
+
* Encapsulates the information for refactoring resources in a single environment.
|
|
9
|
+
*/
|
|
10
|
+
class RefactoringContext {
|
|
11
|
+
_mappings = [];
|
|
12
|
+
ambiguousMoves = [];
|
|
13
|
+
environment;
|
|
14
|
+
constructor(props) {
|
|
15
|
+
this.environment = props.environment;
|
|
16
|
+
if (props.mappings != null) {
|
|
17
|
+
this._mappings = props.mappings;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const moves = resourceMoves(props.deployedStacks, props.localStacks);
|
|
21
|
+
this.ambiguousMoves = ambiguousMoves(moves);
|
|
22
|
+
if (!this.isAmbiguous) {
|
|
23
|
+
this._mappings = resourceMappings(resourceMoves(props.deployedStacks, props.localStacks), props.filteredStacks);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
get isAmbiguous() {
|
|
28
|
+
return this.ambiguousMoves.length > 0;
|
|
29
|
+
}
|
|
30
|
+
get ambiguousPaths() {
|
|
31
|
+
return this.ambiguousMoves.map(([a, b]) => [convert(a), convert(b)]);
|
|
32
|
+
function convert(locations) {
|
|
33
|
+
return locations.map((l) => l.toPath());
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
get mappings() {
|
|
37
|
+
if (this.isAmbiguous) {
|
|
38
|
+
throw new toolkit_error_1.ToolkitError('Cannot access mappings when there are ambiguous resource moves. Please resolve the ambiguity first.');
|
|
39
|
+
}
|
|
40
|
+
return this._mappings;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.RefactoringContext = RefactoringContext;
|
|
44
|
+
function resourceMoves(before, after) {
|
|
45
|
+
return Object.values(removeUnmovedResources(zip(groupByKey(resourceDigests(before)), groupByKey(resourceDigests(after)))));
|
|
46
|
+
}
|
|
47
|
+
function removeUnmovedResources(m) {
|
|
48
|
+
const result = {};
|
|
49
|
+
for (const [hash, [before, after]] of Object.entries(m)) {
|
|
50
|
+
const common = before.filter((b) => after.some((a) => a.equalTo(b)));
|
|
51
|
+
result[hash] = [
|
|
52
|
+
before.filter((b) => !common.some((c) => b.equalTo(c))),
|
|
53
|
+
after.filter((a) => !common.some((c) => a.equalTo(c))),
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* For each hash, identifying a single resource, zip the two lists of locations,
|
|
60
|
+
* producing a resource move
|
|
61
|
+
*/
|
|
62
|
+
function zip(m1, m2) {
|
|
63
|
+
const result = {};
|
|
64
|
+
for (const [hash, locations] of Object.entries(m1)) {
|
|
65
|
+
if (hash in m2) {
|
|
66
|
+
result[hash] = [locations, m2[hash]];
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
result[hash] = [locations, []];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
for (const [hash, locations] of Object.entries(m2)) {
|
|
73
|
+
if (!(hash in m1)) {
|
|
74
|
+
result[hash] = [[], locations];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
function groupByKey(entries) {
|
|
80
|
+
const result = {};
|
|
81
|
+
for (const [hash, location] of entries) {
|
|
82
|
+
if (hash in result) {
|
|
83
|
+
result[hash].push(location);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
result[hash] = [location];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Computes a list of pairs [digest, location] for each resource in the stack.
|
|
93
|
+
*/
|
|
94
|
+
function resourceDigests(stacks) {
|
|
95
|
+
// index stacks by name
|
|
96
|
+
const stacksByName = new Map();
|
|
97
|
+
for (const stack of stacks) {
|
|
98
|
+
stacksByName.set(stack.stackName, stack);
|
|
99
|
+
}
|
|
100
|
+
const digests = (0, digest_1.computeResourceDigests)(stacks);
|
|
101
|
+
return Object.entries(digests).map(([loc, digest]) => {
|
|
102
|
+
const [stackName, logicalId] = loc.split('.');
|
|
103
|
+
const location = new cloudformation_1.ResourceLocation(stacksByName.get(stackName), logicalId);
|
|
104
|
+
return [digest, location];
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function ambiguousMoves(movements) {
|
|
108
|
+
// A move is considered ambiguous if two conditions are met:
|
|
109
|
+
// 1. Both sides have at least one element (otherwise, it's just addition or deletion)
|
|
110
|
+
// 2. At least one side has more than one element
|
|
111
|
+
return movements
|
|
112
|
+
.filter(([pre, post]) => pre.length > 0 && post.length > 0)
|
|
113
|
+
.filter(([pre, post]) => pre.length > 1 || post.length > 1);
|
|
114
|
+
}
|
|
115
|
+
function resourceMappings(movements, stacks) {
|
|
116
|
+
const stacksPredicate = stacks == null
|
|
117
|
+
? () => true
|
|
118
|
+
: (m) => {
|
|
119
|
+
// Any movement that involves one of the selected stacks (either moving from or to)
|
|
120
|
+
// is considered a candidate for refactoring.
|
|
121
|
+
const stackNames = [m.source.stack.stackName, m.destination.stack.stackName];
|
|
122
|
+
return stacks.some((stack) => stackNames.includes(stack.stackName));
|
|
123
|
+
};
|
|
124
|
+
return movements
|
|
125
|
+
.filter(([pre, post]) => pre.length === 1 && post.length === 1 && !pre[0].equalTo(post[0]))
|
|
126
|
+
.map(([pre, post]) => new cloudformation_1.ResourceMapping(pre[0], post[0]))
|
|
127
|
+
.filter(stacksPredicate);
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEscURBQXFFO0FBQ3JFLHFDQUFrRDtBQUNsRCwrREFBMkQ7QUFpQjNEOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFDWixTQUFTLEdBQXNCLEVBQUUsQ0FBQztJQUNsQyxjQUFjLEdBQW1CLEVBQUUsQ0FBQztJQUNyQyxXQUFXLENBQWM7SUFFekMsWUFBWSxLQUE2QjtRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbEgsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVB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QUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUYsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksZ0NBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudmlyb25tZW50IH0gZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB0eXBlIHsgQ2xvdWRGb3JtYXRpb25TdGFjayB9IGZyb20gJy4vY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgUmVzb3VyY2VMb2NhdGlvbiwgUmVzb3VyY2VNYXBwaW5nIH0gZnJvbSAnLi9jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBjb21wdXRlUmVzb3VyY2VEaWdlc3RzIH0gZnJvbSAnLi9kaWdlc3QnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2V0IG9mIHBvc3NpYmxlIG1vdmVzIG9mIGEgcmVzb3VyY2UgZnJvbSBvbmUgbG9jYXRpb25cbiAqIHRvIGFub3RoZXIuIEluIHRoZSBpZGVhbCBjYXNlLCB0aGVyZSBpcyBvbmx5IG9uZSBzb3VyY2UgYW5kIG9ubHkgb25lXG4gKiBkZXN0aW5hdGlvbi5cbiAqL1xudHlwZSBSZXNvdXJjZU1vdmUgPSBbUmVzb3VyY2VMb2NhdGlvbltdLCBSZXNvdXJjZUxvY2F0aW9uW11dO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZmFjdG9yTWFuYWdlck9wdGlvbnMge1xuICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQ7XG4gIGxvY2FsU3RhY2tzOiBDbG91ZEZvcm1hdGlvblN0YWNrW107XG4gIGRlcGxveWVkU3RhY2tzOiBDbG91ZEZvcm1hdGlvblN0YWNrW107XG4gIG1hcHBpbmdzPzogUmVzb3VyY2VNYXBwaW5nW107XG4gIGZpbHRlcmVkU3RhY2tzPzogQ2xvdWRGb3JtYXRpb25TdGFja1tdO1xufVxuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyB0aGUgaW5mb3JtYXRpb24gZm9yIHJlZmFjdG9yaW5nIHJlc291cmNlcyBpbiBhIHNpbmdsZSBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlZmFjdG9yaW5nQ29udGV4dCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21hcHBpbmdzOiBSZXNvdXJjZU1hcHBpbmdbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGFtYmlndW91c01vdmVzOiBSZXNvdXJjZU1vdmVbXSA9IFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBSZWZhY3Rvck1hbmFnZXJPcHRpb25zKSB7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IHByb3BzLmVudmlyb25tZW50O1xuICAgIGlmIChwcm9wcy5tYXBwaW5ncyAhPSBudWxsKSB7XG4gICAgICB0aGlzLl9tYXBwaW5ncyA9IHByb3BzLm1hcHBpbmdzO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtb3ZlcyA9IHJlc291cmNlTW92ZXMocHJvcHMuZGVwbG95ZWRTdGFja3MsIHByb3BzLmxvY2FsU3RhY2tzKTtcbiAgICAgIHRoaXMuYW1iaWd1b3VzTW92ZXMgPSBhbWJpZ3VvdXNNb3Zlcyhtb3Zlcyk7XG5cbiAgICAgIGlmICghdGhpcy5pc0FtYmlndW91cykge1xuICAgICAgICB0aGlzLl9tYXBwaW5ncyA9IHJlc291cmNlTWFwcGluZ3MocmVzb3VyY2VNb3Zlcyhwcm9wcy5kZXBsb3llZFN0YWNrcywgcHJvcHMubG9jYWxTdGFja3MpLCBwcm9wcy5maWx0ZXJlZFN0YWNrcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc0FtYmlndW91cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hbWJpZ3VvdXNNb3Zlcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIGdldCBhbWJpZ3VvdXNQYXRocygpOiBbc3RyaW5nW10sIHN0cmluZ1tdXVtdIHtcbiAgICByZXR1cm4gdGhpcy5hbWJpZ3VvdXNNb3Zlcy5tYXAoKFthLCBiXSkgPT4gW2NvbnZlcnQoYSksIGNvbnZlcnQoYildKTtcblxuICAgIGZ1bmN0aW9uIGNvbnZlcnQobG9jYXRpb25zOiBSZXNvdXJjZUxvY2F0aW9uW10pOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gbG9jYXRpb25zLm1hcCgobCkgPT4gbC50b1BhdGgoKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtYXBwaW5ncygpOiBSZXNvdXJjZU1hcHBpbmdbXSB7XG4gICAgaWYgKHRoaXMuaXNBbWJpZ3VvdXMpIHtcbiAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoXG4gICAgICAgICdDYW5ub3QgYWNjZXNzIG1hcHBpbmdzIHdoZW4gdGhlcmUgYXJlIGFtYmlndW91cyByZXNvdXJjZSBtb3Zlcy4gUGxlYXNlIHJlc29sdmUgdGhlIGFtYmlndWl0eSBmaXJzdC4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX21hcHBpbmdzO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc291cmNlTW92ZXMoYmVmb3JlOiBDbG91ZEZvcm1hdGlvblN0YWNrW10sIGFmdGVyOiBDbG91ZEZvcm1hdGlvblN0YWNrW10pOiBSZXNvdXJjZU1vdmVbXSB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKFxuICAgIHJlbW92ZVVubW92ZWRSZXNvdXJjZXMoemlwKGdyb3VwQnlLZXkocmVzb3VyY2VEaWdlc3RzKGJlZm9yZSkpLCBncm91cEJ5S2V5KHJlc291cmNlRGlnZXN0cyhhZnRlcikpKSksXG4gICk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVVubW92ZWRSZXNvdXJjZXMobTogUmVjb3JkPHN0cmluZywgUmVzb3VyY2VNb3ZlPik6IFJlY29yZDxzdHJpbmcsIFJlc291cmNlTW92ZT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlc291cmNlTW92ZT4gPSB7fTtcbiAgZm9yIChjb25zdCBbaGFzaCwgW2JlZm9yZSwgYWZ0ZXJdXSBvZiBPYmplY3QuZW50cmllcyhtKSkge1xuICAgIGNvbnN0IGNvbW1vbiA9IGJlZm9yZS5maWx0ZXIoKGIpID0+IGFmdGVyLnNvbWUoKGEpID0+IGEuZXF1YWxUbyhiKSkpO1xuICAgIHJlc3VsdFtoYXNoXSA9IFtcbiAgICAgIGJlZm9yZS5maWx0ZXIoKGIpID0+ICFjb21tb24uc29tZSgoYykgPT4gYi5lcXVhbFRvKGMpKSksXG4gICAgICBhZnRlci5maWx0ZXIoKGEpID0+ICFjb21tb24uc29tZSgoYykgPT4gYS5lcXVhbFRvKGMpKSksXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogRm9yIGVhY2ggaGFzaCwgaWRlbnRpZnlpbmcgYSBzaW5nbGUgcmVzb3VyY2UsIHppcCB0aGUgdHdvIGxpc3RzIG9mIGxvY2F0aW9ucyxcbiAqIHByb2R1Y2luZyBhIHJlc291cmNlIG1vdmVcbiAqL1xuZnVuY3Rpb24gemlwKFxuICBtMTogUmVjb3JkPHN0cmluZywgUmVzb3VyY2VMb2NhdGlvbltdPixcbiAgbTI6IFJlY29yZDxzdHJpbmcsIFJlc291cmNlTG9jYXRpb25bXT4sXG4pOiBSZWNvcmQ8c3RyaW5nLCBSZXNvdXJjZU1vdmU+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZXNvdXJjZU1vdmU+ID0ge307XG5cbiAgZm9yIChjb25zdCBbaGFzaCwgbG9jYXRpb25zXSBvZiBPYmplY3QuZW50cmllcyhtMSkpIHtcbiAgICBpZiAoaGFzaCBpbiBtMikge1xuICAgICAgcmVzdWx0W2hhc2hdID0gW2xvY2F0aW9ucywgbTJbaGFzaF1dO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRbaGFzaF0gPSBbbG9jYXRpb25zLCBbXV07XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBbaGFzaCwgbG9jYXRpb25zXSBvZiBPYmplY3QuZW50cmllcyhtMikpIHtcbiAgICBpZiAoIShoYXNoIGluIG0xKSkge1xuICAgICAgcmVzdWx0W2hhc2hdID0gW1tdLCBsb2NhdGlvbnNdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGdyb3VwQnlLZXk8QT4oZW50cmllczogW3N0cmluZywgQV1bXSk6IFJlY29yZDxzdHJpbmcsIEFbXT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIEFbXT4gPSB7fTtcblxuICBmb3IgKGNvbnN0IFtoYXNoLCBsb2NhdGlvbl0gb2YgZW50cmllcykge1xuICAgIGlmIChoYXNoIGluIHJlc3VsdCkge1xuICAgICAgcmVzdWx0W2hhc2hdLnB1c2gobG9jYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRbaGFzaF0gPSBbbG9jYXRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZXMgYSBsaXN0IG9mIHBhaXJzIFtkaWdlc3QsIGxvY2F0aW9uXSBmb3IgZWFjaCByZXNvdXJjZSBpbiB0aGUgc3RhY2suXG4gKi9cbmZ1bmN0aW9uIHJlc291cmNlRGlnZXN0cyhzdGFja3M6IENsb3VkRm9ybWF0aW9uU3RhY2tbXSk6IFtzdHJpbmcsIFJlc291cmNlTG9jYXRpb25dW10ge1xuICAvLyBpbmRleCBzdGFja3MgYnkgbmFtZVxuICBjb25zdCBzdGFja3NCeU5hbWUgPSBuZXcgTWFwPHN0cmluZywgQ2xvdWRGb3JtYXRpb25TdGFjaz4oKTtcbiAgZm9yIChjb25zdCBzdGFjayBvZiBzdGFja3MpIHtcbiAgICBzdGFja3NCeU5hbWUuc2V0KHN0YWNrLnN0YWNrTmFtZSwgc3RhY2spO1xuICB9XG5cbiAgY29uc3QgZGlnZXN0cyA9IGNvbXB1dGVSZXNvdXJjZURpZ2VzdHMoc3RhY2tzKTtcblxuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoZGlnZXN0cykubWFwKChbbG9jLCBkaWdlc3RdKSA9PiB7XG4gICAgY29uc3QgW3N0YWNrTmFtZSwgbG9naWNhbElkXSA9IGxvYy5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGxvY2F0aW9uOiBSZXNvdXJjZUxvY2F0aW9uID0gbmV3IFJlc291cmNlTG9jYXRpb24oc3RhY2tzQnlOYW1lLmdldChzdGFja05hbWUpISwgbG9naWNhbElkKTtcbiAgICByZXR1cm4gW2RpZ2VzdCwgbG9jYXRpb25dO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYW1iaWd1b3VzTW92ZXMobW92ZW1lbnRzOiBSZXNvdXJjZU1vdmVbXSkge1xuICAvLyBBIG1vdmUgaXMgY29uc2lkZXJlZCBhbWJpZ3VvdXMgaWYgdHdvIGNvbmRpdGlvbnMgYXJlIG1ldDpcbiAgLy8gIDEuIEJvdGggc2lkZXMgaGF2ZSBhdCBsZWFzdCBvbmUgZWxlbWVudCAob3RoZXJ3aXNlLCBpdCdzIGp1c3QgYWRkaXRpb24gb3IgZGVsZXRpb24pXG4gIC8vICAyLiBBdCBsZWFzdCBvbmUgc2lkZSBoYXMgbW9yZSB0aGFuIG9uZSBlbGVtZW50XG4gIHJldHVybiBtb3ZlbWVudHNcbiAgICAuZmlsdGVyKChbcHJlLCBwb3N0XSkgPT4gcHJlLmxlbmd0aCA+IDAgJiYgcG9zdC5sZW5ndGggPiAwKVxuICAgIC5maWx0ZXIoKFtwcmUsIHBvc3RdKSA9PiBwcmUubGVuZ3RoID4gMSB8fCBwb3N0Lmxlbmd0aCA+IDEpO1xufVxuXG5mdW5jdGlvbiByZXNvdXJjZU1hcHBpbmdzKG1vdmVtZW50czogUmVzb3VyY2VNb3ZlW10sIHN0YWNrcz86IENsb3VkRm9ybWF0aW9uU3RhY2tbXSk6IFJlc291cmNlTWFwcGluZ1tdIHtcbiAgY29uc3Qgc3RhY2tzUHJlZGljYXRlID1cbiAgICBzdGFja3MgPT0gbnVsbFxuICAgICAgPyAoKSA9PiB0cnVlXG4gICAgICA6IChtOiBSZXNvdXJjZU1hcHBpbmcpID0+IHtcbiAgICAgICAgLy8gQW55IG1vdmVtZW50IHRoYXQgaW52b2x2ZXMgb25lIG9mIHRoZSBzZWxlY3RlZCBzdGFja3MgKGVpdGhlciBtb3ZpbmcgZnJvbSBvciB0bylcbiAgICAgICAgLy8gaXMgY29uc2lkZXJlZCBhIGNhbmRpZGF0ZSBmb3IgcmVmYWN0b3JpbmcuXG4gICAgICAgIGNvbnN0IHN0YWNrTmFtZXMgPSBbbS5zb3VyY2Uuc3RhY2suc3RhY2tOYW1lLCBtLmRlc3RpbmF0aW9uLnN0YWNrLnN0YWNrTmFtZV07XG4gICAgICAgIHJldHVybiBzdGFja3Muc29tZSgoc3RhY2spID0+IHN0YWNrTmFtZXMuaW5jbHVkZXMoc3RhY2suc3RhY2tOYW1lKSk7XG4gICAgICB9O1xuXG4gIHJldHVybiBtb3ZlbWVudHNcbiAgICAuZmlsdGVyKChbcHJlLCBwb3N0XSkgPT4gcHJlLmxlbmd0aCA9PT0gMSAmJiBwb3N0Lmxlbmd0aCA9PT0gMSAmJiAhcHJlWzBdLmVxdWFsVG8ocG9zdFswXSkpXG4gICAgLm1hcCgoW3ByZSwgcG9zdF0pID0+IG5ldyBSZXNvdXJjZU1hcHBpbmcocHJlWzBdLCBwb3N0WzBdKSlcbiAgICAuZmlsdGVyKHN0YWNrc1ByZWRpY2F0ZSk7XG59XG4iXX0=
|
|
@@ -2,28 +2,33 @@ import type { AssemblyManifest } from '@aws-cdk/cloud-assembly-schema';
|
|
|
2
2
|
import type { ResourceLocation } from './cloudformation';
|
|
3
3
|
export interface ExcludeList {
|
|
4
4
|
isExcluded(location: ResourceLocation): boolean;
|
|
5
|
+
union(other: ExcludeList): ExcludeList;
|
|
5
6
|
}
|
|
6
|
-
|
|
7
|
+
declare abstract class AbstractExcludeList implements ExcludeList {
|
|
8
|
+
abstract isExcluded(location: ResourceLocation): boolean;
|
|
9
|
+
union(other: ExcludeList): ExcludeList;
|
|
10
|
+
}
|
|
11
|
+
export declare class ManifestExcludeList extends AbstractExcludeList {
|
|
7
12
|
private readonly excludedLocations;
|
|
8
13
|
constructor(manifest: AssemblyManifest);
|
|
9
14
|
private getExcludedLocations;
|
|
10
15
|
isExcluded(location: ResourceLocation): boolean;
|
|
11
16
|
}
|
|
12
|
-
export declare class InMemoryExcludeList
|
|
17
|
+
export declare class InMemoryExcludeList extends AbstractExcludeList {
|
|
13
18
|
private readonly excludedLocations;
|
|
14
19
|
private readonly excludedPaths;
|
|
15
20
|
constructor(items: string[]);
|
|
16
21
|
isExcluded(location: ResourceLocation): boolean;
|
|
17
22
|
}
|
|
18
|
-
export declare class UnionExcludeList
|
|
23
|
+
export declare class UnionExcludeList extends AbstractExcludeList {
|
|
19
24
|
private readonly excludeLists;
|
|
20
25
|
constructor(excludeLists: ExcludeList[]);
|
|
21
26
|
isExcluded(location: ResourceLocation): boolean;
|
|
22
27
|
}
|
|
23
|
-
export declare class NeverExclude
|
|
28
|
+
export declare class NeverExclude extends AbstractExcludeList {
|
|
24
29
|
isExcluded(_location: ResourceLocation): boolean;
|
|
25
30
|
}
|
|
26
|
-
export declare class AlwaysExclude
|
|
31
|
+
export declare class AlwaysExclude extends AbstractExcludeList {
|
|
27
32
|
isExcluded(_location: ResourceLocation): boolean;
|
|
28
33
|
}
|
|
29
|
-
export
|
|
34
|
+
export {};
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AlwaysExclude = exports.NeverExclude = exports.UnionExcludeList = exports.InMemoryExcludeList = exports.ManifestExcludeList = void 0;
|
|
4
|
-
exports.fromManifestAndExclusionList = fromManifestAndExclusionList;
|
|
5
4
|
const cloud_assembly_schema_1 = require("@aws-cdk/cloud-assembly-schema");
|
|
6
|
-
class
|
|
5
|
+
class AbstractExcludeList {
|
|
6
|
+
union(other) {
|
|
7
|
+
return new UnionExcludeList([this, other]);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
class ManifestExcludeList extends AbstractExcludeList {
|
|
7
11
|
excludedLocations;
|
|
8
12
|
constructor(manifest) {
|
|
13
|
+
super();
|
|
9
14
|
this.excludedLocations = this.getExcludedLocations(manifest);
|
|
10
15
|
}
|
|
11
16
|
getExcludedLocations(asmManifest) {
|
|
@@ -34,10 +39,11 @@ class ManifestExcludeList {
|
|
|
34
39
|
}
|
|
35
40
|
}
|
|
36
41
|
exports.ManifestExcludeList = ManifestExcludeList;
|
|
37
|
-
class InMemoryExcludeList {
|
|
42
|
+
class InMemoryExcludeList extends AbstractExcludeList {
|
|
38
43
|
excludedLocations;
|
|
39
44
|
excludedPaths;
|
|
40
45
|
constructor(items) {
|
|
46
|
+
super();
|
|
41
47
|
this.excludedLocations = [];
|
|
42
48
|
this.excludedPaths = [];
|
|
43
49
|
if (items.length === 0) {
|
|
@@ -66,9 +72,10 @@ class InMemoryExcludeList {
|
|
|
66
72
|
}
|
|
67
73
|
}
|
|
68
74
|
exports.InMemoryExcludeList = InMemoryExcludeList;
|
|
69
|
-
class UnionExcludeList {
|
|
75
|
+
class UnionExcludeList extends AbstractExcludeList {
|
|
70
76
|
excludeLists;
|
|
71
77
|
constructor(excludeLists) {
|
|
78
|
+
super();
|
|
72
79
|
this.excludeLists = excludeLists;
|
|
73
80
|
}
|
|
74
81
|
isExcluded(location) {
|
|
@@ -76,19 +83,16 @@ class UnionExcludeList {
|
|
|
76
83
|
}
|
|
77
84
|
}
|
|
78
85
|
exports.UnionExcludeList = UnionExcludeList;
|
|
79
|
-
class NeverExclude {
|
|
86
|
+
class NeverExclude extends AbstractExcludeList {
|
|
80
87
|
isExcluded(_location) {
|
|
81
88
|
return false;
|
|
82
89
|
}
|
|
83
90
|
}
|
|
84
91
|
exports.NeverExclude = NeverExclude;
|
|
85
|
-
class AlwaysExclude {
|
|
92
|
+
class AlwaysExclude extends AbstractExcludeList {
|
|
86
93
|
isExcluded(_location) {
|
|
87
94
|
return true;
|
|
88
95
|
}
|
|
89
96
|
}
|
|
90
97
|
exports.AlwaysExclude = AlwaysExclude;
|
|
91
|
-
|
|
92
|
-
return new UnionExcludeList([new ManifestExcludeList(manifest), new InMemoryExcludeList(exclude ?? [])]);
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV4Y2x1ZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNEdBLG9FQUVDO0FBN0dELDBFQUF5RjtBQVF6RixNQUFhLG1CQUFtQjtJQUNiLGlCQUFpQixDQUF3QjtJQUUxRCxZQUFZLFFBQTBCO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFdBQTZCO1FBQ3hELCtFQUErRTtRQUMvRSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUN2RSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLG9DQUFZLENBQUMsd0JBQXdCLENBQzNFLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBMEIsRUFBRSxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUN0RCx5RUFBeUU7aUJBQ3hFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssaURBQXlCLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQ3pHO2dCQUNELCtDQUErQztpQkFDOUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2YsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUks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LENBQUMsU0FBMkI7UUFDcEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0Y7QUFKRCxvQ0FJQztBQUVELE1BQWEsYUFBYTtJQUN4QixVQUFVLENBQUMsU0FBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFKRCxzQ0FJQztBQUVELFNBQWdCLDRCQUE0QixDQUFDLFFBQTBCLEVBQUUsT0FBa0I7SUFDekYsT0FBTyxJQUFJLGdCQUFnQixDQUFDLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLG1CQUFtQixDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXNzZW1ibHlNYW5pZmVzdCB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBBcnRpZmFjdE1ldGFkYXRhRW50cnlUeXBlLCBBcnRpZmFjdFR5cGUgfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZUxvY2F0aW9uIGFzIENmblJlc291cmNlTG9jYXRpb24gfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZUxvY2F0aW9uIH0gZnJvbSAnLi9jbG91ZGZvcm1hdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhjbHVkZUxpc3Qge1xuICBpc0V4Y2x1ZGVkKGxvY2F0aW9uOiBSZXNvdXJjZUxvY2F0aW9uKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIE1hbmlmZXN0RXhjbHVkZUxpc3QgaW1wbGVtZW50cyBFeGNsdWRlTGlzdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXhjbHVkZWRMb2NhdGlvbnM6IENmblJlc291cmNlTG9jYXRpb25bXTtcblxuICBjb25zdHJ1Y3RvcihtYW5pZmVzdDogQXNzZW1ibHlNYW5pZmVzdCkge1xuICAgIHRoaXMuZXhjbHVkZWRMb2NhdGlvbnMgPSB0aGlzLmdldEV4Y2x1ZGVkTG9jYXRpb25zKG1hbmlmZXN0KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhjbHVkZWRMb2NhdGlvbnMoYXNtTWFuaWZlc3Q6IEFzc2VtYmx5TWFuaWZlc3QpOiBDZm5SZXNvdXJjZUxvY2F0aW9uW10ge1xuICAgIC8vIEZpcnN0LCB3ZSBuZWVkIHRvIGZpbHRlciB0aGUgYXJ0aWZhY3RzIHRvIG9ubHkgaW5jbHVkZSBDbG91ZEZvcm1hdGlvbiBzdGFja3NcbiAgICBjb25zdCBzdGFja01hbmlmZXN0cyA9IE9iamVjdC5lbnRyaWVzKGFzbU1hbmlmZXN0LmFydGlmYWN0cyA/PyB7fSkuZmlsdGVyKFxuICAgICAgKFtfLCBtYW5pZmVzdF0pID0+IG1hbmlmZXN0LnR5cGUgPT09IEFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0ssXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3VsdDogQ2ZuUmVzb3VyY2VMb2NhdGlvbltdID0gW107XG4gICAgZm9yIChsZXQgW3N0YWNrTmFtZSwgbWFuaWZlc3RdIG9mIHN0YWNrTWFuaWZlc3RzKSB7XG4gICAgICBjb25zdCBsb2NhdGlvbnMgPSBPYmplY3QudmFsdWVzKG1hbmlmZXN0Lm1ldGFkYXRhID8/IHt9KVxuICAgICAgICAvLyBUaGVuIHBpY2sgb25seSB0aGUgcmVzb3VyY2VzIGluIGVhY2ggc3RhY2sgbWFya2VkIHdpdGggRE9fTk9UX1JFRkFDVE9SXG4gICAgICAgIC5maWx0ZXIoKGVudHJpZXMpID0+XG4gICAgICAgICAgZW50cmllcy5zb21lKChlbnRyeSkgPT4gZW50cnkudHlwZSA9PT0gQXJ0aWZhY3RNZXRhZGF0YUVudHJ5VHlwZS5ET19OT1RfUkVGQUNUT1IgJiYgZW50cnkuZGF0YSA9PT0gdHJ1ZSksXG4gICAgICAgIClcbiAgICAgICAgLy8gRmluYWxseSwgZ2V0IHRoZSBsb2dpY2FsIElEIG9mIGVhY2ggcmVzb3VyY2VcbiAgICAgICAgLm1hcCgoZW50cmllcykgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvZ2ljYWxJZEVudHJ5ID0gZW50cmllcy5maW5kKChlbnRyeSkgPT4gZW50cnkudHlwZSA9PT0gQXJ0aWZhY3RNZXRhZGF0YUVudHJ5VHlwZS5MT0dJQ0FMX0lEKTtcbiAgICAgICAgICBjb25zdCBsb2NhdGlvbjogQ2ZuUmVzb3VyY2VMb2NhdGlvbiA9IHtcbiAgICAgICAgICAgIFN0YWNrTmFtZTogc3RhY2tOYW1lLFxuICAgICAgICAgICAgTG9naWNhbFJlc291cmNlSWQ6IGxvZ2ljYWxJZEVudHJ5IS5kYXRhISBhcyBzdHJpbmcsXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gbG9jYXRpb247XG4gICAgICAgIH0pO1xuICAgICAgcmVzdWx0LnB1c2goLi4ubG9jYXRpb25zKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGlzRXhjbHVkZWQobG9jYXRpb246IFJlc291cmNlTG9jYXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5leGNsdWRlZExvY2F0aW9ucy5zb21lKFxuICAgICAgKGxvYykgPT4gbG9jLlN0YWNrTmFtZSA9PT0gbG9jYXRpb24uc3RhY2suc3RhY2tOYW1lICYmIGxvYy5Mb2dpY2FsUmVzb3VyY2VJZCA9PT0gbG9jYXRpb24ubG9naWNhbFJlc291cmNlSWQsXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW5NZW1vcnlFeGNsdWRlTGlzdCBpbXBsZW1lbnRzIEV4Y2x1ZGVMaXN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBleGNsdWRlZExvY2F0aW9uczogQ2ZuUmVzb3VyY2VMb2NhdGlvbltdO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGVkUGF0aHM6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuZXhjbHVkZWRMb2NhdGlvbnMgPSBbXTtcbiAgICB0aGlzLmV4Y2x1ZGVkUGF0aHMgPSBbXTtcblxuICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhdGlvblJlZ2V4ID0gL15bQS1aYS16MC05XStcXC5bQS1aYS16MC05XSskLztcblxuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW06IHN0cmluZykgPT4ge1xuICAgICAgaWYgKGxvY2F0aW9uUmVnZXgudGVzdChpdGVtKSkge1xuICAgICAgICBjb25zdCBbc3RhY2tOYW1lLCBsb2dpY2FsSWRdID0gaXRlbS5zcGxpdCgnLicpO1xuICAgICAgICB0aGlzLmV4Y2x1ZGVkTG9jYXRpb25zLnB1c2goe1xuICAgICAgICAgIFN0YWNrTmFtZTogc3RhY2tOYW1lLFxuICAgICAgICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBsb2dpY2FsSWQsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leGNsdWRlZFBhdGhzLnB1c2goaXRlbSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpc0V4Y2x1ZGVkKGxvY2F0aW9uOiBSZXNvdXJjZUxvY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udGFpbnNMb2NhdGlvbiA9IHRoaXMuZXhjbHVkZWRMb2NhdGlvbnMuc29tZSgobG9jKSA9PiB7XG4gICAgICByZXR1cm4gbG9jLlN0YWNrTmFtZSA9PT0gbG9jYXRpb24uc3RhY2suc3RhY2tOYW1lICYmIGxvYy5Mb2dpY2FsUmVzb3VyY2VJZCA9PT0gbG9jYXRpb24ubG9naWNhbFJlc291cmNlSWQ7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250YWluc1BhdGggPSB0aGlzLmV4Y2x1ZGVkUGF0aHMuc29tZSgocGF0aCkgPT4gbG9jYXRpb24udG9QYXRoKCkgPT09IHBhdGgpO1xuICAgIHJldHVybiBjb250YWluc0xvY2F0aW9uIHx8IGNvbnRhaW5zUGF0aDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5pb25FeGNsdWRlTGlzdCBpbXBsZW1lbnRzIEV4Y2x1ZGVMaXN0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBleGNsdWRlTGlzdHM6IEV4Y2x1ZGVMaXN0W10pIHtcbiAgfVxuXG4gIGlzRXhjbHVkZWQobG9jYXRpb246IFJlc291cmNlTG9jYXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5leGNsdWRlTGlzdHMuc29tZSgoZXhjbHVkZUxpc3QpID0+IGV4Y2x1ZGVMaXN0LmlzRXhjbHVkZWQobG9jYXRpb24pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTmV2ZXJFeGNsdWRlIGltcGxlbWVudHMgRXhjbHVkZUxpc3Qge1xuICBpc0V4Y2x1ZGVkKF9sb2NhdGlvbjogUmVzb3VyY2VMb2NhdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWx3YXlzRXhjbHVkZSBpbXBsZW1lbnRzIEV4Y2x1ZGVMaXN0IHtcbiAgaXNFeGNsdWRlZChfbG9jYXRpb246IFJlc291cmNlTG9jYXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbU1hbmlmZXN0QW5kRXhjbHVzaW9uTGlzdChtYW5pZmVzdDogQXNzZW1ibHlNYW5pZmVzdCwgZXhjbHVkZT86IHN0cmluZ1tdKTogRXhjbHVkZUxpc3Qge1xuICByZXR1cm4gbmV3IFVuaW9uRXhjbHVkZUxpc3QoW25ldyBNYW5pZmVzdEV4Y2x1ZGVMaXN0KG1hbmlmZXN0KSwgbmV3IEluTWVtb3J5RXhjbHVkZUxpc3QoZXhjbHVkZSA/PyBbXSldKTtcbn1cblxuIl19
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjbHVkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV4Y2x1ZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMEVBQXlGO0FBVXpGLE1BQWUsbUJBQW1CO0lBR2hDLEtBQUssQ0FBQyxLQUFrQjtRQUN0QixPQUFPLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFFRCxNQUFhLG1CQUFvQixTQUFRLG1CQUFtQjtJQUN6QyxpQkFBaUIsQ0FBd0I7SUFFMUQsWUFBWSxRQUEwQjtRQUNwQyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFdBQTZCO1FBQ3hELCtFQUErRTtRQUMvRSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUN2RSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLG9DQUFZLENBQUMsd0JBQXdCLENBQzNFLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBMEIsRUFBRSxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUN0RCx5RUFBeUU7aUJBQ3hFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssaURBQXlC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R0FBWixZQUFZLENBQWU7SUFFeEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUEwQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztDQUNGO0FBUkQsNENBUUM7QUFFRCxNQUFhLFlBQWEsU0FBUSxtQkFBbUI7SUFDbkQsVUFBVSxDQUFDLFNBQTJCO1FBQ3BDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBSkQsb0NBSUM7QUFFRCxNQUFhLGFBQWMsU0FBUSxtQkFBbUI7SUFDcEQsVUFBVSxDQUFDLFNBQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBSkQsc0NBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFzc2VtYmx5TWFuaWZlc3QgfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0IHsgQXJ0aWZhY3RNZXRhZGF0YUVudHJ5VHlwZSwgQXJ0aWZhY3RUeXBlIH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VMb2NhdGlvbiBhcyBDZm5SZXNvdXJjZUxvY2F0aW9uIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VMb2NhdGlvbiB9IGZyb20gJy4vY2xvdWRmb3JtYXRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2x1ZGVMaXN0IHtcbiAgaXNFeGNsdWRlZChsb2NhdGlvbjogUmVzb3VyY2VMb2NhdGlvbik6IGJvb2xlYW47XG5cbiAgdW5pb24ob3RoZXI6IEV4Y2x1ZGVMaXN0KTogRXhjbHVkZUxpc3Q7XG59XG5cbmFic3RyYWN0IGNsYXNzIEFic3RyYWN0RXhjbHVkZUxpc3QgaW1wbGVtZW50cyBFeGNsdWRlTGlzdCB7XG4gIGFic3RyYWN0IGlzRXhjbHVkZWQobG9jYXRpb246IFJlc291cmNlTG9jYXRpb24pOiBib29sZWFuO1xuXG4gIHVuaW9uKG90aGVyOiBFeGNsdWRlTGlzdCk6IEV4Y2x1ZGVMaXN0IHtcbiAgICByZXR1cm4gbmV3IFVuaW9uRXhjbHVkZUxpc3QoW3RoaXMsIG90aGVyXSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1hbmlmZXN0RXhjbHVkZUxpc3QgZXh0ZW5kcyBBYnN0cmFjdEV4Y2x1ZGVMaXN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBleGNsdWRlZExvY2F0aW9uczogQ2ZuUmVzb3VyY2VMb2NhdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKG1hbmlmZXN0OiBBc3NlbWJseU1hbmlmZXN0KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmV4Y2x1ZGVkTG9jYXRpb25zID0gdGhpcy5nZXRFeGNsdWRlZExvY2F0aW9ucyhtYW5pZmVzdCk7XG4gIH1cblxuICBwcml2YXRlIGdldEV4Y2x1ZGVkTG9jYXRpb25zKGFzbU1hbmlmZXN0OiBBc3NlbWJseU1hbmlmZXN0KTogQ2ZuUmVzb3VyY2VMb2NhdGlvbltdIHtcbiAgICAvLyBGaXJzdCwgd2UgbmVlZCB0byBmaWx0ZXIgdGhlIGFydGlmYWN0cyB0byBvbmx5IGluY2x1ZGUgQ2xvdWRGb3JtYXRpb24gc3RhY2tzXG4gICAgY29uc3Qgc3RhY2tNYW5pZmVzdHMgPSBPYmplY3QuZW50cmllcyhhc21NYW5pZmVzdC5hcnRpZmFjdHMgPz8ge30pLmZpbHRlcihcbiAgICAgIChbXywgbWFuaWZlc3RdKSA9PiBtYW5pZmVzdC50eXBlID09PSBBcnRpZmFjdFR5cGUuQVdTX0NMT1VERk9STUFUSU9OX1NUQUNLLFxuICAgICk7XG5cbiAgICBjb25zdCByZXN1bHQ6IENmblJlc291cmNlTG9jYXRpb25bXSA9IFtdO1xuICAgIGZvciAobGV0IFtzdGFja05hbWUsIG1hbmlmZXN0XSBvZiBzdGFja01hbmlmZXN0cykge1xuICAgICAgY29uc3QgbG9jYXRpb25zID0gT2JqZWN0LnZhbHVlcyhtYW5pZmVzdC5tZXRhZGF0YSA/PyB7fSlcbiAgICAgICAgLy8gVGhlbiBwaWNrIG9ubHkgdGhlIHJlc291cmNlcyBpbiBlYWNoIHN0YWNrIG1hcmtlZCB3aXRoIERPX05PVF9SRUZBQ1RPUlxuICAgICAgICAuZmlsdGVyKChlbnRyaWVzKSA9PlxuICAgICAgICAgIGVudHJpZXMuc29tZSgoZW50cnkpID0+IGVudHJ5LnR5cGUgPT09IEFydGlmYWN0TWV0YWRhdGFFbnRyeVR5cGUuRE9fTk9UX1JFRkFDVE9SICYmIGVudHJ5LmRhdGEgPT09IHRydWUpLFxuICAgICAgICApXG4gICAgICAgIC8vIEZpbmFsbHksIGdldCB0aGUgbG9naWNhbCBJRCBvZiBlYWNoIHJlc291cmNlXG4gICAgICAgIC5tYXAoKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBjb25zdCBsb2dpY2FsSWRFbnRyeSA9IGVudHJpZXMuZmluZCgoZW50cnkpID0+IGVudHJ5LnR5cGUgPT09IEFydGlmYWN0TWV0YWRhdGFFbnRyeVR5cGUuTE9HSUNBTF9JRCk7XG4gICAgICAgICAgY29uc3QgbG9jYXRpb246IENmblJlc291cmNlTG9jYXRpb24gPSB7XG4gICAgICAgICAgICBTdGFja05hbWU6IHN0YWNrTmFtZSxcbiAgICAgICAgICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBsb2dpY2FsSWRFbnRyeSEuZGF0YSEgYXMgc3RyaW5nLFxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIGxvY2F0aW9uO1xuICAgICAgICB9KTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmxvY2F0aW9ucyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBpc0V4Y2x1ZGVkKGxvY2F0aW9uOiBSZXNvdXJjZUxvY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXhjbHVkZWRMb2NhdGlvbnMuc29tZShcbiAgICAgIChsb2MpID0+IGxvYy5TdGFja05hbWUgPT09IGxvY2F0aW9uLnN0YWNrLnN0YWNrTmFtZSAmJiBsb2MuTG9naWNhbFJlc291cmNlSWQgPT09IGxvY2F0aW9uLmxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEluTWVtb3J5RXhjbHVkZUxpc3QgZXh0ZW5kcyBBYnN0cmFjdEV4Y2x1ZGVMaXN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBleGNsdWRlZExvY2F0aW9uczogQ2ZuUmVzb3VyY2VMb2NhdGlvbltdO1xuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGVkUGF0aHM6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBzdHJpbmdbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5leGNsdWRlZExvY2F0aW9ucyA9IFtdO1xuICAgIHRoaXMuZXhjbHVkZWRQYXRocyA9IFtdO1xuXG4gICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2F0aW9uUmVnZXggPSAvXltBLVphLXowLTldK1xcLltBLVphLXowLTldKyQvO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAobG9jYXRpb25SZWdleC50ZXN0KGl0ZW0pKSB7XG4gICAgICAgIGNvbnN0IFtzdGFja05hbWUsIGxvZ2ljYWxJZF0gPSBpdGVtLnNwbGl0KCcuJyk7XG4gICAgICAgIHRoaXMuZXhjbHVkZWRMb2NhdGlvbnMucHVzaCh7XG4gICAgICAgICAgU3RhY2tOYW1lOiBzdGFja05hbWUsXG4gICAgICAgICAgTG9naWNhbFJlc291cmNlSWQ6IGxvZ2ljYWxJZCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmV4Y2x1ZGVkUGF0aHMucHVzaChpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzRXhjbHVkZWQobG9jYXRpb246IFJlc291cmNlTG9jYXRpb24pOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250YWluc0xvY2F0aW9uID0gdGhpcy5leGNsdWRlZExvY2F0aW9ucy5zb21lKChsb2MpID0+IHtcbiAgICAgIHJldHVybiBsb2MuU3RhY2tOYW1lID09PSBsb2NhdGlvbi5zdGFjay5zdGFja05hbWUgJiYgbG9jLkxvZ2ljYWxSZXNvdXJjZUlkID09PSBsb2NhdGlvbi5sb2dpY2FsUmVzb3VyY2VJZDtcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRhaW5zUGF0aCA9IHRoaXMuZXhjbHVkZWRQYXRocy5zb21lKChwYXRoKSA9PiBsb2NhdGlvbi50b1BhdGgoKSA9PT0gcGF0aCk7XG4gICAgcmV0dXJuIGNvbnRhaW5zTG9jYXRpb24gfHwgY29udGFpbnNQYXRoO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmlvbkV4Y2x1ZGVMaXN0IGV4dGVuZHMgQWJzdHJhY3RFeGNsdWRlTGlzdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZXhjbHVkZUxpc3RzOiBFeGNsdWRlTGlzdFtdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGlzRXhjbHVkZWQobG9jYXRpb246IFJlc291cmNlTG9jYXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5leGNsdWRlTGlzdHMuc29tZSgoZXhjbHVkZUxpc3QpID0+IGV4Y2x1ZGVMaXN0LmlzRXhjbHVkZWQobG9jYXRpb24pKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTmV2ZXJFeGNsdWRlIGV4dGVuZHMgQWJzdHJhY3RFeGNsdWRlTGlzdCB7XG4gIGlzRXhjbHVkZWQoX2xvY2F0aW9uOiBSZXNvdXJjZUxvY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBbHdheXNFeGNsdWRlIGV4dGVuZHMgQWJzdHJhY3RFeGNsdWRlTGlzdCB7XG4gIGlzRXhjbHVkZWQoX2xvY2F0aW9uOiBSZXNvdXJjZUxvY2F0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,4 +4,4 @@ import type { CloudFormationStack, ResourceMapping } from './cloudformation';
|
|
|
4
4
|
* Generates a list of stack definitions to be sent to the CloudFormation API
|
|
5
5
|
* by applying each mapping to the corresponding stack template(s).
|
|
6
6
|
*/
|
|
7
|
-
export declare function generateStackDefinitions(mappings: ResourceMapping[], deployedStacks: CloudFormationStack[]): StackDefinition[];
|
|
7
|
+
export declare function generateStackDefinitions(mappings: ResourceMapping[], deployedStacks: CloudFormationStack[], localStacks: CloudFormationStack[]): StackDefinition[];
|
|
@@ -6,38 +6,63 @@ const toolkit_error_1 = require("../../toolkit/toolkit-error");
|
|
|
6
6
|
* Generates a list of stack definitions to be sent to the CloudFormation API
|
|
7
7
|
* by applying each mapping to the corresponding stack template(s).
|
|
8
8
|
*/
|
|
9
|
-
function generateStackDefinitions(mappings, deployedStacks) {
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const destinationStackName = mapping.destination.stack.stackName;
|
|
20
|
-
const destinationLogicalId = mapping.destination.logicalResourceId;
|
|
21
|
-
if (templates[destinationStackName] == null) {
|
|
22
|
-
// The API doesn't allow anything in the template other than the resources
|
|
23
|
-
// that are part of the mappings. So we need to create an empty template
|
|
24
|
-
// to start adding resources to.
|
|
25
|
-
templates[destinationStackName] = { Resources: {} };
|
|
9
|
+
function generateStackDefinitions(mappings, deployedStacks, localStacks) {
|
|
10
|
+
const localTemplates = Object.fromEntries(localStacks.map((s) => [s.stackName, JSON.parse(JSON.stringify(s.template))]));
|
|
11
|
+
const deployedTemplates = Object.fromEntries(deployedStacks.map((s) => [s.stackName, JSON.parse(JSON.stringify(s.template))]));
|
|
12
|
+
// First, remove from the local templates any resources that are not in the deployed templates
|
|
13
|
+
iterate(localTemplates, (stackName, logicalResourceId) => {
|
|
14
|
+
const location = searchLocation(stackName, logicalResourceId, 'destination', 'source');
|
|
15
|
+
const deployedResource = deployedStacks.find((s) => s.stackName === location.stackName)?.template
|
|
16
|
+
.Resources?.[location.logicalResourceId];
|
|
17
|
+
if (deployedResource == null) {
|
|
18
|
+
delete localTemplates[stackName].Resources?.[logicalResourceId];
|
|
26
19
|
}
|
|
27
|
-
const destinationTemplate = templates[destinationStackName];
|
|
28
|
-
// Do the move
|
|
29
|
-
destinationTemplate.Resources[destinationLogicalId] = sourceTemplate.Resources[sourceLogicalId];
|
|
30
|
-
delete sourceTemplate.Resources[sourceLogicalId];
|
|
31
20
|
});
|
|
32
|
-
//
|
|
33
|
-
|
|
21
|
+
// Now do the opposite: add to the local templates any resources that are in the deployed templates
|
|
22
|
+
iterate(deployedTemplates, (stackName, logicalResourceId, deployedResource) => {
|
|
23
|
+
const location = searchLocation(stackName, logicalResourceId, 'source', 'destination');
|
|
24
|
+
const resources = Object
|
|
25
|
+
.entries(localTemplates)
|
|
26
|
+
.find(([name, _]) => name === location.stackName)?.[1].Resources;
|
|
27
|
+
const localResource = resources?.[location.logicalResourceId];
|
|
28
|
+
if (localResource == null) {
|
|
29
|
+
if (localTemplates[stackName]?.Resources) {
|
|
30
|
+
localTemplates[stackName].Resources[logicalResourceId] = deployedResource;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// This is temporary, until CloudFormation supports CDK construct path updates in the refactor API
|
|
35
|
+
if (localResource.Metadata != null) {
|
|
36
|
+
localResource.Metadata['aws:cdk:path'] = deployedResource.Metadata?.['aws:cdk:path'];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
function searchLocation(stackName, logicalResourceId, from, to) {
|
|
41
|
+
const mapping = mappings.find((m) => m[from].stack.stackName === stackName && m[from].logicalResourceId === logicalResourceId);
|
|
42
|
+
return mapping != null
|
|
43
|
+
? { stackName: mapping[to].stack.stackName, logicalResourceId: mapping[to].logicalResourceId }
|
|
44
|
+
: { stackName, logicalResourceId };
|
|
45
|
+
}
|
|
46
|
+
function iterate(templates, cb) {
|
|
47
|
+
Object.entries(templates).forEach(([stackName, template]) => {
|
|
48
|
+
Object.entries(template.Resources ?? {}).forEach(([logicalResourceId, resource]) => {
|
|
49
|
+
cb(stackName, logicalResourceId, resource);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
for (const [stackName, template] of Object.entries(localTemplates)) {
|
|
34
54
|
if (Object.keys(template.Resources ?? {}).length === 0) {
|
|
35
55
|
throw new toolkit_error_1.ToolkitError(`Stack ${stackName} has no resources after refactor. You must add a resource to this stack. This resource can be a simple one, like a waitCondition resource type.`);
|
|
36
56
|
}
|
|
37
57
|
}
|
|
38
|
-
return Object.entries(
|
|
58
|
+
return Object.entries(localTemplates)
|
|
59
|
+
.filter(([stackName, _]) => mappings.some((m) => {
|
|
60
|
+
// Only send templates for stacks that are part of the mappings
|
|
61
|
+
return m.source.stack.stackName === stackName || m.destination.stack.stackName === stackName;
|
|
62
|
+
}))
|
|
63
|
+
.map(([stackName, template]) => ({
|
|
39
64
|
StackName: stackName,
|
|
40
65
|
TemplateBody: JSON.stringify(template),
|
|
41
66
|
}));
|
|
42
67
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBYUEsNERBb0ZDO0FBMUZELCtEQUEyRDtBQUUzRDs7O0dBR0c7QUFDSCxTQUFnQix3QkFBd0IsQ0FDdEMsUUFBMkIsRUFDM0IsY0FBcUMsRUFDckMsV0FBa0M7SUFFbEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDdkMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQTJCLENBQUMsQ0FBQyxDQUN4RyxDQUFDO0lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUMxQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBMkIsQ0FBQyxDQUFDLENBQzNHLENBQUM7SUFFRiw4RkFBOEY7SUFDOUYsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxFQUFFO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXZGLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUTthQUM5RixTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENB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Q25FLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxNQUFNLElBQUksNEJBQVksQ0FDcEIsU0FBUyxTQUFTLGlKQUFpSixDQUNwSyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1NBQ2xDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDekIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2xCLCtEQUErRDtRQUMvRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQztJQUMvRixDQUFDLENBQUMsQ0FDSDtTQUNBLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztLQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0YWNrRGVmaW5pdGlvbiB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgdHlwZSB7XG4gIENsb3VkRm9ybWF0aW9uUmVzb3VyY2UsXG4gIENsb3VkRm9ybWF0aW9uU3RhY2ssXG4gIENsb3VkRm9ybWF0aW9uVGVtcGxhdGUsXG4gIFJlc291cmNlTWFwcGluZyxcbn0gZnJvbSAnLi9jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBUb29sa2l0RXJyb3IgfSBmcm9tICcuLi8uLi90b29sa2l0L3Rvb2xraXQtZXJyb3InO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGxpc3Qgb2Ygc3RhY2sgZGVmaW5pdGlvbnMgdG8gYmUgc2VudCB0byB0aGUgQ2xvdWRGb3JtYXRpb24gQVBJXG4gKiBieSBhcHBseWluZyBlYWNoIG1hcHBpbmcgdG8gdGhlIGNvcnJlc3BvbmRpbmcgc3RhY2sgdGVtcGxhdGUocykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVN0YWNrRGVmaW5pdGlvbnMoXG4gIG1hcHBpbmdzOiBSZXNvdXJjZU1hcHBpbmdbXSxcbiAgZGVwbG95ZWRTdGFja3M6IENsb3VkRm9ybWF0aW9uU3RhY2tbXSxcbiAgbG9jYWxTdGFja3M6IENsb3VkRm9ybWF0aW9uU3RhY2tbXSxcbik6IFN0YWNrRGVmaW5pdGlvbltdIHtcbiAgY29uc3QgbG9jYWxUZW1wbGF0ZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgbG9jYWxTdGFja3MubWFwKChzKSA9PiBbcy5zdGFja05hbWUsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocy50ZW1wbGF0ZSkpIGFzIENsb3VkRm9ybWF0aW9uVGVtcGxhdGVdKSxcbiAgKTtcbiAgY29uc3QgZGVwbG95ZWRUZW1wbGF0ZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgZGVwbG95ZWRTdGFja3MubWFwKChzKSA9PiBbcy5zdGFja05hbWUsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocy50ZW1wbGF0ZSkpIGFzIENsb3VkRm9ybWF0aW9uVGVtcGxhdGVdKSxcbiAgKTtcblxuICAvLyBGaXJzdCwgcmVtb3ZlIGZyb20gdGhlIGxvY2FsIHRlbXBsYXRlcyBhbnkgcmVzb3VyY2VzIHRoYXQgYXJlIG5vdCBpbiB0aGUgZGVwbG95ZWQgdGVtcGxhdGVzXG4gIGl0ZXJhdGUobG9jYWxUZW1wbGF0ZXMsIChzdGFja05hbWUsIGxvZ2ljYWxSZXNvdXJjZUlkKSA9PiB7XG4gICAgY29uc3QgbG9jYXRpb24gPSBzZWFyY2hMb2NhdGlvbihzdGFja05hbWUsIGxvZ2ljYWxSZXNvdXJjZUlkLCAnZGVzdGluYXRpb24nLCAnc291cmNlJyk7XG5cbiAgICBjb25zdCBkZXBsb3llZFJlc291cmNlID0gZGVwbG95ZWRTdGFja3MuZmluZCgocykgPT4gcy5zdGFja05hbWUgPT09IGxvY2F0aW9uLnN0YWNrTmFtZSk/LnRlbXBsYXRlXG4gICAgICAuUmVzb3VyY2VzPy5bbG9jYXRpb24ubG9naWNhbFJlc291cmNlSWRdO1xuXG4gICAgaWYgKGRlcGxveWVkUmVzb3VyY2UgPT0gbnVsbCkge1xuICAgICAgZGVsZXRlIGxvY2FsVGVtcGxhdGVzW3N0YWNrTmFtZV0uUmVzb3VyY2VzPy5bbG9naWNhbFJlc291cmNlSWRdO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gTm93IGRvIHRoZSBvcHBvc2l0ZTogYWRkIHRvIHRoZSBsb2NhbCB0ZW1wbGF0ZXMgYW55IHJlc291cmNlcyB0aGF0IGFyZSBpbiB0aGUgZGVwbG95ZWQgdGVtcGxhdGVzXG4gIGl0ZXJhdGUoZGVwbG95ZWRUZW1wbGF0ZXMsIChzdGFja05hbWUsIGxvZ2ljYWxSZXNvdXJjZUlkLCBkZXBsb3llZFJlc291cmNlKSA9PiB7XG4gICAgY29uc3QgbG9jYXRpb24gPSBzZWFyY2hMb2NhdGlvbihzdGFja05hbWUsIGxvZ2ljYWxSZXNvdXJjZUlkLCAnc291cmNlJywgJ2Rlc3RpbmF0aW9uJyk7XG5cbiAgICBjb25zdCByZXNvdXJjZXMgPSBPYmplY3RcbiAgICAgIC5lbnRyaWVzKGxvY2FsVGVtcGxhdGVzKVxuICAgICAgLmZpbmQoKFtuYW1lLCBfXSkgPT4gbmFtZSA9PT0gbG9jYXRpb24uc3RhY2tOYW1lKT8uWzFdLlJlc291cmNlcztcbiAgICBjb25zdCBsb2NhbFJlc291cmNlID0gcmVzb3VyY2VzPy5bbG9jYXRpb24ubG9naWNhbFJlc291cmNlSWRdO1xuXG4gICAgaWYgKGxvY2FsUmVzb3VyY2UgPT0gbnVsbCkge1xuICAgICAgaWYgKGxvY2FsVGVtcGxhdGVzW3N0YWNrTmFtZV0/LlJlc291cmNlcykge1xuICAgICAgICBsb2NhbFRlbXBsYXRlc1tzdGFja05hbWVdLlJlc291cmNlc1tsb2dpY2FsUmVzb3VyY2VJZF0gPSBkZXBsb3llZFJlc291cmNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGlzIHRlbXBvcmFyeSwgdW50aWwgQ2xvdWRGb3JtYXRpb24gc3VwcG9ydHMgQ0RLIGNvbnN0cnVjdCBwYXRoIHVwZGF0ZXMgaW4gdGhlIHJlZmFjdG9yIEFQSVxuICAgICAgaWYgKGxvY2FsUmVzb3VyY2UuTWV0YWRhdGEgIT0gbnVsbCkge1xuICAgICAgICBsb2NhbFJlc291cmNlLk1ldGFkYXRhWydhd3M6Y2RrOnBhdGgnXSA9IGRlcGxveWVkUmVzb3VyY2UuTWV0YWRhdGE/LlsnYXdzOmNkazpwYXRoJ107XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBzZWFyY2hMb2NhdGlvbihzdGFja05hbWU6IHN0cmluZywgbG9naWNhbFJlc291cmNlSWQ6IHN0cmluZywgZnJvbTogJ3NvdXJjZScgfCAnZGVzdGluYXRpb24nLCB0bzogJ3NvdXJjZScgfCAnZGVzdGluYXRpb24nKSB7XG4gICAgY29uc3QgbWFwcGluZyA9IG1hcHBpbmdzLmZpbmQoXG4gICAgICAobSkgPT4gbVtmcm9tXS5zdGFjay5zdGFja05hbWUgPT09IHN0YWNrTmFtZSAmJiBtW2Zyb21dLmxvZ2ljYWxSZXNvdXJjZUlkID09PSBsb2dpY2FsUmVzb3VyY2VJZCxcbiAgICApO1xuICAgIHJldHVybiBtYXBwaW5nICE9IG51bGxcbiAgICAgID8geyBzdGFja05hbWU6IG1hcHBpbmdbdG9dLnN0YWNrLnN0YWNrTmFtZSwgbG9naWNhbFJlc291cmNlSWQ6IG1hcHBpbmdbdG9dLmxvZ2ljYWxSZXNvdXJjZUlkIH1cbiAgICAgIDogeyBzdGFja05hbWUsIGxvZ2ljYWxSZXNvdXJjZUlkIH07XG4gIH1cblxuICBmdW5jdGlvbiBpdGVyYXRlKFxuICAgIHRlbXBsYXRlczogUmVjb3JkPHN0cmluZywgQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZT4sXG4gICAgY2I6IChzdGFja05hbWU6IHN0cmluZywgbG9naWNhbFJlc291cmNlSWQ6IHN0cmluZywgcmVzb3VyY2U6IENsb3VkRm9ybWF0aW9uUmVzb3VyY2UpID0+IHZvaWQsXG4gICkge1xuICAgIE9iamVjdC5lbnRyaWVzKHRlbXBsYXRlcykuZm9yRWFjaCgoW3N0YWNrTmFtZSwgdGVtcGxhdGVdKSA9PiB7XG4gICAgICBPYmplY3QuZW50cmllcyh0ZW1wbGF0ZS5SZXNvdXJjZXMgPz8ge30pLmZvckVhY2goKFtsb2dpY2FsUmVzb3VyY2VJZCwgcmVzb3VyY2VdKSA9PiB7XG4gICAgICAgIGNiKHN0YWNrTmFtZSwgbG9naWNhbFJlc291cmNlSWQsIHJlc291cmNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZm9yIChjb25zdCBbc3RhY2tOYW1lLCB0ZW1wbGF0ZV0gb2YgT2JqZWN0LmVudHJpZXMobG9jYWxUZW1wbGF0ZXMpKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHRlbXBsYXRlLlJlc291cmNlcyA/PyB7fSkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKFxuICAgICAgICBgU3RhY2sgJHtzdGFja05hbWV9IGhhcyBubyByZXNvdXJjZXMgYWZ0ZXIgcmVmYWN0b3IuIFlvdSBtdXN0IGFkZCBhIHJlc291cmNlIHRvIHRoaXMgc3RhY2suIFRoaXMgcmVzb3VyY2UgY2FuIGJlIGEgc2ltcGxlIG9uZSwgbGlrZSBhIHdhaXRDb25kaXRpb24gcmVzb3VyY2UgdHlwZS5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LmVudHJpZXMobG9jYWxUZW1wbGF0ZXMpXG4gICAgLmZpbHRlcigoW3N0YWNrTmFtZSwgX10pID0+XG4gICAgICBtYXBwaW5ncy5zb21lKChtKSA9PiB7XG4gICAgICAgIC8vIE9ubHkgc2VuZCB0ZW1wbGF0ZXMgZm9yIHN0YWNrcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBtYXBwaW5nc1xuICAgICAgICByZXR1cm4gbS5zb3VyY2Uuc3RhY2suc3RhY2tOYW1lID09PSBzdGFja05hbWUgfHwgbS5kZXN0aW5hdGlvbi5zdGFjay5zdGFja05hbWUgPT09IHN0YWNrTmFtZTtcbiAgICAgIH0pLFxuICAgIClcbiAgICAubWFwKChbc3RhY2tOYW1lLCB0ZW1wbGF0ZV0pID0+ICh7XG4gICAgICBTdGFja05hbWU6IHN0YWNrTmFtZSxcbiAgICAgIFRlbXBsYXRlQm9keTogSlNPTi5zdHJpbmdpZnkodGVtcGxhdGUpLFxuICAgIH0pKTtcbn1cbiJdfQ==
|
|
@@ -1,34 +1,13 @@
|
|
|
1
1
|
import type { TypedMapping } from '@aws-cdk/cloudformation-diff';
|
|
2
|
+
import type * as cxapi from '@aws-cdk/cx-api';
|
|
2
3
|
import type { SdkProvider } from '../aws-auth/private';
|
|
3
4
|
import type { CloudFormationStack } from './cloudformation';
|
|
4
|
-
import {
|
|
5
|
-
import { type ExcludeList } from './exclude';
|
|
5
|
+
import { ResourceMapping } from './cloudformation';
|
|
6
6
|
import type { MappingGroup } from '../../actions';
|
|
7
7
|
export * from './exclude';
|
|
8
|
-
/**
|
|
9
|
-
* Represents a set of possible movements of a resource from one location
|
|
10
|
-
* to another. In the ideal case, there is only one source and only one
|
|
11
|
-
* destination.
|
|
12
|
-
*/
|
|
13
|
-
export type ResourceMovement = [ResourceLocation[], ResourceLocation[]];
|
|
14
|
-
export declare class AmbiguityError extends Error {
|
|
15
|
-
readonly movements: ResourceMovement[];
|
|
16
|
-
constructor(movements: ResourceMovement[]);
|
|
17
|
-
paths(): [string[], string[]][];
|
|
18
|
-
}
|
|
19
8
|
export declare function usePrescribedMappings(mappingGroups: MappingGroup[], sdkProvider: SdkProvider): Promise<ResourceMapping[]>;
|
|
20
|
-
export declare function
|
|
21
|
-
export declare function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*/
|
|
26
|
-
export declare function resourceMappings(movements: ResourceMovement[], stacks?: CloudFormationStack[]): ResourceMapping[];
|
|
27
|
-
/**
|
|
28
|
-
* Compares the deployed state to the cloud assembly state, and finds all resources
|
|
29
|
-
* that were moved from one location (stack + logical ID) to another. The comparison
|
|
30
|
-
* is done per environment.
|
|
31
|
-
*/
|
|
32
|
-
export declare function findResourceMovements(stacks: CloudFormationStack[], sdkProvider: SdkProvider, exclude?: ExcludeList): Promise<ResourceMovement[]>;
|
|
33
|
-
export declare function formatTypedMappings(mappings: TypedMapping[]): string;
|
|
34
|
-
export declare function formatAmbiguousMappings(paths: [string[], string[]][]): string;
|
|
9
|
+
export declare function getDeployedStacks(sdkProvider: SdkProvider, environment: cxapi.Environment): Promise<CloudFormationStack[]>;
|
|
10
|
+
export declare function formatMappingsHeader(): string;
|
|
11
|
+
export declare function formatTypedMappings(environment: cxapi.Environment, mappings: TypedMapping[]): string;
|
|
12
|
+
export declare function formatAmbiguitySectionHeader(): string;
|
|
13
|
+
export declare function formatAmbiguousMappings(environment: cxapi.Environment, paths: [string[], string[]][]): string;
|