@aws-cdk/toolkit-lib 1.2.3 → 1.3.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/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/actions/diff/index.d.ts +7 -0
- package/lib/actions/diff/index.js +1 -1
- package/lib/actions/diff/private/helpers.js +7 -1
- package/lib/actions/refactor/index.d.ts +15 -34
- package/lib/actions/refactor/index.js +1 -54
- package/lib/actions/refactor/private/mapping-helpers.d.ts +11 -0
- package/lib/actions/refactor/private/mapping-helpers.js +44 -0
- package/lib/api/cloud-assembly/private/context-aware-source.js +3 -16
- package/lib/api/cloud-assembly/private/exec.js +12 -3
- package/lib/api/cloud-assembly/private/prepare-source.d.ts +29 -5
- package/lib/api/cloud-assembly/private/prepare-source.js +45 -20
- package/lib/api/cloud-assembly/source-builder.d.ts +11 -0
- package/lib/api/cloud-assembly/source-builder.js +11 -10
- package/lib/api/cloud-assembly/stack-collection.js +2 -1
- package/lib/api/diff/diff-formatter.d.ts +8 -0
- package/lib/api/diff/diff-formatter.js +29 -7
- package/lib/api/io/private/message-maker.d.ts +5 -5
- package/lib/api/io/private/messages.d.ts +1 -0
- package/lib/api/io/private/messages.js +6 -1
- package/lib/api/io/toolkit-action.d.ts +1 -1
- package/lib/api/io/toolkit-action.js +1 -1
- package/lib/api/refactoring/cloudformation.d.ts +1 -0
- package/lib/api/refactoring/cloudformation.js +6 -4
- package/lib/api/refactoring/context.d.ts +4 -5
- package/lib/api/refactoring/context.js +122 -52
- package/lib/api/refactoring/digest.d.ts +7 -12
- package/lib/api/refactoring/digest.js +22 -42
- package/lib/api/refactoring/graph.d.ts +6 -1
- package/lib/api/refactoring/graph.js +21 -8
- package/lib/api/refactoring/index.d.ts +13 -4
- package/lib/api/refactoring/index.js +38 -18
- package/lib/api/tree.js +1 -1
- package/lib/context-providers/cc-api-provider.js +23 -14
- package/lib/index_bg.wasm +0 -0
- package/lib/payloads/refactor.d.ts +1 -1
- package/lib/payloads/refactor.js +1 -1
- package/lib/payloads/stack-details.d.ts +4 -0
- package/lib/payloads/stack-details.js +1 -1
- package/lib/toolkit/toolkit.d.ts +6 -2
- package/lib/toolkit/toolkit.js +114 -79
- package/lib/toolkit/types.d.ts +7 -0
- package/lib/toolkit/types.js +1 -1
- package/lib/util/arrays.d.ts +1 -0
- package/lib/util/arrays.js +16 -1
- package/lib/util/sets.d.ts +5 -0
- package/lib/util/sets.js +18 -0
- package/package.json +9 -9
package/build-info.json
CHANGED
package/db.json.gz
CHANGED
|
Binary file
|
|
@@ -92,5 +92,12 @@ export interface DiffOptions {
|
|
|
92
92
|
* @default 3
|
|
93
93
|
*/
|
|
94
94
|
readonly contextLines?: number;
|
|
95
|
+
/**
|
|
96
|
+
* Whether to include resource moves in the diff. These are the same moves that are detected
|
|
97
|
+
* by the `refactor` command.
|
|
98
|
+
*
|
|
99
|
+
* @default false
|
|
100
|
+
*/
|
|
101
|
+
readonly includeMoves?: boolean;
|
|
95
102
|
}
|
|
96
103
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -45,4 +45,4 @@ class DiffMethod {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
exports.DiffMethod = DiffMethod;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0Q0EsTUFBYSxVQUFVO0lBd0NIO0lBQ0E7SUF4Q2xCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQWdDLEVBQUU7UUFDeEQsT0FBTyxJQUFJLEtBQU0sU0FBUSxVQUFVO1lBQ1IsT0FBTyxDQUF1QjtZQUN2RCxZQUFtQixJQUEwQjtnQkFDM0MsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDdEIsQ0FBQztTQUNGLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFxQyxFQUFFO1FBQ2hFLE9BQU8sSUFBSSxLQUFNLFNBQVEsVUFBVTtZQUNSLE9BQU8sQ0FBNEI7WUFDNUQsWUFBbUIsSUFBK0I7Z0JBQ2hELEtBQUssQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUM7U0FDRixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxLQUFNLFNBQVEsVUFBVTtZQUNSLE9BQU8sQ0FBbUI7WUFDbkQsWUFBbUIsSUFBMEI7Z0JBQzNDLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUM7U0FDRixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxZQUNrQixNQUFxRCxFQUNyRCxPQUFnRjtRQURoRixXQUFNLEdBQU4sTUFBTSxDQUErQztRQUNyRCxZQUFPLEdBQVAsT0FBTyxDQUF5RTtJQUVsRyxDQUFDO0NBQ0Y7QUE1Q0QsZ0NBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdGFja1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vYXBpL2Nsb3VkLWFzc2VtYmx5JztcblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZvcm1hdGlvbkRpZmZPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcnVuIHRoZSBkaWZmIGFnYWluc3QgdGhlIHRlbXBsYXRlIGFmdGVyIHRoZSBDbG91ZEZvcm1hdGlvbiBUcmFuc2Zvcm1zIGluc2lkZSBpdCBoYXZlIGJlZW4gZXhlY3V0ZWRcbiAgICogKGFzIG9wcG9zZWQgdG8gdGhlIG9yaWdpbmFsIHRlbXBsYXRlLCB0aGUgZGVmYXVsdCwgd2hpY2ggY29udGFpbnMgdGhlIHVucHJvY2Vzc2VkIFRyYW5zZm9ybXMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGFyZUFnYWluc3RQcm9jZXNzZWRUZW1wbGF0ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlU2V0RGlmZk9wdGlvbnMgZXh0ZW5kcyBDbG91ZEZvcm1hdGlvbkRpZmZPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBmYWxsaW5nIGJhY2sgdG8gdGVtcGxhdGUtYmFzZWQgZGlmZiBpbiBjYXNlIGNyZWF0aW5nIHRoZSBjaGFuZ2VzZXQgaXMgbm90IHBvc3NpYmxlIG9yIHJlc3VsdHMgaW4gYW4gZXJyb3IuXG4gICAqXG4gICAqIFNob3VsZCBiZSB1c2VkIGZvciBzdGFja3MgY29udGFpbmluZyBuZXN0ZWQgc3RhY2tzIG9yIHdoZW4gY2hhbmdlIHNldCBwZXJtaXNzaW9ucyBhcmVuJ3QgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmYWxsYmFja1RvVGVtcGxhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIENsb3VkRm9ybWF0aW9uIHdoZW4gY3JlYXRpbmcgYSBkaWZmIGNoYW5nZSBzZXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwYXJhbWV0ZXJzXG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBjaGFuZ2Ugc2V0IGltcG9ydHMgcmVzb3VyY2VzIHRoYXQgYWxyZWFkeSBleGlzdFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0RXhpc3RpbmdSZXNvdXJjZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsRmlsZURpZmZPcHRpb25zIHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGxvY2FsIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBEaWZmTWV0aG9kIHtcbiAgLyoqXG4gICAqIFVzZSBhIGNoYW5nZXNldCB0byBjb21wdXRlIHRoZSBkaWZmLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgY3JlYXRlLCBhbmFseXplLCBhbmQgc3Vic2VxdWVudGx5IGRlbGV0ZSBhIGNoYW5nZXNldCBhZ2FpbnN0IHRoZSBDbG91ZEZvcm1hdGlvbiBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgQ2hhbmdlU2V0KG9wdGlvbnM6IENoYW5nZVNldERpZmZPcHRpb25zID0ge30pOiBEaWZmTWV0aG9kIHtcbiAgICByZXR1cm4gbmV3IGNsYXNzIGV4dGVuZHMgRGlmZk1ldGhvZCB7XG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgb3B0aW9uczogQ2hhbmdlU2V0RGlmZk9wdGlvbnM7XG4gICAgICBwdWJsaWMgY29uc3RydWN0b3Iob3B0czogQ2hhbmdlU2V0RGlmZk9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoJ2NoYW5nZS1zZXQnLCBvcHRzKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0cztcbiAgICAgIH1cbiAgICB9KG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBUZW1wbGF0ZU9ubHkob3B0aW9uczogQ2xvdWRGb3JtYXRpb25EaWZmT3B0aW9ucyA9IHt9KTogRGlmZk1ldGhvZCB7XG4gICAgcmV0dXJuIG5ldyBjbGFzcyBleHRlbmRzIERpZmZNZXRob2Qge1xuICAgICAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IG9wdGlvbnM6IENsb3VkRm9ybWF0aW9uRGlmZk9wdGlvbnM7XG4gICAgICBwdWJsaWMgY29uc3RydWN0b3Iob3B0czogQ2xvdWRGb3JtYXRpb25EaWZmT3B0aW9ucykge1xuICAgICAgICBzdXBlcigndGVtcGxhdGUtb25seScsIG9wdHMpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRzO1xuICAgICAgfVxuICAgIH0ob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGEgbG9jYWwgdGVtcGxhdGUgZmlsZSB0byBjb21wdXRlIHRoZSBkaWZmLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBMb2NhbEZpbGUocGF0aDogc3RyaW5nKTogRGlmZk1ldGhvZCB7XG4gICAgcmV0dXJuIG5ldyBjbGFzcyBleHRlbmRzIERpZmZNZXRob2Qge1xuICAgICAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IG9wdGlvbnM6IHsgcGF0aDogc3RyaW5nIH07XG4gICAgICBwdWJsaWMgY29uc3RydWN0b3Iob3B0czogTG9jYWxGaWxlRGlmZk9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoJ2xvY2FsLWZpbGUnLCBvcHRzKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0cztcbiAgICAgIH1cbiAgICB9KHsgcGF0aCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG1ldGhvZDogJ2NoYW5nZS1zZXQnIHwgJ3RlbXBsYXRlLW9ubHknIHwgJ2xvY2FsLWZpbGUnLFxuICAgIHB1YmxpYyByZWFkb25seSBvcHRpb25zOiBDaGFuZ2VTZXREaWZmT3B0aW9ucyB8IENsb3VkRm9ybWF0aW9uRGlmZk9wdGlvbnMgfCBMb2NhbEZpbGVEaWZmT3B0aW9ucyxcbiAgKSB7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgZGlmZiBtZXRob2RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWZmT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTZWxlY3QgdGhlIHN0YWNrc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFsbCBzdGFja3NcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IFN0YWNrU2VsZWN0b3I7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRob2QgdG8gY3JlYXRlIGEgc3RhY2sgZGlmZi5cbiAgICpcbiAgICogVXNlIGNoYW5nZXNldCBkaWZmIGZvciB0aGUgaGlnaGVzdCBmaWRlbGl0eSwgaW5jbHVkaW5nIGFuYWx5emUgcmVzb3VyY2UgcmVwbGFjZW1lbnRzLlxuICAgKiBJbiB0aGlzIG1ldGhvZCwgZGlmZiB3aWxsIHVzZSB0aGUgZGVwbG95IHJvbGUgaW5zdGVhZCBvZiB0aGUgbG9va3VwIHJvbGUuXG4gICAqXG4gICAqIFVzZSB0ZW1wbGF0ZS1vbmx5IGRpZmYgZm9yIGEgZmFzdGVyLCBsZXNzIGFjY3VyYXRlIGRpZmYgdGhhdCBkb2Vzbid0IHJlcXVpcmVcbiAgICogcGVybWlzc2lvbnMgdG8gY3JlYXRlIGEgY2hhbmdlLXNldC5cbiAgICpcbiAgICogVXNlIGxvY2FsLXRlbXBsYXRlIGRpZmYgZm9yIGEgZmFzdCwgbG9jYWwtb25seSBkaWZmIHRoYXQgZG9lc24ndCByZXF1aXJlXG4gICAqIGFueSBwZXJtaXNzaW9ucyBvciBpbnRlcm5ldCBhY2Nlc3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IERpZmZNZXRob2QuQ2hhbmdlU2V0XG4gICAqL1xuICByZWFkb25seSBtZXRob2Q/
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0Q0EsTUFBYSxVQUFVO0lBd0NIO0lBQ0E7SUF4Q2xCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQWdDLEVBQUU7UUFDeEQsT0FBTyxJQUFJLEtBQU0sU0FBUSxVQUFVO1lBQ1IsT0FBTyxDQUF1QjtZQUN2RCxZQUFtQixJQUEwQjtnQkFDM0MsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDdEIsQ0FBQztTQUNGLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFxQyxFQUFFO1FBQ2hFLE9BQU8sSUFBSSxLQUFNLFNBQVEsVUFBVTtZQUNSLE9BQU8sQ0FBNEI7WUFDNUQsWUFBbUIsSUFBK0I7Z0JBQ2hELEtBQUssQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUM7U0FDRixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxLQUFNLFNBQVEsVUFBVTtZQUNSLE9BQU8sQ0FBbUI7WUFDbkQsWUFBbUIsSUFBMEI7Z0JBQzNDLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUM7U0FDRixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxZQUNrQixNQUFxRCxFQUNyRCxPQUFnRjtRQURoRixXQUFNLEdBQU4sTUFBTSxDQUErQztRQUNyRCxZQUFPLEdBQVAsT0FBTyxDQUF5RTtJQUVsRyxDQUFDO0NBQ0Y7QUE1Q0QsZ0NBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdGFja1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vYXBpL2Nsb3VkLWFzc2VtYmx5JztcblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZvcm1hdGlvbkRpZmZPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcnVuIHRoZSBkaWZmIGFnYWluc3QgdGhlIHRlbXBsYXRlIGFmdGVyIHRoZSBDbG91ZEZvcm1hdGlvbiBUcmFuc2Zvcm1zIGluc2lkZSBpdCBoYXZlIGJlZW4gZXhlY3V0ZWRcbiAgICogKGFzIG9wcG9zZWQgdG8gdGhlIG9yaWdpbmFsIHRlbXBsYXRlLCB0aGUgZGVmYXVsdCwgd2hpY2ggY29udGFpbnMgdGhlIHVucHJvY2Vzc2VkIFRyYW5zZm9ybXMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGFyZUFnYWluc3RQcm9jZXNzZWRUZW1wbGF0ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlU2V0RGlmZk9wdGlvbnMgZXh0ZW5kcyBDbG91ZEZvcm1hdGlvbkRpZmZPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBmYWxsaW5nIGJhY2sgdG8gdGVtcGxhdGUtYmFzZWQgZGlmZiBpbiBjYXNlIGNyZWF0aW5nIHRoZSBjaGFuZ2VzZXQgaXMgbm90IHBvc3NpYmxlIG9yIHJlc3VsdHMgaW4gYW4gZXJyb3IuXG4gICAqXG4gICAqIFNob3VsZCBiZSB1c2VkIGZvciBzdGFja3MgY29udGFpbmluZyBuZXN0ZWQgc3RhY2tzIG9yIHdoZW4gY2hhbmdlIHNldCBwZXJtaXNzaW9ucyBhcmVuJ3QgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmYWxsYmFja1RvVGVtcGxhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIENsb3VkRm9ybWF0aW9uIHdoZW4gY3JlYXRpbmcgYSBkaWZmIGNoYW5nZSBzZXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwYXJhbWV0ZXJzXG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBjaGFuZ2Ugc2V0IGltcG9ydHMgcmVzb3VyY2VzIHRoYXQgYWxyZWFkeSBleGlzdFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0RXhpc3RpbmdSZXNvdXJjZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsRmlsZURpZmZPcHRpb25zIHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGxvY2FsIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBEaWZmTWV0aG9kIHtcbiAgLyoqXG4gICAqIFVzZSBhIGNoYW5nZXNldCB0byBjb21wdXRlIHRoZSBkaWZmLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgY3JlYXRlLCBhbmFseXplLCBhbmQgc3Vic2VxdWVudGx5IGRlbGV0ZSBhIGNoYW5nZXNldCBhZ2FpbnN0IHRoZSBDbG91ZEZvcm1hdGlvbiBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgQ2hhbmdlU2V0KG9wdGlvbnM6IENoYW5nZVNldERpZmZPcHRpb25zID0ge30pOiBEaWZmTWV0aG9kIHtcbiAgICByZXR1cm4gbmV3IGNsYXNzIGV4dGVuZHMgRGlmZk1ldGhvZCB7XG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgb3B0aW9uczogQ2hhbmdlU2V0RGlmZk9wdGlvbnM7XG4gICAgICBwdWJsaWMgY29uc3RydWN0b3Iob3B0czogQ2hhbmdlU2V0RGlmZk9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoJ2NoYW5nZS1zZXQnLCBvcHRzKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0cztcbiAgICAgIH1cbiAgICB9KG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBUZW1wbGF0ZU9ubHkob3B0aW9uczogQ2xvdWRGb3JtYXRpb25EaWZmT3B0aW9ucyA9IHt9KTogRGlmZk1ldGhvZCB7XG4gICAgcmV0dXJuIG5ldyBjbGFzcyBleHRlbmRzIERpZmZNZXRob2Qge1xuICAgICAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IG9wdGlvbnM6IENsb3VkRm9ybWF0aW9uRGlmZk9wdGlvbnM7XG4gICAgICBwdWJsaWMgY29uc3RydWN0b3Iob3B0czogQ2xvdWRGb3JtYXRpb25EaWZmT3B0aW9ucykge1xuICAgICAgICBzdXBlcigndGVtcGxhdGUtb25seScsIG9wdHMpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRzO1xuICAgICAgfVxuICAgIH0ob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGEgbG9jYWwgdGVtcGxhdGUgZmlsZSB0byBjb21wdXRlIHRoZSBkaWZmLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBMb2NhbEZpbGUocGF0aDogc3RyaW5nKTogRGlmZk1ldGhvZCB7XG4gICAgcmV0dXJuIG5ldyBjbGFzcyBleHRlbmRzIERpZmZNZXRob2Qge1xuICAgICAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IG9wdGlvbnM6IHsgcGF0aDogc3RyaW5nIH07XG4gICAgICBwdWJsaWMgY29uc3RydWN0b3Iob3B0czogTG9jYWxGaWxlRGlmZk9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoJ2xvY2FsLWZpbGUnLCBvcHRzKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0cztcbiAgICAgIH1cbiAgICB9KHsgcGF0aCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG1ldGhvZDogJ2NoYW5nZS1zZXQnIHwgJ3RlbXBsYXRlLW9ubHknIHwgJ2xvY2FsLWZpbGUnLFxuICAgIHB1YmxpYyByZWFkb25seSBvcHRpb25zOiBDaGFuZ2VTZXREaWZmT3B0aW9ucyB8IENsb3VkRm9ybWF0aW9uRGlmZk9wdGlvbnMgfCBMb2NhbEZpbGVEaWZmT3B0aW9ucyxcbiAgKSB7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgZGlmZiBtZXRob2RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWZmT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTZWxlY3QgdGhlIHN0YWNrc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFsbCBzdGFja3NcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IFN0YWNrU2VsZWN0b3I7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRob2QgdG8gY3JlYXRlIGEgc3RhY2sgZGlmZi5cbiAgICpcbiAgICogVXNlIGNoYW5nZXNldCBkaWZmIGZvciB0aGUgaGlnaGVzdCBmaWRlbGl0eSwgaW5jbHVkaW5nIGFuYWx5emUgcmVzb3VyY2UgcmVwbGFjZW1lbnRzLlxuICAgKiBJbiB0aGlzIG1ldGhvZCwgZGlmZiB3aWxsIHVzZSB0aGUgZGVwbG95IHJvbGUgaW5zdGVhZCBvZiB0aGUgbG9va3VwIHJvbGUuXG4gICAqXG4gICAqIFVzZSB0ZW1wbGF0ZS1vbmx5IGRpZmYgZm9yIGEgZmFzdGVyLCBsZXNzIGFjY3VyYXRlIGRpZmYgdGhhdCBkb2Vzbid0IHJlcXVpcmVcbiAgICogcGVybWlzc2lvbnMgdG8gY3JlYXRlIGEgY2hhbmdlLXNldC5cbiAgICpcbiAgICogVXNlIGxvY2FsLXRlbXBsYXRlIGRpZmYgZm9yIGEgZmFzdCwgbG9jYWwtb25seSBkaWZmIHRoYXQgZG9lc24ndCByZXF1aXJlXG4gICAqIGFueSBwZXJtaXNzaW9ucyBvciBpbnRlcm5ldCBhY2Nlc3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IERpZmZNZXRob2QuQ2hhbmdlU2V0XG4gICAqL1xuICByZWFkb25seSBtZXRob2Q/OiBEaWZmTWV0aG9kO1xuXG4gIC8qKlxuICAgKiBTdHJpY3QgZGlmZiBtb2RlXG4gICAqIFdoZW4gZW5hYmxlZCwgdGhpcyB3aWxsIG5vdCBmaWx0ZXIgb3V0IEFXUzo6Q0RLOjpNZXRhZGF0YSByZXNvdXJjZXMsIG1hbmdsZWQgbm9uLUFTQ0lJIGNoYXJhY3RlcnMsIG9yIHRoZSBDaGVja0Jvb3RzdHJhcFZlcnNpb25SdWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSG93IG1hbnkgbGluZXMgb2YgY29udGV4dCB0byBzaG93IGluIHRoZSBkaWZmXG4gICAqXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHRMaW5lcz86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIHJlc291cmNlIG1vdmVzIGluIHRoZSBkaWZmLiBUaGVzZSBhcmUgdGhlIHNhbWUgbW92ZXMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAgICogYnkgdGhlIGByZWZhY3RvcmAgY29tbWFuZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGluY2x1ZGVNb3Zlcz86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -9,6 +9,7 @@ const cfnApi = require("../../../api/deployments/cfn-api");
|
|
|
9
9
|
const resource_import_1 = require("../../../api/resource-import");
|
|
10
10
|
const toolkit_error_1 = require("../../../toolkit/toolkit-error");
|
|
11
11
|
const util_1 = require("../../../util");
|
|
12
|
+
const mapping_helpers_1 = require("../../refactor/private/mapping-helpers");
|
|
12
13
|
function prepareDiff(ioHelper, stacks, deployments, sdkProvider, options) {
|
|
13
14
|
switch (options.method?.method ?? __1.DiffMethod.ChangeSet().method) {
|
|
14
15
|
case 'local-file':
|
|
@@ -40,6 +41,9 @@ async function localFileDiff(stacks, options) {
|
|
|
40
41
|
async function cfnDiff(ioHelper, stacks, deployments, options, sdkProvider, includeChangeSet) {
|
|
41
42
|
const templateInfos = [];
|
|
42
43
|
const methodOptions = (options.method?.options ?? {});
|
|
44
|
+
const allMappings = options.includeMoves
|
|
45
|
+
? await (0, mapping_helpers_1.mappingsByEnvironment)(stacks.stackArtifacts, sdkProvider, true)
|
|
46
|
+
: [];
|
|
43
47
|
// Compare N stacks against deployed templates
|
|
44
48
|
for (const stack of stacks.stackArtifacts) {
|
|
45
49
|
const templateWithNestedStacks = await deployments.readCurrentTemplateWithNestedStacks(stack, methodOptions.compareAgainstProcessedTemplate);
|
|
@@ -51,12 +55,14 @@ async function cfnDiff(ioHelper, stacks, deployments, options, sdkProvider, incl
|
|
|
51
55
|
(0, resource_import_1.removeNonImportResources)(stack);
|
|
52
56
|
}
|
|
53
57
|
const changeSet = includeChangeSet ? await changeSetDiff(ioHelper, deployments, stack, sdkProvider, resourcesToImport, methodOptions.parameters, methodOptions.fallbackToTemplate, methodOptions.importExistingResources) : undefined;
|
|
58
|
+
const mappings = allMappings.find(m => m.environment.region === stack.environment.region && m.environment.account === stack.environment.account)?.mappings ?? {};
|
|
54
59
|
templateInfos.push({
|
|
55
60
|
oldTemplate: currentTemplate,
|
|
56
61
|
newTemplate: stack,
|
|
57
62
|
isImport: !!resourcesToImport,
|
|
58
63
|
nestedStacks,
|
|
59
64
|
changeSet,
|
|
65
|
+
mappings,
|
|
60
66
|
});
|
|
61
67
|
}
|
|
62
68
|
return templateInfos;
|
|
@@ -116,4 +122,4 @@ function appendObject(obj1, obj2) {
|
|
|
116
122
|
// Return the modified obj1
|
|
117
123
|
return obj1;
|
|
118
124
|
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsa0NBaUJDO0FBb0lELG9DQVdDO0FBL0tELCtCQUErQjtBQUMvQiw2QkFBNkI7QUFFN0IsMEJBQWdDO0FBSWhDLDJEQUEyRDtBQUkzRCxrRUFBMEY7QUFDMUYsa0VBQThEO0FBQzlELHdDQUF5RTtBQUV6RSxTQUFnQixXQUFXLENBQ3pCLFFBQWtCLEVBQ2xCLE1BQXVCLEVBQ3ZCLFdBQXdCLEVBQ3hCLFdBQXdCLEVBQ3hCLE9BQW9CO0lBRXBCLFFBQVEsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksY0FBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hFLEtBQUssWUFBWTtZQUNmLE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4QyxLQUFLLGVBQWU7WUFDbEIsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RSxLQUFLLFlBQVk7WUFDZixPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVFO1lBQ0UsTUFBTSxJQUFJLDRCQUFZLENBQUMsSUFBQSx5QkFBa0IsRUFBQyx1QkFBdUIsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSxhQUFhLENBQUMsTUFBdUIsRUFBRSxPQUFvQjtJQUN4RSxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBeUIsQ0FBQztJQUU5RSw4Q0FBOEM7SUFDOUMsSUFBSSxNQUFNLENBQUMsVUFB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QUEyQjtJQUUzQiwwREFBMEQ7SUFDMUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcbmltcG9ydCB0eXBlIHsgQ2hhbmdlU2V0RGlmZk9wdGlvbnMsIERpZmZPcHRpb25zLCBMb2NhbEZpbGVEaWZmT3B0aW9ucyB9IGZyb20gJy4uJztcbmltcG9ydCB7IERpZmZNZXRob2QgfSBmcm9tICcuLic7XG5pbXBvcnQgdHlwZSB7IFNka1Byb3ZpZGVyIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2F3cy1hdXRoL3ByaXZhdGUnO1xuaW1wb3J0IHR5cGUgeyBTdGFja0NvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9hcGkvY2xvdWQtYXNzZW1ibHkvc3RhY2stY29sbGVjdGlvbic7XG5pbXBvcnQgdHlwZSB7IERlcGxveW1lbnRzIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2RlcGxveW1lbnRzJztcbmltcG9ydCAqIGFzIGNmbkFwaSBmcm9tICcuLi8uLi8uLi9hcGkvZGVwbG95bWVudHMvY2ZuLWFwaSc7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlSW5mbyB9IGZyb20gJy4uLy4uLy4uL2FwaS9kaWZmJztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9hcGkvaW8vcHJpdmF0ZSc7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlc1RvSW1wb3J0IH0gZnJvbSAnLi4vLi4vLi4vYXBpL3Jlc291cmNlLWltcG9ydCc7XG5pbXBvcnQgeyByZW1vdmVOb25JbXBvcnRSZXNvdXJjZXMsIFJlc291cmNlTWlncmF0b3IgfSBmcm9tICcuLi8uLi8uLi9hcGkvcmVzb3VyY2UtaW1wb3J0JztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uLy4uLy4uL3Rvb2xraXQvdG9vbGtpdC1lcnJvcic7XG5pbXBvcnQgeyBkZXNlcmlhbGl6ZVN0cnVjdHVyZSwgZm9ybWF0RXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlRGlmZihcbiAgaW9IZWxwZXI6IElvSGVscGVyLFxuICBzdGFja3M6IFN0YWNrQ29sbGVjdGlvbixcbiAgZGVwbG95bWVudHM6IERlcGxveW1lbnRzLFxuICBzZGtQcm92aWRlcjogU2RrUHJvdmlkZXIsXG4gIG9wdGlvbnM6IERpZmZPcHRpb25zLFxuKTogUHJvbWlzZTxUZW1wbGF0ZUluZm9bXT4ge1xuICBzd2l0Y2ggKG9wdGlvbnMubWV0aG9kPy5tZXRob2QgPz8gRGlmZk1ldGhvZC5DaGFuZ2VTZXQoKS5tZXRob2QpIHtcbiAgICBjYXNlICdsb2NhbC1maWxlJzpcbiAgICAgIHJldHVybiBsb2NhbEZpbGVEaWZmKHN0YWNrcywgb3B0aW9ucyk7XG4gICAgY2FzZSAndGVtcGxhdGUtb25seSc6XG4gICAgICByZXR1cm4gY2ZuRGlmZihpb0hlbHBlciwgc3RhY2tzLCBkZXBsb3ltZW50cywgb3B0aW9ucywgc2RrUHJvdmlkZXIsIGZhbHNlKTtcbiAgICBjYXNlICdjaGFuZ2Utc2V0JzpcbiAgICAgIHJldHVybiBjZm5EaWZmKGlvSGVscGVyLCBzdGFja3MsIGRlcGxveW1lbnRzLCBvcHRpb25zLCBzZGtQcm92aWRlciwgdHJ1ZSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoZm9ybWF0RXJyb3JNZXNzYWdlKGBVbmtub3duIGRpZmYgbWV0aG9kICR7b3B0aW9ucy5tZXRob2R9YCkpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvY2FsRmlsZURpZmYoc3RhY2tzOiBTdGFja0NvbGxlY3Rpb24sIG9wdGlvbnM6IERpZmZPcHRpb25zKTogUHJvbWlzZTxUZW1wbGF0ZUluZm9bXT4ge1xuICBjb25zdCBtZXRob2RPcHRpb25zID0gKG9wdGlvbnMubWV0aG9kPy5vcHRpb25zID8/IHt9KSBhcyBMb2NhbEZpbGVEaWZmT3B0aW9ucztcblxuICAvLyBDb21wYXJlIHNpbmdsZSBzdGFjayBhZ2FpbnN0IGZpeGVkIHRlbXBsYXRlXG4gIGlmIChzdGFja3Muc3RhY2tDb3VudCAhPT0gMSkge1xuICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoXG4gICAgICAnQ2FuIG9ubHkgc2VsZWN0IG9uZSBzdGFjayB3aGVuIGNvbXBhcmluZyB0byBmaXhlZCB0ZW1wbGF0ZS4gVXNlIC0tZXhjbHVzaXZlbHkgdG8gYXZvaWQgc2VsZWN0aW5nIG11bHRpcGxlIHN0YWNrcy4nLFxuICAgICk7XG4gIH1cblxuICBpZiAoIShhd2FpdCBmcy5wYXRoRXhpc3RzKG1ldGhvZE9wdGlvbnMucGF0aCkpKSB7XG4gICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihgVGhlcmUgaXMgbm8gZmlsZSBhdCAke21ldGhvZE9wdGlvbnMucGF0aH1gKTtcbiAgfVxuXG4gIGNvbnN0IGZpbGUgPSBmcy5yZWFkRmlsZVN5bmMobWV0aG9kT3B0aW9ucy5wYXRoKS50b1N0cmluZygpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IGRlc2VyaWFsaXplU3RydWN0dXJlKGZpbGUpO1xuXG4gIHJldHVybiBbe1xuICAgIG9sZFRlbXBsYXRlOiB0ZW1wbGF0ZSxcbiAgICBuZXdUZW1wbGF0ZTogc3RhY2tzLmZpcnN0U3RhY2ssXG4gIH1dO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjZm5EaWZmKFxuICBpb0hlbHBlcjogSW9IZWxwZXIsXG4gIHN0YWNrczogU3RhY2tDb2xsZWN0aW9uLFxuICBkZXBsb3ltZW50czogRGVwbG95bWVudHMsXG4gIG9wdGlvbnM6IERpZmZPcHRpb25zLFxuICBzZGtQcm92aWRlcjogU2RrUHJvdmlkZXIsXG4gIGluY2x1ZGVDaGFuZ2VTZXQ6IGJvb2xlYW4sXG4pOiBQcm9taXNlPFRlbXBsYXRlSW5mb1tdPiB7XG4gIGNvbnN0IHRlbXBsYXRlSW5mb3MgPSBbXTtcbiAgY29uc3QgbWV0aG9kT3B0aW9ucyA9IChvcHRpb25zLm1ldGhvZD8ub3B0aW9ucyA/PyB7fSkgYXMgQ2hhbmdlU2V0RGlmZk9wdGlvbnM7XG5cbiAgLy8gQ29tcGFyZSBOIHN0YWNrcyBhZ2FpbnN0IGRlcGxveWVkIHRlbXBsYXRlc1xuICBmb3IgKGNvbnN0IHN0YWNrIG9mIHN0YWNrcy5zdGFja0FydGlmYWN0cykge1xuICAgIGNvbnN0IHRlbXBsYXRlV2l0aE5lc3RlZFN0YWNrcyA9IGF3YWl0IGRlcGxveW1lbnRzLnJlYWRDdXJyZW50VGVtcGxhdGVXaXRoTmVzdGVkU3RhY2tzKFxuICAgICAgc3RhY2ssXG4gICAgICBtZXRob2RPcHRpb25zLmNvbXBhcmVBZ2FpbnN0UHJvY2Vzc2VkVGVtcGxhdGUsXG4gICAgKTtcbiAgICBjb25zdCBjdXJyZW50VGVtcGxhdGUgPSB0ZW1wbGF0ZVdpdGhOZXN0ZWRTdGFja3MuZGVwbG95ZWRSb290VGVtcGxhdGU7XG4gICAgY29uc3QgbmVzdGVkU3RhY2tzID0gdGVtcGxhdGVXaXRoTmVzdGVkU3RhY2tzLm5lc3RlZFN0YWNrcztcblxuICAgIGNvbnN0IG1pZ3JhdG9yID0gbmV3IFJlc291cmNlTWlncmF0b3IoeyBkZXBsb3ltZW50cywgaW9IZWxwZXIgfSk7XG4gICAgY29uc3QgcmVzb3VyY2VzVG9JbXBvcnQgPSBhd2FpdCBtaWdyYXRvci50cnlHZXRSZXNvdXJjZXMoYXdhaXQgZGVwbG95bWVudHMucmVzb2x2ZUVudmlyb25tZW50KHN0YWNrKSk7XG4gICAgaWYgKHJlc291cmNlc1RvSW1wb3J0KSB7XG4gICAgICByZW1vdmVOb25JbXBvcnRSZXNvdXJjZXMoc3RhY2spO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZVNldCA9IGluY2x1ZGVDaGFuZ2VTZXQgPyBhd2FpdCBjaGFuZ2VTZXREaWZmKFxuICAgICAgaW9IZWxwZXIsXG4gICAgICBkZXBsb3ltZW50cyxcbiAgICAgIHN0YWNrLFxuICAgICAgc2RrUHJvdmlkZXIsXG4gICAgICByZXNvdXJjZXNUb0ltcG9ydCxcbiAgICAgIG1ldGhvZE9wdGlvbnMucGFyYW1ldGVycyxcbiAgICAgIG1ldGhvZE9wdGlvbnMuZmFsbGJhY2tUb1RlbXBsYXRlLFxuICAgICAgbWV0aG9kT3B0aW9ucy5pbXBvcnRFeGlzdGluZ1Jlc291cmNlcyxcbiAgICApIDogdW5kZWZpbmVkO1xuXG4gICAgdGVtcGxhdGVJbmZvcy5wdXNoKHtcbiAgICAgIG9sZFRlbXBsYXRlOiBjdXJyZW50VGVtcGxhdGUsXG4gICAgICBuZXdUZW1wbGF0ZTogc3RhY2ssXG4gICAgICBpc0ltcG9ydDogISFyZXNvdXJjZXNUb0ltcG9ydCxcbiAgICAgIG5lc3RlZFN0YWNrcyxcbiAgICAgIGNoYW5nZVNldCxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB0ZW1wbGF0ZUluZm9zO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjaGFuZ2VTZXREaWZmKFxuICBpb0hlbHBlcjogSW9IZWxwZXIsXG4gIGRlcGxveW1lbnRzOiBEZXBsb3ltZW50cyxcbiAgc3RhY2s6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCxcbiAgc2RrUHJvdmlkZXI6IFNka1Byb3ZpZGVyLFxuICByZXNvdXJjZXNUb0ltcG9ydD86IFJlc291cmNlc1RvSW1wb3J0LFxuICBwYXJhbWV0ZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSA9IHt9LFxuICBmYWxsQmFja1RvVGVtcGxhdGU6IGJvb2xlYW4gPSB0cnVlLFxuICBpbXBvcnRFeGlzdGluZ1Jlc291cmNlczogYm9vbGVhbiA9IGZhbHNlLFxuKTogUHJvbWlzZTxhbnkgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IHN0YWNrRXhpc3RzID0gZmFsc2U7XG4gIHRyeSB7XG4gICAgc3RhY2tFeGlzdHMgPSBhd2FpdCBkZXBsb3ltZW50cy5zdGFja0V4aXN0cyh7XG4gICAgICBzdGFjayxcbiAgICAgIGRlcGxveU5hbWU6IHN0YWNrLnN0YWNrTmFtZSxcbiAgICAgIHRyeUxvb2t1cFJvbGU6IHRydWUsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgIGlmICghZmFsbEJhY2tUb1RlbXBsYXRlKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGBkZXNjcmliZVN0YWNrcyBjYWxsIGZhaWxlZCB3aXRoICR7ZX0gZm9yICR7c3RhY2suc3RhY2tOYW1lfSwgc2V0IGZhbGxCYWNrVG9UZW1wbGF0ZSB0byB0cnVlIG9yIHVzZSBEaWZmTWV0aG9kLnRlbXBsYXRlT25seSB0byBiYXNlIHRoZSBkaWZmIG9uIHRlbXBsYXRlIGRpZmZlcmVuY2VzLmApO1xuICAgIH1cblxuICAgIGF3YWl0IGlvSGVscGVyLmRlZmF1bHRzLmRlYnVnKGBDaGVja2luZyBpZiB0aGUgc3RhY2sgJHtzdGFjay5zdGFja05hbWV9IGV4aXN0cyBiZWZvcmUgY3JlYXRpbmcgdGhlIGNoYW5nZXNldCBoYXMgZmFpbGVkLCB3aWxsIGJhc2UgdGhlIGRpZmYgb24gdGVtcGxhdGUgZGlmZmVyZW5jZXMuXFxuYCk7XG4gICAgYXdhaXQgaW9IZWxwZXIuZGVmYXVsdHMuZGVidWcoZm9ybWF0RXJyb3JNZXNzYWdlKGUpKTtcbiAgICBzdGFja0V4aXN0cyA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKHN0YWNrRXhpc3RzKSB7XG4gICAgcmV0dXJuIGNmbkFwaS5jcmVhdGVEaWZmQ2hhbmdlU2V0KGlvSGVscGVyLCB7XG4gICAgICBzdGFjayxcbiAgICAgIHV1aWQ6IHV1aWQudjQoKSxcbiAgICAgIGRlcGxveW1lbnRzLFxuICAgICAgd2lsbEV4ZWN1dGU6IGZhbHNlLFxuICAgICAgc2RrUHJvdmlkZXIsXG4gICAgICBwYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzLFxuICAgICAgcmVzb3VyY2VzVG9JbXBvcnQsXG4gICAgICBmYWlsT25FcnJvcjogIWZhbGxCYWNrVG9UZW1wbGF0ZSxcbiAgICAgIGltcG9ydEV4aXN0aW5nUmVzb3VyY2VzLFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGlmICghZmFsbEJhY2tUb1RlbXBsYXRlKSB7XG4gICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGB0aGUgc3RhY2sgJyR7c3RhY2suc3RhY2tOYW1lfScgaGFzIG5vdCBiZWVuIGRlcGxveWVkIHRvIENsb3VkRm9ybWF0aW9uLCBzZXQgZmFsbEJhY2tUb1RlbXBsYXRlIHRvIHRydWUgb3IgdXNlIERpZmZNZXRob2QudGVtcGxhdGVPbmx5IHRvIGJhc2UgdGhlIGRpZmYgb24gdGVtcGxhdGUgZGlmZmVyZW5jZXMuYCk7XG4gICAgfVxuXG4gICAgYXdhaXQgaW9IZWxwZXIuZGVmYXVsdHMuZGVidWcoYHRoZSBzdGFjayAnJHtzdGFjay5zdGFja05hbWV9JyBoYXMgbm90IGJlZW4gZGVwbG95ZWQgdG8gQ2xvdWRGb3JtYXRpb24sIHNraXBwaW5nIGNoYW5nZXNldCBjcmVhdGlvbi5gKTtcbiAgICByZXR1cm47XG4gIH1cbn1cblxuLyoqXG4gKiBBcHBlbmRzIGFsbCBwcm9wZXJ0aWVzIGZyb20gb2JqMiB0byBvYmoxLlxuICogb2JqMiB2YWx1ZXMgdGFrZSBwcmlvcml0eSBpbiB0aGUgY2FzZSBvZiBjb2xsaXNpb25zLlxuICpcbiAqIEBwYXJhbSBvYmoxIC0gVGhlIG9iamVjdCB0byBtb2RpZnlcbiAqIEBwYXJhbSBvYmoyIC0gVGhlIG9iamVjdCB0byBjb25zdW1lXG4gKlxuICogQHJldHVybnMgb2JqMSB3aXRoIGFsbCBwcm9wZXJ0aWVzIGZyb20gb2JqMlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kT2JqZWN0PFQ+KFxuICBvYmoxOiB7IFtuYW1lOiBzdHJpbmddOiBUIH0sXG4gIG9iajI6IHsgW25hbWU6IHN0cmluZ106IFQgfSxcbik6IHsgW25hbWU6IHN0cmluZ106IFQgfSB7XG4gIC8vIERpcmVjdGx5IG1vZGlmeSBvYmoxIGJ5IGFkZGluZyBhbGwgcHJvcGVydGllcyBmcm9tIG9iajJcbiAgZm9yIChjb25zdCBrZXkgaW4gb2JqMikge1xuICAgIG9iajFba2V5XSA9IG9iajJba2V5XTtcbiAgfVxuXG4gIC8vIFJldHVybiB0aGUgbW9kaWZpZWQgb2JqMVxuICByZXR1cm4gb2JqMTtcbn1cbiJdfQ==
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQkEsa0NBaUJDO0FBNklELG9DQVdDO0FBekxELCtCQUErQjtBQUMvQiw2QkFBNkI7QUFFN0IsMEJBQWdDO0FBSWhDLDJEQUEyRDtBQUkzRCxrRUFBMEY7QUFDMUYsa0VBQThEO0FBQzlELHdDQUF5RTtBQUN6RSw0RUFBK0U7QUFFL0UsU0FBZ0IsV0FBVyxDQUN6QixRQUFrQixFQUNsQixNQUF1QixFQUN2QixXQUF3QixFQUN4QixXQUF3QixFQUN4QixPQUFvQjtJQUVwQixRQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLGNBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRSxLQUFLLFlBQVk7WUFDZixPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsS0FBSyxlQUFlO1lBQ2xCLE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0UsS0FBSyxZQUFZO1lBQ2YsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RTtZQUNFLE1BQU0sSUFBSSw0QkFBWSxDQUFDLElBQUEseUJBQWtCLEVBQUMsdUJBQXVCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsYUFBYSxDQUFDLE1BQXVCLEVBQUUsT0FBb0I7SUFDeEUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQXlCLENBQUM7SUFFOUUsOENBQThDO0lBQzlDLElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksNEJBQVksQ0FDcEIsbUhBQW1ILENBQ3BILENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0MsTUFBTSxJQUFJLDRCQUFZLENBQUMsdUJBQXVCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1RCxNQUFNLFFBQVEsR0FBRyxJQUFBLDJCQUFvQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVDLE9BQU8sQ0FBQztZQUNOLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLFdBQVcsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUMvQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsS0FBSyxVQUFVLE9BQU8sQ0FDcEIsUUFBa0IsRUFDbEIsTUFBdUIsRUFDdkIsV0FBd0IsRUFDeEIsT0FBb0IsRUFDcEIsV0FBd0IsRUFDeEIsZ0JBQXlCO0lBRXpCLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN6QixNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBeUIsQ0FBQztJQUU5RSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWTtRQUN0QyxDQUFDLENBQUMsTUFBTSxJQUFBLHVDQUFxQixFQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQztRQUN2RSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRVAsOENBQThDO0lBQzlDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxXQUFXLENBQUMsbUNBQW1DLENBQ3BGLEtBQUssRUFDTCxhQUFhLENBQUMsK0JBQStCLENBQzlDLENBQUM7UUFDRixNQUFNLGVBQWUsR0FBRyx3QkFBd0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUN0RSxNQUFNLFlBQVksR0FBRyx3QkFBd0IsQ0FBQyxZQUFZLENBQUM7UUFFM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxrQ0FBZ0IsQ0FBQyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sV0FBVyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RCLElBQUEsMENBQXdCLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLGFBQWEsQ0FDdEQsUUFBUSxFQUNSLFdBQVcsRUFDWCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixhQUFhLENBQUMsVUFBVSxFQUN4QixhQUFhLENBQUMsa0JBQWtCLEVBQ2hDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FDdEMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNwQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDekcsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO1FBRWxCLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDakIsV0FBVyxFQUFFLGVBQWU7WUFDNUIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxpQkFBaUI7WUFDN0IsWUFBWTtZQUNaLFNBQVM7WUFDVCxRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxLQUFLLFVBQVUsYUFBYSxDQUMxQixRQUFrQixFQUNsQixXQUF3QixFQUN4QixLQUF3QyxFQUN4QyxXQUF3QixFQUN4QixpQkFBcUMsRUFDckMsYUFBcUQsRUFBRSxFQUN2RCxxQkFBOEIsSUFBSSxFQUNsQywwQkFBbUMsS0FBSztJQUV4QyxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDeEIsSUFBSSxDQUFDO1FBQ0gsV0FBVyxHQUFHLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUMxQyxLQUFLO1lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzNCLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSw0QkFBWSxDQUFDLG1DQUFtQyxDQUFDLFFBQVEsS0FBSyxDQUFDLFNBQVMsMkdBQTJHLENBQUMsQ0FBQztRQUNqTSxDQUFDO1FBRUQsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsS0FBSyxDQUFDLFNBQVMsaUdBQWlHLENBQUMsQ0FBQztRQUN6SyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUEseUJBQWtCLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRTtZQUMxQyxLQUFLO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDZixXQUFXO1lBQ1gsV0FBVyxFQUFFLEtBQUs7WUFDbEIsV0FBVztZQUNYLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLGlCQUFpQjtZQUNqQixXQUFXLEVBQUUsQ0FBQyxrQkFBa0I7WUFDaEMsdUJBQXVCO1NBQ3hCLENBQUMsQ0FBQztJQUNMLENBQUM7U0FBTSxDQUFDO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLDRCQUFZLENBQUMsY0FBYyxLQUFLLENBQUMsU0FBUyxvSkFBb0osQ0FBQyxDQUFDO1FBQzVNLENBQUM7UUFFRCxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGNBQWMsS0FBSyxDQUFDLFNBQVMseUVBQXlFLENBQUMsQ0FBQztRQUN0SSxPQUFPO0lBQ1QsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsSUFBMkIsRUFDM0IsSUFBMkI7SUFFM0IsMERBQTBEO0lBQzFELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XG5pbXBvcnQgdHlwZSB7IENoYW5nZVNldERpZmZPcHRpb25zLCBEaWZmT3B0aW9ucywgTG9jYWxGaWxlRGlmZk9wdGlvbnMgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBEaWZmTWV0aG9kIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHR5cGUgeyBTZGtQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uL2FwaS9hd3MtYXV0aC9wcml2YXRlJztcbmltcG9ydCB0eXBlIHsgU3RhY2tDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2Nsb3VkLWFzc2VtYmx5L3N0YWNrLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHR5cGUgeyBEZXBsb3ltZW50cyB9IGZyb20gJy4uLy4uLy4uL2FwaS9kZXBsb3ltZW50cyc7XG5pbXBvcnQgKiBhcyBjZm5BcGkgZnJvbSAnLi4vLi4vLi4vYXBpL2RlcGxveW1lbnRzL2Nmbi1hcGknO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZUluZm8gfSBmcm9tICcuLi8uLi8uLi9hcGkvZGlmZic7XG5pbXBvcnQgdHlwZSB7IElvSGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2lvL3ByaXZhdGUnO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZXNUb0ltcG9ydCB9IGZyb20gJy4uLy4uLy4uL2FwaS9yZXNvdXJjZS1pbXBvcnQnO1xuaW1wb3J0IHsgcmVtb3ZlTm9uSW1wb3J0UmVzb3VyY2VzLCBSZXNvdXJjZU1pZ3JhdG9yIH0gZnJvbSAnLi4vLi4vLi4vYXBpL3Jlc291cmNlLWltcG9ydCc7XG5pbXBvcnQgeyBUb29sa2l0RXJyb3IgfSBmcm9tICcuLi8uLi8uLi90b29sa2l0L3Rvb2xraXQtZXJyb3InO1xuaW1wb3J0IHsgZGVzZXJpYWxpemVTdHJ1Y3R1cmUsIGZvcm1hdEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL3V0aWwnO1xuaW1wb3J0IHsgbWFwcGluZ3NCeUVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vcmVmYWN0b3IvcHJpdmF0ZS9tYXBwaW5nLWhlbHBlcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZURpZmYoXG4gIGlvSGVscGVyOiBJb0hlbHBlcixcbiAgc3RhY2tzOiBTdGFja0NvbGxlY3Rpb24sXG4gIGRlcGxveW1lbnRzOiBEZXBsb3ltZW50cyxcbiAgc2RrUHJvdmlkZXI6IFNka1Byb3ZpZGVyLFxuICBvcHRpb25zOiBEaWZmT3B0aW9ucyxcbik6IFByb21pc2U8VGVtcGxhdGVJbmZvW10+IHtcbiAgc3dpdGNoIChvcHRpb25zLm1ldGhvZD8ubWV0aG9kID8/IERpZmZNZXRob2QuQ2hhbmdlU2V0KCkubWV0aG9kKSB7XG4gICAgY2FzZSAnbG9jYWwtZmlsZSc6XG4gICAgICByZXR1cm4gbG9jYWxGaWxlRGlmZihzdGFja3MsIG9wdGlvbnMpO1xuICAgIGNhc2UgJ3RlbXBsYXRlLW9ubHknOlxuICAgICAgcmV0dXJuIGNmbkRpZmYoaW9IZWxwZXIsIHN0YWNrcywgZGVwbG95bWVudHMsIG9wdGlvbnMsIHNka1Byb3ZpZGVyLCBmYWxzZSk7XG4gICAgY2FzZSAnY2hhbmdlLXNldCc6XG4gICAgICByZXR1cm4gY2ZuRGlmZihpb0hlbHBlciwgc3RhY2tzLCBkZXBsb3ltZW50cywgb3B0aW9ucywgc2RrUHJvdmlkZXIsIHRydWUpO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGZvcm1hdEVycm9yTWVzc2FnZShgVW5rbm93biBkaWZmIG1ldGhvZCAke29wdGlvbnMubWV0aG9kfWApKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBsb2NhbEZpbGVEaWZmKHN0YWNrczogU3RhY2tDb2xsZWN0aW9uLCBvcHRpb25zOiBEaWZmT3B0aW9ucyk6IFByb21pc2U8VGVtcGxhdGVJbmZvW10+IHtcbiAgY29uc3QgbWV0aG9kT3B0aW9ucyA9IChvcHRpb25zLm1ldGhvZD8ub3B0aW9ucyA/PyB7fSkgYXMgTG9jYWxGaWxlRGlmZk9wdGlvbnM7XG5cbiAgLy8gQ29tcGFyZSBzaW5nbGUgc3RhY2sgYWdhaW5zdCBmaXhlZCB0ZW1wbGF0ZVxuICBpZiAoc3RhY2tzLnN0YWNrQ291bnQgIT09IDEpIHtcbiAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKFxuICAgICAgJ0NhbiBvbmx5IHNlbGVjdCBvbmUgc3RhY2sgd2hlbiBjb21wYXJpbmcgdG8gZml4ZWQgdGVtcGxhdGUuIFVzZSAtLWV4Y2x1c2l2ZWx5IHRvIGF2b2lkIHNlbGVjdGluZyBtdWx0aXBsZSBzdGFja3MuJyxcbiAgICApO1xuICB9XG5cbiAgaWYgKCEoYXdhaXQgZnMucGF0aEV4aXN0cyhtZXRob2RPcHRpb25zLnBhdGgpKSkge1xuICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoYFRoZXJlIGlzIG5vIGZpbGUgYXQgJHttZXRob2RPcHRpb25zLnBhdGh9YCk7XG4gIH1cblxuICBjb25zdCBmaWxlID0gZnMucmVhZEZpbGVTeW5jKG1ldGhvZE9wdGlvbnMucGF0aCkudG9TdHJpbmcoKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBkZXNlcmlhbGl6ZVN0cnVjdHVyZShmaWxlKTtcblxuICByZXR1cm4gW3tcbiAgICBvbGRUZW1wbGF0ZTogdGVtcGxhdGUsXG4gICAgbmV3VGVtcGxhdGU6IHN0YWNrcy5maXJzdFN0YWNrLFxuICB9XTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2ZuRGlmZihcbiAgaW9IZWxwZXI6IElvSGVscGVyLFxuICBzdGFja3M6IFN0YWNrQ29sbGVjdGlvbixcbiAgZGVwbG95bWVudHM6IERlcGxveW1lbnRzLFxuICBvcHRpb25zOiBEaWZmT3B0aW9ucyxcbiAgc2RrUHJvdmlkZXI6IFNka1Byb3ZpZGVyLFxuICBpbmNsdWRlQ2hhbmdlU2V0OiBib29sZWFuLFxuKTogUHJvbWlzZTxUZW1wbGF0ZUluZm9bXT4ge1xuICBjb25zdCB0ZW1wbGF0ZUluZm9zID0gW107XG4gIGNvbnN0IG1ldGhvZE9wdGlvbnMgPSAob3B0aW9ucy5tZXRob2Q/Lm9wdGlvbnMgPz8ge30pIGFzIENoYW5nZVNldERpZmZPcHRpb25zO1xuXG4gIGNvbnN0IGFsbE1hcHBpbmdzID0gb3B0aW9ucy5pbmNsdWRlTW92ZXNcbiAgICA/IGF3YWl0IG1hcHBpbmdzQnlFbnZpcm9ubWVudChzdGFja3Muc3RhY2tBcnRpZmFjdHMsIHNka1Byb3ZpZGVyLCB0cnVlKVxuICAgIDogW107XG5cbiAgLy8gQ29tcGFyZSBOIHN0YWNrcyBhZ2FpbnN0IGRlcGxveWVkIHRlbXBsYXRlc1xuICBmb3IgKGNvbnN0IHN0YWNrIG9mIHN0YWNrcy5zdGFja0FydGlmYWN0cykge1xuICAgIGNvbnN0IHRlbXBsYXRlV2l0aE5lc3RlZFN0YWNrcyA9IGF3YWl0IGRlcGxveW1lbnRzLnJlYWRDdXJyZW50VGVtcGxhdGVXaXRoTmVzdGVkU3RhY2tzKFxuICAgICAgc3RhY2ssXG4gICAgICBtZXRob2RPcHRpb25zLmNvbXBhcmVBZ2FpbnN0UHJvY2Vzc2VkVGVtcGxhdGUsXG4gICAgKTtcbiAgICBjb25zdCBjdXJyZW50VGVtcGxhdGUgPSB0ZW1wbGF0ZVdpdGhOZXN0ZWRTdGFja3MuZGVwbG95ZWRSb290VGVtcGxhdGU7XG4gICAgY29uc3QgbmVzdGVkU3RhY2tzID0gdGVtcGxhdGVXaXRoTmVzdGVkU3RhY2tzLm5lc3RlZFN0YWNrcztcblxuICAgIGNvbnN0IG1pZ3JhdG9yID0gbmV3IFJlc291cmNlTWlncmF0b3IoeyBkZXBsb3ltZW50cywgaW9IZWxwZXIgfSk7XG4gICAgY29uc3QgcmVzb3VyY2VzVG9JbXBvcnQgPSBhd2FpdCBtaWdyYXRvci50cnlHZXRSZXNvdXJjZXMoYXdhaXQgZGVwbG95bWVudHMucmVzb2x2ZUVudmlyb25tZW50KHN0YWNrKSk7XG4gICAgaWYgKHJlc291cmNlc1RvSW1wb3J0KSB7XG4gICAgICByZW1vdmVOb25JbXBvcnRSZXNvdXJjZXMoc3RhY2spO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZVNldCA9IGluY2x1ZGVDaGFuZ2VTZXQgPyBhd2FpdCBjaGFuZ2VTZXREaWZmKFxuICAgICAgaW9IZWxwZXIsXG4gICAgICBkZXBsb3ltZW50cyxcbiAgICAgIHN0YWNrLFxuICAgICAgc2RrUHJvdmlkZXIsXG4gICAgICByZXNvdXJjZXNUb0ltcG9ydCxcbiAgICAgIG1ldGhvZE9wdGlvbnMucGFyYW1ldGVycyxcbiAgICAgIG1ldGhvZE9wdGlvbnMuZmFsbGJhY2tUb1RlbXBsYXRlLFxuICAgICAgbWV0aG9kT3B0aW9ucy5pbXBvcnRFeGlzdGluZ1Jlc291cmNlcyxcbiAgICApIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgbWFwcGluZ3MgPSBhbGxNYXBwaW5ncy5maW5kKG0gPT5cbiAgICAgIG0uZW52aXJvbm1lbnQucmVnaW9uID09PSBzdGFjay5lbnZpcm9ubWVudC5yZWdpb24gJiYgbS5lbnZpcm9ubWVudC5hY2NvdW50ID09PSBzdGFjay5lbnZpcm9ubWVudC5hY2NvdW50LFxuICAgICk/Lm1hcHBpbmdzID8/IHt9O1xuXG4gICAgdGVtcGxhdGVJbmZvcy5wdXNoKHtcbiAgICAgIG9sZFRlbXBsYXRlOiBjdXJyZW50VGVtcGxhdGUsXG4gICAgICBuZXdUZW1wbGF0ZTogc3RhY2ssXG4gICAgICBpc0ltcG9ydDogISFyZXNvdXJjZXNUb0ltcG9ydCxcbiAgICAgIG5lc3RlZFN0YWNrcyxcbiAgICAgIGNoYW5nZVNldCxcbiAgICAgIG1hcHBpbmdzLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRlbXBsYXRlSW5mb3M7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoYW5nZVNldERpZmYoXG4gIGlvSGVscGVyOiBJb0hlbHBlcixcbiAgZGVwbG95bWVudHM6IERlcGxveW1lbnRzLFxuICBzdGFjazogY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0LFxuICBzZGtQcm92aWRlcjogU2RrUHJvdmlkZXIsXG4gIHJlc291cmNlc1RvSW1wb3J0PzogUmVzb3VyY2VzVG9JbXBvcnQsXG4gIHBhcmFtZXRlcnM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9ID0ge30sXG4gIGZhbGxCYWNrVG9UZW1wbGF0ZTogYm9vbGVhbiA9IHRydWUsXG4gIGltcG9ydEV4aXN0aW5nUmVzb3VyY2VzOiBib29sZWFuID0gZmFsc2UsXG4pOiBQcm9taXNlPGFueSB8IHVuZGVmaW5lZD4ge1xuICBsZXQgc3RhY2tFeGlzdHMgPSBmYWxzZTtcbiAgdHJ5IHtcbiAgICBzdGFja0V4aXN0cyA9IGF3YWl0IGRlcGxveW1lbnRzLnN0YWNrRXhpc3RzKHtcbiAgICAgIHN0YWNrLFxuICAgICAgZGVwbG95TmFtZTogc3RhY2suc3RhY2tOYW1lLFxuICAgICAgdHJ5TG9va3VwUm9sZTogdHJ1ZSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgaWYgKCFmYWxsQmFja1RvVGVtcGxhdGUpIHtcbiAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoYGRlc2NyaWJlU3RhY2tzIGNhbGwgZmFpbGVkIHdpdGggJHtlfSBmb3IgJHtzdGFjay5zdGFja05hbWV9LCBzZXQgZmFsbEJhY2tUb1RlbXBsYXRlIHRvIHRydWUgb3IgdXNlIERpZmZNZXRob2QudGVtcGxhdGVPbmx5IHRvIGJhc2UgdGhlIGRpZmYgb24gdGVtcGxhdGUgZGlmZmVyZW5jZXMuYCk7XG4gICAgfVxuXG4gICAgYXdhaXQgaW9IZWxwZXIuZGVmYXVsdHMuZGVidWcoYENoZWNraW5nIGlmIHRoZSBzdGFjayAke3N0YWNrLnN0YWNrTmFtZX0gZXhpc3RzIGJlZm9yZSBjcmVhdGluZyB0aGUgY2hhbmdlc2V0IGhhcyBmYWlsZWQsIHdpbGwgYmFzZSB0aGUgZGlmZiBvbiB0ZW1wbGF0ZSBkaWZmZXJlbmNlcy5cXG5gKTtcbiAgICBhd2FpdCBpb0hlbHBlci5kZWZhdWx0cy5kZWJ1Zyhmb3JtYXRFcnJvck1lc3NhZ2UoZSkpO1xuICAgIHN0YWNrRXhpc3RzID0gZmFsc2U7XG4gIH1cblxuICBpZiAoc3RhY2tFeGlzdHMpIHtcbiAgICByZXR1cm4gY2ZuQXBpLmNyZWF0ZURpZmZDaGFuZ2VTZXQoaW9IZWxwZXIsIHtcbiAgICAgIHN0YWNrLFxuICAgICAgdXVpZDogdXVpZC52NCgpLFxuICAgICAgZGVwbG95bWVudHMsXG4gICAgICB3aWxsRXhlY3V0ZTogZmFsc2UsXG4gICAgICBzZGtQcm92aWRlcixcbiAgICAgIHBhcmFtZXRlcnM6IHBhcmFtZXRlcnMsXG4gICAgICByZXNvdXJjZXNUb0ltcG9ydCxcbiAgICAgIGZhaWxPbkVycm9yOiAhZmFsbEJhY2tUb1RlbXBsYXRlLFxuICAgICAgaW1wb3J0RXhpc3RpbmdSZXNvdXJjZXMsXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFmYWxsQmFja1RvVGVtcGxhdGUpIHtcbiAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoYHRoZSBzdGFjayAnJHtzdGFjay5zdGFja05hbWV9JyBoYXMgbm90IGJlZW4gZGVwbG95ZWQgdG8gQ2xvdWRGb3JtYXRpb24sIHNldCBmYWxsQmFja1RvVGVtcGxhdGUgdG8gdHJ1ZSBvciB1c2UgRGlmZk1ldGhvZC50ZW1wbGF0ZU9ubHkgdG8gYmFzZSB0aGUgZGlmZiBvbiB0ZW1wbGF0ZSBkaWZmZXJlbmNlcy5gKTtcbiAgICB9XG5cbiAgICBhd2FpdCBpb0hlbHBlci5kZWZhdWx0cy5kZWJ1ZyhgdGhlIHN0YWNrICcke3N0YWNrLnN0YWNrTmFtZX0nIGhhcyBub3QgYmVlbiBkZXBsb3llZCB0byBDbG91ZEZvcm1hdGlvbiwgc2tpcHBpbmcgY2hhbmdlc2V0IGNyZWF0aW9uLmApO1xuICAgIHJldHVybjtcbiAgfVxufVxuXG4vKipcbiAqIEFwcGVuZHMgYWxsIHByb3BlcnRpZXMgZnJvbSBvYmoyIHRvIG9iajEuXG4gKiBvYmoyIHZhbHVlcyB0YWtlIHByaW9yaXR5IGluIHRoZSBjYXNlIG9mIGNvbGxpc2lvbnMuXG4gKlxuICogQHBhcmFtIG9iajEgLSBUaGUgb2JqZWN0IHRvIG1vZGlmeVxuICogQHBhcmFtIG9iajIgLSBUaGUgb2JqZWN0IHRvIGNvbnN1bWVcbiAqXG4gKiBAcmV0dXJucyBvYmoxIHdpdGggYWxsIHByb3BlcnRpZXMgZnJvbSBvYmoyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRPYmplY3Q8VD4oXG4gIG9iajE6IHsgW25hbWU6IHN0cmluZ106IFQgfSxcbiAgb2JqMjogeyBbbmFtZTogc3RyaW5nXTogVCB9LFxuKTogeyBbbmFtZTogc3RyaW5nXTogVCB9IHtcbiAgLy8gRGlyZWN0bHkgbW9kaWZ5IG9iajEgYnkgYWRkaW5nIGFsbCBwcm9wZXJ0aWVzIGZyb20gb2JqMlxuICBmb3IgKGNvbnN0IGtleSBpbiBvYmoyKSB7XG4gICAgb2JqMVtrZXldID0gb2JqMltrZXldO1xuICB9XG5cbiAgLy8gUmV0dXJuIHRoZSBtb2RpZmllZCBvYmoxXG4gIHJldHVybiBvYmoxO1xufVxuIl19
|
|
@@ -1,27 +1,4 @@
|
|
|
1
|
-
import type { StackSelector } from '../../api
|
|
2
|
-
/**
|
|
3
|
-
* The source of the resource mappings to be used for refactoring.
|
|
4
|
-
*/
|
|
5
|
-
export declare class MappingSource {
|
|
6
|
-
/**
|
|
7
|
-
* The mapping will be automatically generated based on a comparison of
|
|
8
|
-
* the deployed stacks and the local stacks.
|
|
9
|
-
*
|
|
10
|
-
* @param exclude - A list of resource locations to exclude from the mapping.
|
|
11
|
-
*/
|
|
12
|
-
static auto(exclude?: string[]): MappingSource;
|
|
13
|
-
/**
|
|
14
|
-
* An explicitly provided list of mappings, which will be used for refactoring.
|
|
15
|
-
*/
|
|
16
|
-
static explicit(groups: MappingGroup[]): MappingSource;
|
|
17
|
-
/**
|
|
18
|
-
* An explicitly provided list of mappings, which will be used for refactoring,
|
|
19
|
-
* but in reverse, that is, the source locations will become the destination
|
|
20
|
-
* locations and vice versa.
|
|
21
|
-
*/
|
|
22
|
-
static reverse(groups: MappingGroup[]): MappingSource;
|
|
23
|
-
private constructor();
|
|
24
|
-
}
|
|
1
|
+
import type { StackSelector } from '../../api';
|
|
25
2
|
export interface RefactorOptions {
|
|
26
3
|
/**
|
|
27
4
|
* Whether to only show the proposed refactor, without applying it
|
|
@@ -30,25 +7,29 @@ export interface RefactorOptions {
|
|
|
30
7
|
*/
|
|
31
8
|
readonly dryRun?: boolean;
|
|
32
9
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
|
|
10
|
+
* List of overrides to be applied to resolve possible ambiguities in the
|
|
11
|
+
* computed list of mappings.
|
|
12
|
+
*/
|
|
13
|
+
readonly overrides?: MappingGroup[];
|
|
14
|
+
/**
|
|
15
|
+
* Criteria for selecting stacks to compare with the deployed stacks in the
|
|
16
|
+
* target environment.
|
|
36
17
|
*/
|
|
37
|
-
stacks?: StackSelector;
|
|
18
|
+
readonly stacks?: StackSelector;
|
|
38
19
|
/**
|
|
39
|
-
*
|
|
20
|
+
* A list of names of additional deployed stacks to be included in the comparison.
|
|
40
21
|
*/
|
|
41
|
-
|
|
22
|
+
readonly additionalStackNames?: string[];
|
|
42
23
|
}
|
|
43
24
|
export interface MappingGroup {
|
|
44
25
|
/**
|
|
45
26
|
* The account ID of the environment in which the mapping is valid.
|
|
46
27
|
*/
|
|
47
|
-
account: string;
|
|
28
|
+
readonly account: string;
|
|
48
29
|
/**
|
|
49
30
|
* The region of the environment in which the mapping is valid.
|
|
50
31
|
*/
|
|
51
|
-
region: string;
|
|
32
|
+
readonly region: string;
|
|
52
33
|
/**
|
|
53
34
|
* A collection of resource mappings, where each key is the source location
|
|
54
35
|
* and the value is the destination location. Locations must be in the format
|
|
@@ -57,8 +38,8 @@ export interface MappingGroup {
|
|
|
57
38
|
* location that is not already occupied by any resource.
|
|
58
39
|
*
|
|
59
40
|
*/
|
|
60
|
-
resources: {
|
|
61
|
-
[key: string]: string;
|
|
41
|
+
readonly resources: {
|
|
42
|
+
readonly [key: string]: string;
|
|
62
43
|
};
|
|
63
44
|
}
|
|
64
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,56 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const refactoring_1 = require("../../api/refactoring");
|
|
5
|
-
/**
|
|
6
|
-
* The source of the resource mappings to be used for refactoring.
|
|
7
|
-
*/
|
|
8
|
-
class MappingSource {
|
|
9
|
-
/**
|
|
10
|
-
* The mapping will be automatically generated based on a comparison of
|
|
11
|
-
* the deployed stacks and the local stacks.
|
|
12
|
-
*
|
|
13
|
-
* @param exclude - A list of resource locations to exclude from the mapping.
|
|
14
|
-
*/
|
|
15
|
-
static auto(exclude = []) {
|
|
16
|
-
const excludeList = new refactoring_1.InMemoryExcludeList(exclude);
|
|
17
|
-
return new MappingSource('auto', [], excludeList);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* An explicitly provided list of mappings, which will be used for refactoring.
|
|
21
|
-
*/
|
|
22
|
-
static explicit(groups) {
|
|
23
|
-
return new MappingSource('explicit', groups, new refactoring_1.NeverExclude());
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* An explicitly provided list of mappings, which will be used for refactoring,
|
|
27
|
-
* but in reverse, that is, the source locations will become the destination
|
|
28
|
-
* locations and vice versa.
|
|
29
|
-
*/
|
|
30
|
-
static reverse(groups) {
|
|
31
|
-
const reverseGroups = groups.map((group) => ({
|
|
32
|
-
...group,
|
|
33
|
-
resources: Object.fromEntries(Object.entries(group.resources).map(([src, dst]) => [dst, src])),
|
|
34
|
-
}));
|
|
35
|
-
return MappingSource.explicit(reverseGroups);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
|
-
source;
|
|
41
|
-
/**
|
|
42
|
-
* @internal
|
|
43
|
-
*/
|
|
44
|
-
groups;
|
|
45
|
-
/**
|
|
46
|
-
* @internal
|
|
47
|
-
*/
|
|
48
|
-
exclude;
|
|
49
|
-
constructor(source, groups, exclude) {
|
|
50
|
-
this.source = source;
|
|
51
|
-
this.groups = groups;
|
|
52
|
-
this.exclude = exclude;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.MappingSource = MappingSource;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1REFBMEU7QUFJMUU7O0dBRUc7QUFDSCxNQUFhLGFBQWE7SUFDeEI7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQW9CLEVBQUU7UUFDdkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxpQ0FBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFzQjtRQUMzQyxPQUFPLElBQUksYUFBYSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSwwQkFBWSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBc0I7UUFDMUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxHQUFHLEtBQUs7WUFDUixTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvRixDQUFDLENBQUMsQ0FBQztRQUVKLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDYSxNQUFNLENBQWM7SUFFcEM7O09BRUc7SUFDYSxNQUFNLENBQWlCO0lBRXZDOztPQUVHO0lBQ2EsT0FBTyxDQUFjO0lBRXJDLFlBQW9CLE1BQW1CLEVBQUUsTUFBc0IsRUFBRSxPQUFvQjtRQUNuRixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFyREQsc0NBcURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdGFja1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vYXBpL2Nsb3VkLWFzc2VtYmx5JztcbmltcG9ydCB0eXBlIHsgRXhjbHVkZUxpc3QgfSBmcm9tICcuLi8uLi9hcGkvcmVmYWN0b3JpbmcnO1xuaW1wb3J0IHsgSW5NZW1vcnlFeGNsdWRlTGlzdCwgTmV2ZXJFeGNsdWRlIH0gZnJvbSAnLi4vLi4vYXBpL3JlZmFjdG9yaW5nJztcblxudHlwZSBNYXBwaW5nVHlwZSA9ICdhdXRvJyB8ICdleHBsaWNpdCc7XG5cbi8qKlxuICogVGhlIHNvdXJjZSBvZiB0aGUgcmVzb3VyY2UgbWFwcGluZ3MgdG8gYmUgdXNlZCBmb3IgcmVmYWN0b3JpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBNYXBwaW5nU291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBtYXBwaW5nIHdpbGwgYmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYmFzZWQgb24gYSBjb21wYXJpc29uIG9mXG4gICAqIHRoZSBkZXBsb3llZCBzdGFja3MgYW5kIHRoZSBsb2NhbCBzdGFja3MuXG4gICAqXG4gICAqIEBwYXJhbSBleGNsdWRlIC0gQSBsaXN0IG9mIHJlc291cmNlIGxvY2F0aW9ucyB0byBleGNsdWRlIGZyb20gdGhlIG1hcHBpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGF1dG8oZXhjbHVkZTogc3RyaW5nW10gPSBbXSk6IE1hcHBpbmdTb3VyY2Uge1xuICAgIGNvbnN0IGV4Y2x1ZGVMaXN0ID0gbmV3IEluTWVtb3J5RXhjbHVkZUxpc3QoZXhjbHVkZSk7XG4gICAgcmV0dXJuIG5ldyBNYXBwaW5nU291cmNlKCdhdXRvJywgW10sIGV4Y2x1ZGVMaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBleHBsaWNpdGx5IHByb3ZpZGVkIGxpc3Qgb2YgbWFwcGluZ3MsIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgcmVmYWN0b3JpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGV4cGxpY2l0KGdyb3VwczogTWFwcGluZ0dyb3VwW10pOiBNYXBwaW5nU291cmNlIHtcbiAgICByZXR1cm4gbmV3IE1hcHBpbmdTb3VyY2UoJ2V4cGxpY2l0JywgZ3JvdXBzLCBuZXcgTmV2ZXJFeGNsdWRlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV4cGxpY2l0bHkgcHJvdmlkZWQgbGlzdCBvZiBtYXBwaW5ncywgd2hpY2ggd2lsbCBiZSB1c2VkIGZvciByZWZhY3RvcmluZyxcbiAgICogYnV0IGluIHJldmVyc2UsIHRoYXQgaXMsIHRoZSBzb3VyY2UgbG9jYXRpb25zIHdpbGwgYmVjb21lIHRoZSBkZXN0aW5hdGlvblxuICAgKiBsb2NhdGlvbnMgYW5kIHZpY2UgdmVyc2EuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJldmVyc2UoZ3JvdXBzOiBNYXBwaW5nR3JvdXBbXSk6IE1hcHBpbmdTb3VyY2Uge1xuICAgIGNvbnN0IHJldmVyc2VHcm91cHMgPSBncm91cHMubWFwKChncm91cCkgPT4gKHtcbiAgICAgIC4uLmdyb3VwLFxuICAgICAgcmVzb3VyY2VzOiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoZ3JvdXAucmVzb3VyY2VzKS5tYXAoKFtzcmMsIGRzdF0pID0+IFtkc3QsIHNyY10pKSxcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gTWFwcGluZ1NvdXJjZS5leHBsaWNpdChyZXZlcnNlR3JvdXBzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2U6IE1hcHBpbmdUeXBlO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBncm91cHM6IE1hcHBpbmdHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBleGNsdWRlOiBFeGNsdWRlTGlzdDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHNvdXJjZTogTWFwcGluZ1R5cGUsIGdyb3VwczogTWFwcGluZ0dyb3VwW10sIGV4Y2x1ZGU6IEV4Y2x1ZGVMaXN0KSB7XG4gICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgdGhpcy5ncm91cHMgPSBncm91cHM7XG4gICAgdGhpcy5leGNsdWRlID0gZXhjbHVkZTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZmFjdG9yT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG9ubHkgc2hvdyB0aGUgcHJvcG9zZWQgcmVmYWN0b3IsIHdpdGhvdXQgYXBwbHlpbmcgaXRcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRyeVJ1bj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENyaXRlcmlhIGZvciBzZWxlY3Rpbmcgc3RhY2tzIHRvIGRlcGxveVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFsbCBzdGFja3NcbiAgICovXG4gIHN0YWNrcz86IFN0YWNrU2VsZWN0b3I7XG5cbiAgLyoqXG4gICAqIEhvdyB0aGUgdG9vbGtpdCBzaG91bGQgb2J0YWluIHRoZSBtYXBwaW5nc1xuICAgKi9cbiAgbWFwcGluZ1NvdXJjZT86IE1hcHBpbmdTb3VyY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwcGluZ0dyb3VwIHtcbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IElEIG9mIHRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCB0aGUgbWFwcGluZyBpcyB2YWxpZC5cbiAgICovXG4gIGFjY291bnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbiBvZiB0aGUgZW52aXJvbm1lbnQgaW4gd2hpY2ggdGhlIG1hcHBpbmcgaXMgdmFsaWQuXG4gICAqL1xuICByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogQSBjb2xsZWN0aW9uIG9mIHJlc291cmNlIG1hcHBpbmdzLCB3aGVyZSBlYWNoIGtleSBpcyB0aGUgc291cmNlIGxvY2F0aW9uXG4gICAqIGFuZCB0aGUgdmFsdWUgaXMgdGhlIGRlc3RpbmF0aW9uIGxvY2F0aW9uLiBMb2NhdGlvbnMgbXVzdCBiZSBpbiB0aGUgZm9ybWF0XG4gICAqIGBTdGFja05hbWUuTG9naWNhbElkYC4gVGhlIHNvdXJjZSBtdXN0IHJlZmVyIHRvIGEgbG9jYXRpb24gd2hlcmUgdGhlcmUgaXNcbiAgICogYSByZXNvdXJjZSBjdXJyZW50bHkgZGVwbG95ZWQsIHdoaWxlIHRoZSBkZXN0aW5hdGlvbiBtdXN0IHJlZmVyIHRvIGFcbiAgICogbG9jYXRpb24gdGhhdCBpcyBub3QgYWxyZWFkeSBvY2N1cGllZCBieSBhbnkgcmVzb3VyY2UuXG4gICAqXG4gICAqL1xuICByZXNvdXJjZXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG59XG4iXX0=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdGFja1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vYXBpJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWZhY3Rvck9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBvbmx5IHNob3cgdGhlIHByb3Bvc2VkIHJlZmFjdG9yLCB3aXRob3V0IGFwcGx5aW5nIGl0XG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG92ZXJyaWRlcyB0byBiZSBhcHBsaWVkIHRvIHJlc29sdmUgcG9zc2libGUgYW1iaWd1aXRpZXMgaW4gdGhlXG4gICAqIGNvbXB1dGVkIGxpc3Qgb2YgbWFwcGluZ3MuXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZXM/OiBNYXBwaW5nR3JvdXBbXTtcblxuICAvKipcbiAgICogQ3JpdGVyaWEgZm9yIHNlbGVjdGluZyBzdGFja3MgdG8gY29tcGFyZSB3aXRoIHRoZSBkZXBsb3llZCBzdGFja3MgaW4gdGhlXG4gICAqIHRhcmdldCBlbnZpcm9ubWVudC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IFN0YWNrU2VsZWN0b3I7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBuYW1lcyBvZiBhZGRpdGlvbmFsIGRlcGxveWVkIHN0YWNrcyB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY29tcGFyaXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxTdGFja05hbWVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwcGluZ0dyb3VwIHtcbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IElEIG9mIHRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCB0aGUgbWFwcGluZyBpcyB2YWxpZC5cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbiBvZiB0aGUgZW52aXJvbm1lbnQgaW4gd2hpY2ggdGhlIG1hcHBpbmcgaXMgdmFsaWQuXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogQSBjb2xsZWN0aW9uIG9mIHJlc291cmNlIG1hcHBpbmdzLCB3aGVyZSBlYWNoIGtleSBpcyB0aGUgc291cmNlIGxvY2F0aW9uXG4gICAqIGFuZCB0aGUgdmFsdWUgaXMgdGhlIGRlc3RpbmF0aW9uIGxvY2F0aW9uLiBMb2NhdGlvbnMgbXVzdCBiZSBpbiB0aGUgZm9ybWF0XG4gICAqIGBTdGFja05hbWUuTG9naWNhbElkYC4gVGhlIHNvdXJjZSBtdXN0IHJlZmVyIHRvIGEgbG9jYXRpb24gd2hlcmUgdGhlcmUgaXNcbiAgICogYSByZXNvdXJjZSBjdXJyZW50bHkgZGVwbG95ZWQsIHdoaWxlIHRoZSBkZXN0aW5hdGlvbiBtdXN0IHJlZmVyIHRvIGFcbiAgICogbG9jYXRpb24gdGhhdCBpcyBub3QgYWxyZWFkeSBvY2N1cGllZCBieSBhbnkgcmVzb3VyY2UuXG4gICAqXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZXM6IHtcbiAgICByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type * as cxapi from '@aws-cdk/cx-api';
|
|
2
|
+
import type { MappingGroup } from '..';
|
|
3
|
+
import type { SdkProvider } from '../../../api/aws-auth/sdk-provider';
|
|
4
|
+
export declare function parseMappingGroups(s: string): MappingGroup[];
|
|
5
|
+
interface EnvironmentSpecificMappings {
|
|
6
|
+
readonly environment: cxapi.Environment;
|
|
7
|
+
readonly mappings: Record<string, string>;
|
|
8
|
+
}
|
|
9
|
+
export declare function mappingsByEnvironment(stackArtifacts: cxapi.CloudFormationStackArtifact[], sdkProvider: SdkProvider, ignoreModifications?: boolean): Promise<EnvironmentSpecificMappings[]>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=mapping-helpers.d.ts.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMappingGroups = parseMappingGroups;
|
|
4
|
+
exports.mappingsByEnvironment = mappingsByEnvironment;
|
|
5
|
+
const refactoring_1 = require("../../../api/refactoring");
|
|
6
|
+
const toolkit_error_1 = require("../../../toolkit/toolkit-error");
|
|
7
|
+
function parseMappingGroups(s) {
|
|
8
|
+
const mappingGroups = doParse();
|
|
9
|
+
// Validate that there are no duplicate destinations.
|
|
10
|
+
// By construction, there are no duplicate sources, already.
|
|
11
|
+
for (let group of mappingGroups) {
|
|
12
|
+
const destinations = new Set();
|
|
13
|
+
for (const destination of Object.values(group.resources)) {
|
|
14
|
+
if (destinations.has(destination)) {
|
|
15
|
+
throw new toolkit_error_1.ToolkitError(`Duplicate destination resource '${destination}' in environment ${group.account}/${group.region}`);
|
|
16
|
+
}
|
|
17
|
+
destinations.add(destination);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return mappingGroups;
|
|
21
|
+
function doParse() {
|
|
22
|
+
const content = JSON.parse(s);
|
|
23
|
+
if (content.environments || !Array.isArray(content.environments)) {
|
|
24
|
+
return content.environments;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
throw new toolkit_error_1.ToolkitError("Expected an 'environments' array");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async function mappingsByEnvironment(stackArtifacts, sdkProvider, ignoreModifications) {
|
|
32
|
+
const groups = await (0, refactoring_1.groupStacks)(sdkProvider, stackArtifacts, []);
|
|
33
|
+
return groups.map((group) => {
|
|
34
|
+
const context = new refactoring_1.RefactoringContext({
|
|
35
|
+
...group,
|
|
36
|
+
ignoreModifications,
|
|
37
|
+
});
|
|
38
|
+
return {
|
|
39
|
+
environment: context.environment,
|
|
40
|
+
mappings: Object.fromEntries(context.mappings.map((m) => [m.source.toLocationString(), m.destination.toLocationString()])),
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZy1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibWFwcGluZy1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsZ0RBNEJDO0FBT0Qsc0RBa0JDO0FBeERELDBEQUEyRTtBQUMzRSxrRUFBOEQ7QUFFOUQsU0FBZ0Isa0JBQWtCLENBQUMsQ0FBUztJQUMxQyxNQUFNLGFBQWEsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUVoQyxxREFBcUQ7SUFDckQsNERBQTREO0lBQzVELEtBQUssSUFBSSxLQUFLLElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUV2QyxLQUFLLE1BQU0sV0FBVyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDekQsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sSUFBSSw0QkFBWSxDQUNwQixtQ0FBbUMsV0FBVyxvQkFBb0IsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQ2xHLENBQUM7WUFDSixDQUFDO1lBQ0QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sYUFBYSxDQUFDO0lBRXJCLFNBQVMsT0FBTztRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNqRSxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksNEJBQVksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQU9NLEtBQUssVUFBVSxxQkFBcUIsQ0FDekMsY0FBbUQsRUFDbkQsV0FBd0IsRUFDeEIsbUJBQTZCO0lBRTdCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSx5QkFBVyxFQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQ0FBa0IsQ0FBQztZQUNyQyxHQUFHLEtBQUs7WUFDUixtQkFBbUI7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FDMUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQzdGO1NBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB0eXBlIHsgTWFwcGluZ0dyb3VwIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHR5cGUgeyBTZGtQcm92aWRlciB9IGZyb20gJy4uLy4uLy4uL2FwaS9hd3MtYXV0aC9zZGstcHJvdmlkZXInO1xuaW1wb3J0IHsgZ3JvdXBTdGFja3MsIFJlZmFjdG9yaW5nQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2FwaS9yZWZhY3RvcmluZyc7XG5pbXBvcnQgeyBUb29sa2l0RXJyb3IgfSBmcm9tICcuLi8uLi8uLi90b29sa2l0L3Rvb2xraXQtZXJyb3InO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VNYXBwaW5nR3JvdXBzKHM6IHN0cmluZykge1xuICBjb25zdCBtYXBwaW5nR3JvdXBzID0gZG9QYXJzZSgpO1xuXG4gIC8vIFZhbGlkYXRlIHRoYXQgdGhlcmUgYXJlIG5vIGR1cGxpY2F0ZSBkZXN0aW5hdGlvbnMuXG4gIC8vIEJ5IGNvbnN0cnVjdGlvbiwgdGhlcmUgYXJlIG5vIGR1cGxpY2F0ZSBzb3VyY2VzLCBhbHJlYWR5LlxuICBmb3IgKGxldCBncm91cCBvZiBtYXBwaW5nR3JvdXBzKSB7XG4gICAgY29uc3QgZGVzdGluYXRpb25zID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IGRlc3RpbmF0aW9uIG9mIE9iamVjdC52YWx1ZXMoZ3JvdXAucmVzb3VyY2VzKSkge1xuICAgICAgaWYgKGRlc3RpbmF0aW9ucy5oYXMoZGVzdGluYXRpb24pKSB7XG4gICAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoXG4gICAgICAgICAgYER1cGxpY2F0ZSBkZXN0aW5hdGlvbiByZXNvdXJjZSAnJHtkZXN0aW5hdGlvbn0nIGluIGVudmlyb25tZW50ICR7Z3JvdXAuYWNjb3VudH0vJHtncm91cC5yZWdpb259YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGRlc3RpbmF0aW9ucy5hZGQoZGVzdGluYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtYXBwaW5nR3JvdXBzO1xuXG4gIGZ1bmN0aW9uIGRvUGFyc2UoKTogTWFwcGluZ0dyb3VwW10ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBKU09OLnBhcnNlKHMpO1xuICAgIGlmIChjb250ZW50LmVudmlyb25tZW50cyB8fCAhQXJyYXkuaXNBcnJheShjb250ZW50LmVudmlyb25tZW50cykpIHtcbiAgICAgIHJldHVybiBjb250ZW50LmVudmlyb25tZW50cztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcIkV4cGVjdGVkIGFuICdlbnZpcm9ubWVudHMnIGFycmF5XCIpO1xuICAgIH1cbiAgfVxufVxuXG5pbnRlcmZhY2UgRW52aXJvbm1lbnRTcGVjaWZpY01hcHBpbmdzIHtcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IGN4YXBpLkVudmlyb25tZW50O1xuICByZWFkb25seSBtYXBwaW5nczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1hcHBpbmdzQnlFbnZpcm9ubWVudChcbiAgc3RhY2tBcnRpZmFjdHM6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdFtdLFxuICBzZGtQcm92aWRlcjogU2RrUHJvdmlkZXIsXG4gIGlnbm9yZU1vZGlmaWNhdGlvbnM/OiBib29sZWFuLFxuKTogUHJvbWlzZTxFbnZpcm9ubWVudFNwZWNpZmljTWFwcGluZ3NbXT4ge1xuICBjb25zdCBncm91cHMgPSBhd2FpdCBncm91cFN0YWNrcyhzZGtQcm92aWRlciwgc3RhY2tBcnRpZmFjdHMsIFtdKTtcbiAgcmV0dXJuIGdyb3Vwcy5tYXAoKGdyb3VwKSA9PiB7XG4gICAgY29uc3QgY29udGV4dCA9IG5ldyBSZWZhY3RvcmluZ0NvbnRleHQoe1xuICAgICAgLi4uZ3JvdXAsXG4gICAgICBpZ25vcmVNb2RpZmljYXRpb25zLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBlbnZpcm9ubWVudDogY29udGV4dC5lbnZpcm9ubWVudCxcbiAgICAgIG1hcHBpbmdzOiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIGNvbnRleHQubWFwcGluZ3MubWFwKChtKSA9PiBbbS5zb3VyY2UudG9Mb2NhdGlvblN0cmluZygpLCBtLmRlc3RpbmF0aW9uLnRvTG9jYXRpb25TdHJpbmcoKV0pLFxuICAgICAgKSxcbiAgICB9O1xuICB9KTtcbn1cblxuIl19
|
|
@@ -5,6 +5,7 @@ const contextproviders = require("../../../context-providers");
|
|
|
5
5
|
const toolkit_error_1 = require("../../../toolkit/toolkit-error");
|
|
6
6
|
const private_1 = require("../../io/private");
|
|
7
7
|
const helpers_1 = require("./helpers");
|
|
8
|
+
const sets_1 = require("../../../util/sets");
|
|
8
9
|
/**
|
|
9
10
|
* A CloudAssemblySource that wraps another CloudAssemblySource and runs a lookup loop on it
|
|
10
11
|
*
|
|
@@ -56,7 +57,7 @@ class ContextAwareCloudAssemblySource {
|
|
|
56
57
|
+ `Missing context keys: '${missingKeys.join(', ')}'`);
|
|
57
58
|
}
|
|
58
59
|
let tryLookup = true;
|
|
59
|
-
if (previouslyMissingKeys && equalSets(missingKeysSet, previouslyMissingKeys)) {
|
|
60
|
+
if (previouslyMissingKeys && (0, sets_1.equalSets)(missingKeysSet, previouslyMissingKeys)) {
|
|
60
61
|
await this.ioHelper.notify(private_1.IO.CDK_ASSEMBLY_I0240.msg('Not making progress trying to resolve environmental context. Giving up.', { missingKeys }));
|
|
61
62
|
tryLookup = false;
|
|
62
63
|
}
|
|
@@ -79,18 +80,4 @@ class ContextAwareCloudAssemblySource {
|
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
exports.ContextAwareCloudAssemblySource = ContextAwareCloudAssemblySource;
|
|
82
|
-
|
|
83
|
-
* Are two sets equal to each other
|
|
84
|
-
*/
|
|
85
|
-
function equalSets(a, b) {
|
|
86
|
-
if (a.size !== b.size) {
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
for (const x of a) {
|
|
90
|
-
if (!b.has(x)) {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1hd2FyZS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb250ZXh0LWF3YXJlLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBK0Q7QUFFL0Qsa0VBQThEO0FBRTlELDhDQUFzQztBQUd0Qyx1Q0FBK0M7QUF3Qi9DOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBYSwrQkFBK0I7SUFLYjtJQUErQztJQUpwRSxTQUFTLENBQVU7SUFDbkIsT0FBTyxDQUFnQjtJQUN2QixRQUFRLENBQVc7SUFFM0IsWUFBNkIsTUFBNEIsRUFBbUIsS0FBcUM7UUFBcEYsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFBbUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0M7UUFDL0csSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixzR0FBc0c7UUFDdEcsZ0ZBQWdGO1FBQ2hGLG1GQUFtRjtRQUNuRiw4RUFBOEU7UUFDOUUsSUFBSSxxQkFBOEMsQ0FBQztRQUNuRCxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRWhELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7WUFDM0MsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLE1BQU0sY0FBYyxHQUFHLElBQUEsNEJBQWtCLEVBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxJQUFJLDRCQUFZLENBQ3BCLHNDQUFzQzswQkFDcEMsc0tBQXNLOzBCQUN0SywwQkFBMEIsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNELENBQUM7Z0JBRUQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixJQUFJLHFCQUFxQixJQUFJLFNBQVMsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsRUFBRSxDQUFDO29CQUM5RSxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMseUVBQXlFLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2xKLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLENBQUM7Z0JBRUQscUJBQXFCLEdBQUcsY0FBYyxDQUFDO2dCQUV2QyxJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNkLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxrREFBa0QsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDM0gsTUFBTSxjQUFjLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FDaEUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUM5QixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7b0JBRUYsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFO3dCQUNqRixPQUFPLEVBQUUsY0FBYztxQkFDeEIsQ0FBQyxDQUFDLENBQUM7b0JBQ0osTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFFMUMsMkVBQTJFO29CQUMzRSxzQ0FBc0M7b0JBQ3RDLE1BQU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM1QixTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5FRCwwRUFtRUM7QUFFRDs7R0FFRztBQUNILFNBQVMsU0FBUyxDQUFJLENBQVMsRUFBRSxDQUFTO0lBQ3hDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnRleHRwcm92aWRlcnMgZnJvbSAnLi4vLi4vLi4vY29udGV4dC1wcm92aWRlcnMnO1xuaW1wb3J0IHR5cGUgeyBUb29sa2l0U2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi90b29sa2l0L3ByaXZhdGUnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi8uLi9pby9wcml2YXRlJztcbmltcG9ydCB7IElPIH0gZnJvbSAnLi4vLi4vaW8vcHJpdmF0ZSc7XG5pbXBvcnQgdHlwZSB7IElDb250ZXh0U3RvcmUgfSBmcm9tICcuLi9jb250ZXh0LXN0b3JlJztcbmltcG9ydCB0eXBlIHsgSUNsb3VkQXNzZW1ibHlTb3VyY2UsIElSZWFkYWJsZUNsb3VkQXNzZW1ibHkgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBtaXNzaW5nQ29udGV4dEtleXMgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRBd2FyZUNsb3VkQXNzZW1ibHlQcm9wcyB7XG4gIC8qKlxuICAgKiBBV1Mgb2JqZWN0ICh1c2VkIGJ5IGNvbnRleHRwcm92aWRlcilcbiAgICogQGRlcHJlY2F0ZWQgY29udGV4dCBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHRvb2xraXQgaXRzZWxmXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlczogVG9vbGtpdFNlcnZpY2VzO1xuXG4gIC8qKlxuICAgKiBMb2NhdGlvbiB0byByZWFkIGFuZCB3cml0ZSBjb250ZXh0XG4gICAqL1xuICByZWFkb25seSBjb250ZXh0U3RvcmU6IElDb250ZXh0U3RvcmU7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjb250ZXh0IGxvb2t1cHMuXG4gICAqXG4gICAqIFByb2R1Y2luZyBhIGBjeGFwaS5DbG91ZEFzc2VtYmx5YCB3aWxsIGZhaWwgaWYgdGhpcyBpcyBkaXNhYmxlZCBhbmQgY29udGV4dCBsb29rdXBzIG5lZWQgdG8gYmUgcGVyZm9ybWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIENsb3VkQXNzZW1ibHlTb3VyY2UgdGhhdCB3cmFwcyBhbm90aGVyIENsb3VkQXNzZW1ibHlTb3VyY2UgYW5kIHJ1bnMgYSBsb29rdXAgbG9vcCBvbiBpdFxuICpcbiAqIFRoaXMgbWVhbnMgdGhhdCBpZiB0aGUgdW5kZXJseWluZyBDbG91ZEFzc2VtYmx5U291cmNlIHByb2R1Y2VzIGEgbWFuaWZlc3RcbiAqIHdpdGggcHJvdmlkZXIgcXVlcmllcyBpbiBpdCwgdGhlIGBDb250ZXh0QXdhcmVDbG91ZEFzc2VtYmx5U291cmNlYCB3aWxsXG4gKiBwZXJmb3JtIHRoZSBuZWNlc3NhcnkgY29udGV4dCBsb29rdXBzIGFuZCBpbnZva2UgdGhlIHVuZGVybHlpbmdcbiAqIGBDbG91ZEFzc2VtYmx5U291cmNlYCBhZ2FpbiB3aXRoIHRoZXcgbWlzc2luZyBjb250ZXh0IGluZm9ybWF0aW9uLlxuICpcbiAqIFRoaXMgaXMgb25seSB1c2VmdWwgaWYgdGhlIHVuZGVybHlpbmcgYENsb3VkQXNzZW1ibHlTb3VyY2VgIGNhbiByZXNwb25kIHRvXG4gKiB0aGlzIG5ldyBjb250ZXh0IGluZm9ybWF0aW9uIChpdCBtdXN0IGJlIGEgQ0RLIGFwcCBzb3VyY2UpOyBpZiBpdCBpcyBqdXN0IGFcbiAqIHN0YXRpYyBkaXJlY3RvcnksIHRoZW4gdGhlIGNvbnRlbnRzIG9mIHRoZSBhc3NlbWJseSB3b24ndCBjaGFuZ2UgaW4gcmVzcG9uc2VcbiAqIHRvIGNvbnRleHQuXG4gKlxuICogVGhlIGNvbnRleHQgaXMgcGFzc2VkIGJldHdlZW4gYENvbnRleHRBd2FyZUNsb3VkQXNzZW1ibHlTb3VyY2VgIGFuZCB0aGUgd3JhcHBlZFxuICogY2xvdWQgYXNzZW1ibHkgc291cmNlIHZpYSBhIGNvbnRleCBmaWxlIG9uIGRpc2ssIHNvIHRoZSB3cmFwcGVkIGFzc2VtYmx5IHNvdXJjZVxuICogc2hvdWxkIHJlLXJlYWQgdGhlIGNvbnRleHQgZmlsZSBvbiBldmVyeSBpbnZvY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ29udGV4dEF3YXJlQ2xvdWRBc3NlbWJseVNvdXJjZSBpbXBsZW1lbnRzIElDbG91ZEFzc2VtYmx5U291cmNlIHtcbiAgcHJpdmF0ZSBjYW5Mb29rdXA6IGJvb2xlYW47XG4gIHByaXZhdGUgY29udGV4dDogSUNvbnRleHRTdG9yZTtcbiAgcHJpdmF0ZSBpb0hlbHBlcjogSW9IZWxwZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzb3VyY2U6IElDbG91ZEFzc2VtYmx5U291cmNlLCBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBDb250ZXh0QXdhcmVDbG91ZEFzc2VtYmx5UHJvcHMpIHtcbiAgICB0aGlzLmNhbkxvb2t1cCA9IHByb3BzLmxvb2t1cHMgPz8gdHJ1ZTtcbiAgICB0aGlzLmNvbnRleHQgPSBwcm9wcy5jb250ZXh0U3RvcmU7XG4gICAgdGhpcy5pb0hlbHBlciA9IHByb3BzLnNlcnZpY2VzLmlvSGVscGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2R1Y2UgYSBDbG91ZCBBc3NlbWJseSwgaS5lLiBhIHNldCBvZiBzdGFja3NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBwcm9kdWNlKCk6IFByb21pc2U8SVJlYWRhYmxlQ2xvdWRBc3NlbWJseT4ge1xuICAgIC8vIFdlIG1heSBuZWVkIHRvIHJ1biB0aGUgY2xvdWQgYXNzZW1ibHkgc291cmNlIG11bHRpcGxlIHRpbWVzIGluIG9yZGVyIHRvIHNhdGlzZnkgYWxsIG1pc3NpbmcgY29udGV4dFxuICAgIC8vIChXaGVuIHRoZSBzb3VyY2UgcHJvZHVjZXIgcnVucywgaXQgd2lsbCB0ZWxsIHVzIGFib3V0IGNvbnRleHQgaXQgd2FudHMgdG8gdXNlXG4gICAgLy8gYnV0IGl0IG1pc3NpbmcuIFdlJ2xsIHRoZW4gbG9vayB1cCB0aGUgY29udGV4dCBhbmQgcnVuIHRoZSBleGVjdXRhYmxlIGFnYWluLCBhbmRcbiAgICAvLyBhZ2FpbiwgdW50aWwgaXQgZG9lc24ndCBjb21wbGFpbiBhbnltb3JlIG9yIHdlJ3ZlIHN0b3BwZWQgbWFraW5nIHByb2dyZXNzKS5cbiAgICBsZXQgcHJldmlvdXNseU1pc3NpbmdLZXlzOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgcmVhZGFibGVBc20gPSBhd2FpdCB0aGlzLnNvdXJjZS5wcm9kdWNlKCk7XG5cbiAgICAgIGNvbnN0IGFzc2VtYmx5ID0gcmVhZGFibGVBc20uY2xvdWRBc3NlbWJseTtcbiAgICAgIGlmIChhc3NlbWJseS5tYW5pZmVzdC5taXNzaW5nICYmIGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBtaXNzaW5nS2V5c1NldCA9IG1pc3NpbmdDb250ZXh0S2V5cyhhc3NlbWJseS5tYW5pZmVzdC5taXNzaW5nKTtcbiAgICAgICAgY29uc3QgbWlzc2luZ0tleXMgPSBBcnJheS5mcm9tKG1pc3NpbmdLZXlzU2V0KTtcblxuICAgICAgICBpZiAoIXRoaXMuY2FuTG9va3VwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcbiAgICAgICAgICAgICdDb250ZXh0IGxvb2t1cHMgaGF2ZSBiZWVuIGRpc2FibGVkLiAnXG4gICAgICAgICAgICArICdNYWtlIHN1cmUgYWxsIG5lY2Vzc2FyeSBjb250ZXh0IGlzIGFscmVhZHkgaW4gXFwnY2RrLmNvbnRleHQuanNvblxcJyBieSBydW5uaW5nIFxcJ2NkayBzeW50aFxcJyBvbiBhIG1hY2hpbmUgd2l0aCBzdWZmaWNpZW50IEFXUyBjcmVkZW50aWFscyBhbmQgY29tbWl0dGluZyB0aGUgcmVzdWx0LiAnXG4gICAgICAgICAgICArIGBNaXNzaW5nIGNvbnRleHQga2V5czogJyR7bWlzc2luZ0tleXMuam9pbignLCAnKX0nYCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdHJ5TG9va3VwID0gdHJ1ZTtcbiAgICAgICAgaWYgKHByZXZpb3VzbHlNaXNzaW5nS2V5cyAmJiBlcXVhbFNldHMobWlzc2luZ0tleXNTZXQsIHByZXZpb3VzbHlNaXNzaW5nS2V5cykpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmlvSGVscGVyLm5vdGlmeShJTy5DREtfQVNTRU1CTFlfSTAyNDAubXNnKCdOb3QgbWFraW5nIHByb2dyZXNzIHRyeWluZyB0byByZXNvbHZlIGVudmlyb25tZW50YWwgY29udGV4dC4gR2l2aW5nIHVwLicsIHsgbWlzc2luZ0tleXMgfSkpO1xuICAgICAgICAgIHRyeUxvb2t1cCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJldmlvdXNseU1pc3NpbmdLZXlzID0gbWlzc2luZ0tleXNTZXQ7XG5cbiAgICAgICAgaWYgKHRyeUxvb2t1cCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19BU1NFTUJMWV9JMDI0MS5tc2coJ1NvbWUgY29udGV4dCBpbmZvcm1hdGlvbiBpcyBtaXNzaW5nLiBGZXRjaGluZy4uLicsIHsgbWlzc2luZ0tleXMgfSkpO1xuICAgICAgICAgIGNvbnN0IGNvbnRleHRVcGRhdGVzID0gYXdhaXQgY29udGV4dHByb3ZpZGVycy5wcm92aWRlQ29udGV4dFZhbHVlcyhcbiAgICAgICAgICAgIGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcsXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNlcnZpY2VzLnNka1Byb3ZpZGVyLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXJ2aWNlcy5wbHVnaW5Ib3N0LFxuICAgICAgICAgICAgdGhpcy5pb0hlbHBlcixcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgYXdhaXQgdGhpcy5pb0hlbHBlci5ub3RpZnkoSU8uQ0RLX0FTU0VNQkxZX0kwMDQyLm1zZygnV3JpdGluZyBjb250ZXh0IHVwZGF0ZXMuLi4nLCB7XG4gICAgICAgICAgICBjb250ZXh0OiBjb250ZXh0VXBkYXRlcyxcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgYXdhaXQgdGhpcy5jb250ZXh0LnVwZGF0ZShjb250ZXh0VXBkYXRlcyk7XG5cbiAgICAgICAgICAvLyBFeGVjdXRlIGFnYWluLiBVbmxvY2sgdGhlIGFzc2VtYmx5IGhlcmUgc28gdGhhdCB0aGUgcHJvZHVjZXIgY2FuIGFjcXVpcmVcbiAgICAgICAgICAvLyBhIHJlYWQgbG9jayBvbiB0aGUgZGlyZWN0b3J5IGFnYWluLlxuICAgICAgICAgIGF3YWl0IHJlYWRhYmxlQXNtLl91bmxvY2soKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVhZGFibGVBc207XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQXJlIHR3byBzZXRzIGVxdWFsIHRvIGVhY2ggb3RoZXJcbiAqL1xuZnVuY3Rpb24gZXF1YWxTZXRzPEE+KGE6IFNldDxBPiwgYjogU2V0PEE+KSB7XG4gIGlmIChhLnNpemUgIT09IGIuc2l6ZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBmb3IgKGNvbnN0IHggb2YgYSkge1xuICAgIGlmICghYi5oYXMoeCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1hd2FyZS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb250ZXh0LWF3YXJlLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBK0Q7QUFFL0Qsa0VBQThEO0FBRTlELDhDQUFzQztBQUd0Qyx1Q0FBK0M7QUFDL0MsNkNBQStDO0FBd0IvQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQWEsK0JBQStCO0lBS2I7SUFBK0M7SUFKcEUsU0FBUyxDQUFVO0lBQ25CLE9BQU8sQ0FBZ0I7SUFDdkIsUUFBUSxDQUFXO0lBRTNCLFlBQTZCLE1BQTRCLEVBQW1CLEtBQXFDO1FBQXBGLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQW1CLFVBQUssR0FBTCxLQUFLLENBQWdDO1FBQy9HLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsc0dBQXNHO1FBQ3RHLGdGQUFnRjtRQUNoRixtRkFBbUY7UUFDbkYsOEVBQThFO1FBQzlFLElBQUkscUJBQThDLENBQUM7UUFDbkQsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNaLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVoRCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1lBQzNDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0RSxNQUFNLGNBQWMsR0FBRyxJQUFBLDRCQUFrQixFQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBRS9DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3BCLE1BQU0sSUFBSSw0QkFBWSxDQUNwQixzQ0FBc0M7MEJBQ3BDLHNLQUFzSzswQkFDdEssMEJBQTBCLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzRCxDQUFDO2dCQUVELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxxQkFBcUIsSUFBSSxJQUFBLGdCQUFTLEVBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztvQkFDOUUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLHlFQUF5RSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNsSixTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixDQUFDO2dCQUVELHFCQUFxQixHQUFHLGNBQWMsQ0FBQztnQkFFdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsa0RBQWtELEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzNILE1BQU0sY0FBYyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsb0JBQW9CLENBQ2hFLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO29CQUVGLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRTt3QkFDakYsT0FBTyxFQUFFLGNBQWM7cUJBQ3hCLENBQUMsQ0FBQyxDQUFDO29CQUNKLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBRTFDLDJFQUEyRTtvQkFDM0Usc0NBQXNDO29CQUN0QyxNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDNUIsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFuRUQsMEVBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29udGV4dHByb3ZpZGVycyBmcm9tICcuLi8uLi8uLi9jb250ZXh0LXByb3ZpZGVycyc7XG5pbXBvcnQgdHlwZSB7IFRvb2xraXRTZXJ2aWNlcyB9IGZyb20gJy4uLy4uLy4uL3Rvb2xraXQvcHJpdmF0ZSc7XG5pbXBvcnQgeyBUb29sa2l0RXJyb3IgfSBmcm9tICcuLi8uLi8uLi90b29sa2l0L3Rvb2xraXQtZXJyb3InO1xuaW1wb3J0IHR5cGUgeyBJb0hlbHBlciB9IGZyb20gJy4uLy4uL2lvL3ByaXZhdGUnO1xuaW1wb3J0IHsgSU8gfSBmcm9tICcuLi8uLi9pby9wcml2YXRlJztcbmltcG9ydCB0eXBlIHsgSUNvbnRleHRTdG9yZSB9IGZyb20gJy4uL2NvbnRleHQtc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBJQ2xvdWRBc3NlbWJseVNvdXJjZSwgSVJlYWRhYmxlQ2xvdWRBc3NlbWJseSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG1pc3NpbmdDb250ZXh0S2V5cyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBlcXVhbFNldHMgfSBmcm9tICcuLi8uLi8uLi91dGlsL3NldHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRBd2FyZUNsb3VkQXNzZW1ibHlQcm9wcyB7XG4gIC8qKlxuICAgKiBBV1Mgb2JqZWN0ICh1c2VkIGJ5IGNvbnRleHRwcm92aWRlcilcbiAgICogQGRlcHJlY2F0ZWQgY29udGV4dCBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHRvb2xraXQgaXRzZWxmXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlczogVG9vbGtpdFNlcnZpY2VzO1xuXG4gIC8qKlxuICAgKiBMb2NhdGlvbiB0byByZWFkIGFuZCB3cml0ZSBjb250ZXh0XG4gICAqL1xuICByZWFkb25seSBjb250ZXh0U3RvcmU6IElDb250ZXh0U3RvcmU7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjb250ZXh0IGxvb2t1cHMuXG4gICAqXG4gICAqIFByb2R1Y2luZyBhIGBjeGFwaS5DbG91ZEFzc2VtYmx5YCB3aWxsIGZhaWwgaWYgdGhpcyBpcyBkaXNhYmxlZCBhbmQgY29udGV4dCBsb29rdXBzIG5lZWQgdG8gYmUgcGVyZm9ybWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIENsb3VkQXNzZW1ibHlTb3VyY2UgdGhhdCB3cmFwcyBhbm90aGVyIENsb3VkQXNzZW1ibHlTb3VyY2UgYW5kIHJ1bnMgYSBsb29rdXAgbG9vcCBvbiBpdFxuICpcbiAqIFRoaXMgbWVhbnMgdGhhdCBpZiB0aGUgdW5kZXJseWluZyBDbG91ZEFzc2VtYmx5U291cmNlIHByb2R1Y2VzIGEgbWFuaWZlc3RcbiAqIHdpdGggcHJvdmlkZXIgcXVlcmllcyBpbiBpdCwgdGhlIGBDb250ZXh0QXdhcmVDbG91ZEFzc2VtYmx5U291cmNlYCB3aWxsXG4gKiBwZXJmb3JtIHRoZSBuZWNlc3NhcnkgY29udGV4dCBsb29rdXBzIGFuZCBpbnZva2UgdGhlIHVuZGVybHlpbmdcbiAqIGBDbG91ZEFzc2VtYmx5U291cmNlYCBhZ2FpbiB3aXRoIHRoZXcgbWlzc2luZyBjb250ZXh0IGluZm9ybWF0aW9uLlxuICpcbiAqIFRoaXMgaXMgb25seSB1c2VmdWwgaWYgdGhlIHVuZGVybHlpbmcgYENsb3VkQXNzZW1ibHlTb3VyY2VgIGNhbiByZXNwb25kIHRvXG4gKiB0aGlzIG5ldyBjb250ZXh0IGluZm9ybWF0aW9uIChpdCBtdXN0IGJlIGEgQ0RLIGFwcCBzb3VyY2UpOyBpZiBpdCBpcyBqdXN0IGFcbiAqIHN0YXRpYyBkaXJlY3RvcnksIHRoZW4gdGhlIGNvbnRlbnRzIG9mIHRoZSBhc3NlbWJseSB3b24ndCBjaGFuZ2UgaW4gcmVzcG9uc2VcbiAqIHRvIGNvbnRleHQuXG4gKlxuICogVGhlIGNvbnRleHQgaXMgcGFzc2VkIGJldHdlZW4gYENvbnRleHRBd2FyZUNsb3VkQXNzZW1ibHlTb3VyY2VgIGFuZCB0aGUgd3JhcHBlZFxuICogY2xvdWQgYXNzZW1ibHkgc291cmNlIHZpYSBhIGNvbnRleCBmaWxlIG9uIGRpc2ssIHNvIHRoZSB3cmFwcGVkIGFzc2VtYmx5IHNvdXJjZVxuICogc2hvdWxkIHJlLXJlYWQgdGhlIGNvbnRleHQgZmlsZSBvbiBldmVyeSBpbnZvY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ29udGV4dEF3YXJlQ2xvdWRBc3NlbWJseVNvdXJjZSBpbXBsZW1lbnRzIElDbG91ZEFzc2VtYmx5U291cmNlIHtcbiAgcHJpdmF0ZSBjYW5Mb29rdXA6IGJvb2xlYW47XG4gIHByaXZhdGUgY29udGV4dDogSUNvbnRleHRTdG9yZTtcbiAgcHJpdmF0ZSBpb0hlbHBlcjogSW9IZWxwZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzb3VyY2U6IElDbG91ZEFzc2VtYmx5U291cmNlLCBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBDb250ZXh0QXdhcmVDbG91ZEFzc2VtYmx5UHJvcHMpIHtcbiAgICB0aGlzLmNhbkxvb2t1cCA9IHByb3BzLmxvb2t1cHMgPz8gdHJ1ZTtcbiAgICB0aGlzLmNvbnRleHQgPSBwcm9wcy5jb250ZXh0U3RvcmU7XG4gICAgdGhpcy5pb0hlbHBlciA9IHByb3BzLnNlcnZpY2VzLmlvSGVscGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2R1Y2UgYSBDbG91ZCBBc3NlbWJseSwgaS5lLiBhIHNldCBvZiBzdGFja3NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBwcm9kdWNlKCk6IFByb21pc2U8SVJlYWRhYmxlQ2xvdWRBc3NlbWJseT4ge1xuICAgIC8vIFdlIG1heSBuZWVkIHRvIHJ1biB0aGUgY2xvdWQgYXNzZW1ibHkgc291cmNlIG11bHRpcGxlIHRpbWVzIGluIG9yZGVyIHRvIHNhdGlzZnkgYWxsIG1pc3NpbmcgY29udGV4dFxuICAgIC8vIChXaGVuIHRoZSBzb3VyY2UgcHJvZHVjZXIgcnVucywgaXQgd2lsbCB0ZWxsIHVzIGFib3V0IGNvbnRleHQgaXQgd2FudHMgdG8gdXNlXG4gICAgLy8gYnV0IGl0IG1pc3NpbmcuIFdlJ2xsIHRoZW4gbG9vayB1cCB0aGUgY29udGV4dCBhbmQgcnVuIHRoZSBleGVjdXRhYmxlIGFnYWluLCBhbmRcbiAgICAvLyBhZ2FpbiwgdW50aWwgaXQgZG9lc24ndCBjb21wbGFpbiBhbnltb3JlIG9yIHdlJ3ZlIHN0b3BwZWQgbWFraW5nIHByb2dyZXNzKS5cbiAgICBsZXQgcHJldmlvdXNseU1pc3NpbmdLZXlzOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgcmVhZGFibGVBc20gPSBhd2FpdCB0aGlzLnNvdXJjZS5wcm9kdWNlKCk7XG5cbiAgICAgIGNvbnN0IGFzc2VtYmx5ID0gcmVhZGFibGVBc20uY2xvdWRBc3NlbWJseTtcbiAgICAgIGlmIChhc3NlbWJseS5tYW5pZmVzdC5taXNzaW5nICYmIGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBtaXNzaW5nS2V5c1NldCA9IG1pc3NpbmdDb250ZXh0S2V5cyhhc3NlbWJseS5tYW5pZmVzdC5taXNzaW5nKTtcbiAgICAgICAgY29uc3QgbWlzc2luZ0tleXMgPSBBcnJheS5mcm9tKG1pc3NpbmdLZXlzU2V0KTtcblxuICAgICAgICBpZiAoIXRoaXMuY2FuTG9va3VwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcbiAgICAgICAgICAgICdDb250ZXh0IGxvb2t1cHMgaGF2ZSBiZWVuIGRpc2FibGVkLiAnXG4gICAgICAgICAgICArICdNYWtlIHN1cmUgYWxsIG5lY2Vzc2FyeSBjb250ZXh0IGlzIGFscmVhZHkgaW4gXFwnY2RrLmNvbnRleHQuanNvblxcJyBieSBydW5uaW5nIFxcJ2NkayBzeW50aFxcJyBvbiBhIG1hY2hpbmUgd2l0aCBzdWZmaWNpZW50IEFXUyBjcmVkZW50aWFscyBhbmQgY29tbWl0dGluZyB0aGUgcmVzdWx0LiAnXG4gICAgICAgICAgICArIGBNaXNzaW5nIGNvbnRleHQga2V5czogJyR7bWlzc2luZ0tleXMuam9pbignLCAnKX0nYCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdHJ5TG9va3VwID0gdHJ1ZTtcbiAgICAgICAgaWYgKHByZXZpb3VzbHlNaXNzaW5nS2V5cyAmJiBlcXVhbFNldHMobWlzc2luZ0tleXNTZXQsIHByZXZpb3VzbHlNaXNzaW5nS2V5cykpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmlvSGVscGVyLm5vdGlmeShJTy5DREtfQVNTRU1CTFlfSTAyNDAubXNnKCdOb3QgbWFraW5nIHByb2dyZXNzIHRyeWluZyB0byByZXNvbHZlIGVudmlyb25tZW50YWwgY29udGV4dC4gR2l2aW5nIHVwLicsIHsgbWlzc2luZ0tleXMgfSkpO1xuICAgICAgICAgIHRyeUxvb2t1cCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJldmlvdXNseU1pc3NpbmdLZXlzID0gbWlzc2luZ0tleXNTZXQ7XG5cbiAgICAgICAgaWYgKHRyeUxvb2t1cCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19BU1NFTUJMWV9JMDI0MS5tc2coJ1NvbWUgY29udGV4dCBpbmZvcm1hdGlvbiBpcyBtaXNzaW5nLiBGZXRjaGluZy4uLicsIHsgbWlzc2luZ0tleXMgfSkpO1xuICAgICAgICAgIGNvbnN0IGNvbnRleHRVcGRhdGVzID0gYXdhaXQgY29udGV4dHByb3ZpZGVycy5wcm92aWRlQ29udGV4dFZhbHVlcyhcbiAgICAgICAgICAgIGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcsXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNlcnZpY2VzLnNka1Byb3ZpZGVyLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXJ2aWNlcy5wbHVnaW5Ib3N0LFxuICAgICAgICAgICAgdGhpcy5pb0hlbHBlcixcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgYXdhaXQgdGhpcy5pb0hlbHBlci5ub3RpZnkoSU8uQ0RLX0FTU0VNQkxZX0kwMDQyLm1zZygnV3JpdGluZyBjb250ZXh0IHVwZGF0ZXMuLi4nLCB7XG4gICAgICAgICAgICBjb250ZXh0OiBjb250ZXh0VXBkYXRlcyxcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgYXdhaXQgdGhpcy5jb250ZXh0LnVwZGF0ZShjb250ZXh0VXBkYXRlcyk7XG5cbiAgICAgICAgICAvLyBFeGVjdXRlIGFnYWluLiBVbmxvY2sgdGhlIGFzc2VtYmx5IGhlcmUgc28gdGhhdCB0aGUgcHJvZHVjZXIgY2FuIGFjcXVpcmVcbiAgICAgICAgICAvLyBhIHJlYWQgbG9jayBvbiB0aGUgZGlyZWN0b3J5IGFnYWluLlxuICAgICAgICAgIGF3YWl0IHJlYWRhYmxlQXNtLl91bmxvY2soKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVhZGFibGVBc207XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -38,17 +38,26 @@ async function execInChildProcess(commandAndArgs, options = {}) {
|
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
|
+
const stderr = new Array();
|
|
41
42
|
proc.stdout.pipe(split()).on('data', (line) => eventPublisher('data_stdout', line));
|
|
42
|
-
proc.stderr.pipe(split()).on('data', (line) =>
|
|
43
|
+
proc.stderr.pipe(split()).on('data', (line) => {
|
|
44
|
+
stderr.push(line);
|
|
45
|
+
return eventPublisher('data_stderr', line);
|
|
46
|
+
});
|
|
43
47
|
proc.on('error', fail);
|
|
44
48
|
proc.on('exit', code => {
|
|
45
49
|
if (code === 0) {
|
|
46
50
|
return ok();
|
|
47
51
|
}
|
|
48
52
|
else {
|
|
49
|
-
|
|
53
|
+
let cause;
|
|
54
|
+
if (stderr.length) {
|
|
55
|
+
cause = new Error(stderr.join('\n'));
|
|
56
|
+
cause.name = 'ExecutionError';
|
|
57
|
+
}
|
|
58
|
+
return fail(toolkit_error_1.AssemblyError.withCause(`${commandAndArgs}: Subprocess exited with error ${code}`, cause));
|
|
50
59
|
}
|
|
51
60
|
});
|
|
52
61
|
});
|
|
53
62
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV4ZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsZ0RBdURDO0FBdkVELG9EQUFvRDtBQUNwRCxpRUFBaUU7QUFDakUsZ0NBQWlDO0FBQ2pDLGtFQUErRDtBQVUvRDs7R0FFRztBQUNJLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxjQUFzQixFQUFFLFVBQXVCLEVBQUU7SUFDeEYsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNwQyw4Q0FBOEM7UUFDOUMsRUFBRTtRQUNGLG9FQUFvRTtRQUNwRSx3RUFBd0U7UUFDeEUsMERBQTBEO1FBQzFELEVBQUU7UUFDRiwwRkFBMEY7UUFDMUYsc0ZBQXNGO1FBQ3RGLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFO1lBQy9DLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ2pDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1NBQ2pCLENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFtQixPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDL0UsUUFBUSxJQUFJLEVBQUUsQ0FBQztnQkFDYixLQUFLLGFBQWE7b0JBQ2hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMzQixPQUFPO2dCQUNULEtBQUssYUFBYTtvQkFDaEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzNCLE9BQU87Z0JBQ1QsS0FBSyxNQUFNLENBQUM7Z0JBQ1osS0FBSyxPQUFPO29CQUNWLE9BQU87WUFDWCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBRW5DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsT0FBTyxjQUFjLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDckIsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNkLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEtBQXdCLENBQUM7Z0JBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNsQixLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNyQyxLQUFLLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO2dCQUNoQyxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDLDZCQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsY0FBYyxrQ0FBa0MsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN6RyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZF9wcm9jZXNzIGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuaW1wb3J0IHNwbGl0ID0gcmVxdWlyZSgnc3BsaXQyJyk7XG5pbXBvcnQgeyBBc3NlbWJseUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcblxudHlwZSBFdmVudFB1Ymxpc2hlciA9IChldmVudDogJ29wZW4nIHwgJ2RhdGFfc3Rkb3V0JyB8ICdkYXRhX3N0ZGVycicgfCAnY2xvc2UnLCBsaW5lOiBzdHJpbmcpID0+IHZvaWQ7XG5cbmludGVyZmFjZSBFeGVjT3B0aW9ucyB7XG4gIGV2ZW50UHVibGlzaGVyPzogRXZlbnRQdWJsaXNoZXI7XG4gIGVudj86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH07XG4gIGN3ZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBFeGVjdXRlIGEgY29tbWFuZCBhbmQgYXJncyBpbiBhIGNoaWxkIHByb2Nlc3NcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4ZWNJbkNoaWxkUHJvY2Vzcyhjb21tYW5kQW5kQXJnczogc3RyaW5nLCBvcHRpb25zOiBFeGVjT3B0aW9ucyA9IHt9KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigob2ssIGZhaWwpID0+IHtcbiAgICAvLyBXZSB1c2UgYSBzbGlnaHRseSBsb3dlci1sZXZlbCBpbnRlcmZhY2UgdG86XG4gICAgLy9cbiAgICAvLyAtIFBhc3MgYXJndW1lbnRzIGluIGFuIGFycmF5IGluc3RlYWQgb2YgYSBzdHJpbmcsIHRvIGdldCBhcm91bmQgYVxuICAgIC8vICAgbnVtYmVyIG9mIHF1b3RpbmcgaXNzdWVzIGludHJvZHVjZWQgYnkgdGhlIGludGVybWVkaWF0ZSBzaGVsbCBsYXllclxuICAgIC8vICAgKHdoaWNoIHdvdWxkIGJlIGRpZmZlcmVudCBiZXR3ZWVuIExpbnV4IGFuZCBXaW5kb3dzKS5cbiAgICAvL1xuICAgIC8vIC0gV2UgaGF2ZSB0byBjYXB0dXJlIGFueSBvdXRwdXQgdG8gc3Rkb3V0IGFuZCBzdGRlcnIgc3Agd2UgY2FuIHBhc3MgaXQgb24gdG8gdGhlIElvSG9zdFxuICAgIC8vICAgVG8gZW5zdXJlIG1lc3NhZ2VzIGdldCB0byB0aGUgdXNlciBmYXN0LCB3ZSB3aWxsIGVtaXQgZXZlcnkgZnVsbCBsaW5lIHdlIHJlY2VpdmUuXG4gICAgY29uc3QgcHJvYyA9IGNoaWxkX3Byb2Nlc3Muc3Bhd24oY29tbWFuZEFuZEFyZ3MsIHtcbiAgICAgIHN0ZGlvOiBbJ2lnbm9yZScsICdwaXBlJywgJ3BpcGUnXSxcbiAgICAgIGRldGFjaGVkOiBmYWxzZSxcbiAgICAgIHNoZWxsOiB0cnVlLFxuICAgICAgY3dkOiBvcHRpb25zLmN3ZCxcbiAgICAgIGVudjogb3B0aW9ucy5lbnYsXG4gICAgfSk7XG5cbiAgICBjb25zdCBldmVudFB1Ymxpc2hlcjogRXZlbnRQdWJsaXNoZXIgPSBvcHRpb25zLmV2ZW50UHVibGlzaGVyID8/ICgodHlwZSwgbGluZSkgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ2RhdGFfc3Rkb3V0JzpcbiAgICAgICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShsaW5lKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgJ2RhdGFfc3RkZXJyJzpcbiAgICAgICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShsaW5lKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICBjYXNlICdjbG9zZSc6XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RkZXJyID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgIHByb2Muc3Rkb3V0LnBpcGUoc3BsaXQoKSkub24oJ2RhdGEnLCAobGluZSkgPT4gZXZlbnRQdWJsaXNoZXIoJ2RhdGFfc3Rkb3V0JywgbGluZSkpO1xuICAgIHByb2Muc3RkZXJyLnBpcGUoc3BsaXQoKSkub24oJ2RhdGEnLCAobGluZSkgPT4ge1xuICAgICAgc3RkZXJyLnB1c2gobGluZSk7XG4gICAgICByZXR1cm4gZXZlbnRQdWJsaXNoZXIoJ2RhdGFfc3RkZXJyJywgbGluZSk7XG4gICAgfSk7XG5cbiAgICBwcm9jLm9uKCdlcnJvcicsIGZhaWwpO1xuXG4gICAgcHJvYy5vbignZXhpdCcsIGNvZGUgPT4ge1xuICAgICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG9rKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgY2F1c2U6IEVycm9yIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAoc3RkZXJyLmxlbmd0aCkge1xuICAgICAgICAgIGNhdXNlID0gbmV3IEVycm9yKHN0ZGVyci5qb2luKCdcXG4nKSk7XG4gICAgICAgICAgY2F1c2UubmFtZSA9ICdFeGVjdXRpb25FcnJvcic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhaWwoQXNzZW1ibHlFcnJvci53aXRoQ2F1c2UoYCR7Y29tbWFuZEFuZEFyZ3N9OiBTdWJwcm9jZXNzIGV4aXRlZCB3aXRoIGVycm9yICR7Y29kZX1gLCBjYXVzZSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbiJdfQ==
|
|
@@ -4,11 +4,24 @@ import type { ToolkitServices } from '../../../toolkit/private';
|
|
|
4
4
|
import type { IoHelper } from '../../io/private';
|
|
5
5
|
import type { IReadLock } from '../../rwlock';
|
|
6
6
|
import { Settings } from '../../settings';
|
|
7
|
+
import type { ConstructTreeNode } from '../../tree';
|
|
7
8
|
import type { Context, Env } from '../environment';
|
|
8
9
|
import type { AppSynthOptions, LoadAssemblyOptions } from '../source-builder';
|
|
10
|
+
export interface ExecutionEnvironmentOptions {
|
|
11
|
+
/**
|
|
12
|
+
* The directory the cloud assembly will be written to.
|
|
13
|
+
*
|
|
14
|
+
* @default - use a temporary directory as output directory, this will be cleaned up when this object is disposed
|
|
15
|
+
*/
|
|
16
|
+
readonly outdir?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Resolve and add environment variables for the app's default environment.
|
|
19
|
+
*
|
|
20
|
+
* This will make a call to STS, which is not always desirable e.g. if the env is explicitly specified.
|
|
21
|
+
*/
|
|
22
|
+
readonly resolveDefaultAppEnv: boolean;
|
|
23
|
+
}
|
|
9
24
|
export declare class ExecutionEnvironment implements AsyncDisposable {
|
|
10
|
-
readonly outdir: string;
|
|
11
|
-
readonly outDirIsTemporary: boolean;
|
|
12
25
|
/**
|
|
13
26
|
* Create an ExecutionEnvironment
|
|
14
27
|
*
|
|
@@ -21,9 +34,16 @@ export declare class ExecutionEnvironment implements AsyncDisposable {
|
|
|
21
34
|
* If `markSuccessful()` is called, the writer lock is converted to a reader lock
|
|
22
35
|
* and temporary directories will not be cleaned up anymore.
|
|
23
36
|
*/
|
|
24
|
-
static create(services: ToolkitServices,
|
|
25
|
-
|
|
26
|
-
|
|
37
|
+
static create(services: ToolkitServices, options: ExecutionEnvironmentOptions): Promise<ExecutionEnvironment>;
|
|
38
|
+
/**
|
|
39
|
+
* Should the outdir be disposed of.
|
|
40
|
+
*/
|
|
41
|
+
get shouldDisposeOutDir(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* The directory the cloud assembly will be written to.
|
|
44
|
+
*/
|
|
45
|
+
readonly outdir: string;
|
|
46
|
+
private readonly options;
|
|
27
47
|
private readonly ioHelper;
|
|
28
48
|
private readonly sdkProvider;
|
|
29
49
|
private readonly debugFn;
|
|
@@ -91,6 +111,10 @@ export declare class ExecutionEnvironment implements AsyncDisposable {
|
|
|
91
111
|
* `process.env` later.
|
|
92
112
|
*/
|
|
93
113
|
export declare function writeContextToEnv(env: Env, context: Context, completeness: 'add-process-env-later' | 'env-is-complete'): () => Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Checks if the framework supports context overflow
|
|
116
|
+
*/
|
|
117
|
+
export declare function frameworkSupportsContextOverflow(tree: ConstructTreeNode | undefined): boolean;
|
|
94
118
|
/**
|
|
95
119
|
* Safely create an assembly from a cloud assembly directory
|
|
96
120
|
*/
|