aws-cdk 2.1.0 → 2.5.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/LICENSE +1 -1
- package/NOTICE +1 -1
- package/README.md +5 -1
- package/build-info.json +2 -2
- package/lib/api/aws-auth/sdk-provider.js +11 -21
- package/lib/api/aws-auth/sdk.d.ts +2 -0
- package/lib/api/aws-auth/sdk.js +4 -1
- package/lib/api/bootstrap/bootstrap-template.yaml +3 -1
- package/lib/api/deploy-stack.js +7 -1
- package/lib/api/hotswap/code-build-projects.d.ts +3 -0
- package/lib/api/hotswap/code-build-projects.js +53 -0
- package/lib/api/hotswap/common.d.ts +17 -1
- package/lib/api/hotswap/common.js +30 -6
- package/lib/api/hotswap/ecs-services.js +4 -18
- package/lib/api/hotswap/evaluate-cloudformation-template.d.ts +1 -0
- package/lib/api/hotswap/evaluate-cloudformation-template.js +6 -1
- package/lib/api/hotswap/lambda-functions.d.ts +2 -2
- package/lib/api/hotswap/lambda-functions.js +171 -46
- package/lib/api/hotswap/s3-bucket-deployments.d.ts +8 -0
- package/lib/api/hotswap/s3-bucket-deployments.js +106 -0
- package/lib/api/hotswap/stepfunctions-state-machines.js +11 -7
- package/lib/api/hotswap-deployments.d.ts +0 -7
- package/lib/api/hotswap-deployments.js +86 -12
- package/lib/cdk-toolkit.js +50 -16
- package/lib/commands/docs.js +2 -2
- package/lib/context-providers/index.d.ts +10 -5
- package/lib/context-providers/index.js +32 -19
- package/lib/context-providers/provider.d.ts +1 -0
- package/lib/context-providers/provider.js +6 -1
- package/lib/init.js +2 -1
- package/lib/plugin.d.ts +20 -0
- package/lib/plugin.js +28 -1
- package/lib/util/asset-publishing.js +9 -2
- package/lib/util/npm.d.ts +1 -0
- package/lib/util/npm.js +21 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +22 -19
- package/npm-shrinkwrap.json +176 -43
- package/package.json +16 -16
- package/test/api/cloud-executable.test.js +3 -3
- package/test/api/hotswap/{lambda-hotswap-deployments.test.d.ts → code-build-projects-hotswap-deployments.test.d.ts} +0 -0
- package/test/api/hotswap/code-build-projects-hotswap-deployments.test.js +576 -0
- package/test/api/hotswap/hotswap-deployments.test.js +4 -2
- package/test/api/hotswap/hotswap-test-setup.d.ts +4 -1
- package/test/api/hotswap/hotswap-test-setup.js +13 -4
- package/test/api/hotswap/lambda-functions-hotswap-deployments.test.d.ts +1 -0
- package/test/api/hotswap/lambda-functions-hotswap-deployments.test.js +502 -0
- package/test/api/hotswap/lambda-versions-aliases-hotswap-deployments.test.d.ts +1 -0
- package/test/api/hotswap/lambda-versions-aliases-hotswap-deployments.test.js +197 -0
- package/test/api/hotswap/s3-bucket-hotswap-deployments.test.d.ts +1 -0
- package/test/api/hotswap/s3-bucket-hotswap-deployments.test.js +678 -0
- package/test/api/hotswap/state-machine-hotswap-deployments.test.js +12 -11
- package/test/cdk-toolkit.test.js +11 -4
- package/test/context-providers/generic.test.js +40 -7
- package/test/init.test.js +5 -4
- package/test/integ/cli/app/app.js +17 -2
- package/test/integ/cli/cli.integtest.js +13 -1
- package/test/integ/helpers/cdk.js +2 -1
- package/test/util/mock-sdk.d.ts +2 -0
- package/test/util/mock-sdk.js +5 -1
- package/test/version.test.js +45 -3
- package/test/api/hotswap/lambda-hotswap-deployments.test.js +0 -418
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const plugin_1 = require("../../lib/plugin");
|
|
3
4
|
const contextproviders = require("../../lib/context-providers");
|
|
4
5
|
const settings_1 = require("../../lib/settings");
|
|
5
6
|
const mock_sdk_1 = require("../util/mock-sdk");
|
|
@@ -7,10 +8,10 @@ const mockSDK = new mock_sdk_1.MockSdkProvider();
|
|
|
7
8
|
const TEST_PROVIDER = 'testprovider';
|
|
8
9
|
test('errors are reported into the context value', async () => {
|
|
9
10
|
// GIVEN
|
|
10
|
-
contextproviders.registerContextProvider(TEST_PROVIDER,
|
|
11
|
+
contextproviders.registerContextProvider(TEST_PROVIDER, {
|
|
11
12
|
async getValue(_) {
|
|
12
13
|
throw new Error('Something went wrong');
|
|
13
|
-
}
|
|
14
|
+
},
|
|
14
15
|
});
|
|
15
16
|
const context = new settings_1.Context();
|
|
16
17
|
// WHEN
|
|
@@ -24,7 +25,7 @@ test('errors are reported into the context value', async () => {
|
|
|
24
25
|
});
|
|
25
26
|
test('lookup role ARN is resolved', async () => {
|
|
26
27
|
// GIVEN
|
|
27
|
-
contextproviders.registerContextProvider(TEST_PROVIDER,
|
|
28
|
+
contextproviders.registerContextProvider(TEST_PROVIDER, {
|
|
28
29
|
async getValue(args) {
|
|
29
30
|
if (args.lookupRoleArn == null) {
|
|
30
31
|
throw new Error('No lookupRoleArn');
|
|
@@ -33,7 +34,7 @@ test('lookup role ARN is resolved', async () => {
|
|
|
33
34
|
throw new Error('Partition not resolved');
|
|
34
35
|
}
|
|
35
36
|
return 'some resolved value';
|
|
36
|
-
}
|
|
37
|
+
},
|
|
37
38
|
});
|
|
38
39
|
const context = new settings_1.Context();
|
|
39
40
|
// WHEN
|
|
@@ -53,10 +54,10 @@ test('lookup role ARN is resolved', async () => {
|
|
|
53
54
|
});
|
|
54
55
|
test('errors are marked transient', async () => {
|
|
55
56
|
// GIVEN
|
|
56
|
-
contextproviders.registerContextProvider(TEST_PROVIDER,
|
|
57
|
+
contextproviders.registerContextProvider(TEST_PROVIDER, {
|
|
57
58
|
async getValue(_) {
|
|
58
59
|
throw new Error('Something went wrong');
|
|
59
|
-
}
|
|
60
|
+
},
|
|
60
61
|
});
|
|
61
62
|
const context = new settings_1.Context();
|
|
62
63
|
// WHEN
|
|
@@ -66,4 +67,36 @@ test('errors are marked transient', async () => {
|
|
|
66
67
|
// THEN - error is marked transient
|
|
67
68
|
expect(context.get('asdf')[settings_1.TRANSIENT_CONTEXT_KEY]).toBeTruthy();
|
|
68
69
|
});
|
|
69
|
-
|
|
70
|
+
test('context provider can be registered using PluginHost', async () => {
|
|
71
|
+
let called = false;
|
|
72
|
+
// GIVEN
|
|
73
|
+
plugin_1.PluginHost.instance.registerContextProviderAlpha(TEST_PROVIDER, {
|
|
74
|
+
async getValue(_) {
|
|
75
|
+
called = true;
|
|
76
|
+
return '';
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
const context = new settings_1.Context();
|
|
80
|
+
// WHEN
|
|
81
|
+
await contextproviders.provideContextValues([
|
|
82
|
+
{ key: 'asdf', props: { account: '1234', region: 'us-east-1' }, provider: TEST_PROVIDER },
|
|
83
|
+
], context, mockSDK);
|
|
84
|
+
// THEN - error is marked transient
|
|
85
|
+
expect(called).toEqual(true);
|
|
86
|
+
});
|
|
87
|
+
test('context provider can be called without account/region', async () => {
|
|
88
|
+
// GIVEN
|
|
89
|
+
plugin_1.PluginHost.instance.registerContextProviderAlpha(TEST_PROVIDER, {
|
|
90
|
+
async getValue(_) {
|
|
91
|
+
return 'yay';
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
const context = new settings_1.Context();
|
|
95
|
+
// WHEN
|
|
96
|
+
await contextproviders.provideContextValues([
|
|
97
|
+
{ key: 'asdf', props: { banana: 'yellow' }, provider: TEST_PROVIDER },
|
|
98
|
+
], context, mockSDK);
|
|
99
|
+
// THEN - error is marked transient
|
|
100
|
+
expect(context.get('asdf')).toEqual('yay');
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2VuZXJpYy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkNBQThDO0FBQzlDLGdFQUFnRTtBQUNoRSxpREFBb0U7QUFDcEUsK0NBQW1EO0FBRW5ELE1BQU0sT0FBTyxHQUFHLElBQUksMEJBQWUsRUFBRSxDQUFDO0FBRXRDLE1BQU0sYUFBYSxHQUFRLGNBQWMsQ0FBQztBQUUxQyxJQUFJLENBQUMsNENBQTRDLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDNUQsUUFBUTtJQUNSLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLGFBQWEsRUFBRTtRQUN0RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQXVCO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMxQyxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBTyxFQUFFLENBQUM7SUFFOUIsT0FBTztJQUNQLE1BQU0sZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7UUFDMUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7S0FDMUYsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFckIsaUNBQWlDO0lBRWpDLGtFQUFrRTtJQUNsRSx5QkFBeUI7SUFDekIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDN0MsUUFBUTtJQUNSLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLGFBQWEs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QUksRUFBRTtJQUN2RSxRQUFRO0lBQ1IsbUJBQVUsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsYUFBYSxFQUFFO1FBQzlELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBdUI7WUFDcEMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBTyxFQUFFLENBQUM7SUFFOUIsT0FBTztJQUNQLE1BQU0sZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7UUFDMUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO0tBQzdFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXJCLG1DQUFtQztJQUNuQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsdWdpbkhvc3QgfSBmcm9tICcuLi8uLi9saWIvcGx1Z2luJztcbmltcG9ydCAqIGFzIGNvbnRleHRwcm92aWRlcnMgZnJvbSAnLi4vLi4vbGliL2NvbnRleHQtcHJvdmlkZXJzJztcbmltcG9ydCB7IENvbnRleHQsIFRSQU5TSUVOVF9DT05URVhUX0tFWSB9IGZyb20gJy4uLy4uL2xpYi9zZXR0aW5ncyc7XG5pbXBvcnQgeyBNb2NrU2RrUHJvdmlkZXIgfSBmcm9tICcuLi91dGlsL21vY2stc2RrJztcblxuY29uc3QgbW9ja1NESyA9IG5ldyBNb2NrU2RrUHJvdmlkZXIoKTtcblxuY29uc3QgVEVTVF9QUk9WSURFUjogYW55ID0gJ3Rlc3Rwcm92aWRlcic7XG5cbnRlc3QoJ2Vycm9ycyBhcmUgcmVwb3J0ZWQgaW50byB0aGUgY29udGV4dCB2YWx1ZScsIGFzeW5jICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgY29udGV4dHByb3ZpZGVycy5yZWdpc3RlckNvbnRleHRQcm92aWRlcihURVNUX1BST1ZJREVSLCB7XG4gICAgYXN5bmMgZ2V0VmFsdWUoXzoge1trZXk6IHN0cmluZ106IGFueX0pOiBQcm9taXNlPGFueT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb21ldGhpbmcgd2VudCB3cm9uZycpO1xuICAgIH0sXG4gIH0pO1xuICBjb25zdCBjb250ZXh0ID0gbmV3IENvbnRleHQoKTtcblxuICAvLyBXSEVOXG4gIGF3YWl0IGNvbnRleHRwcm92aWRlcnMucHJvdmlkZUNvbnRleHRWYWx1ZXMoW1xuICAgIHsga2V5OiAnYXNkZicsIHByb3BzOiB7IGFjY291bnQ6ICcxMjM0JywgcmVnaW9uOiAndXMtZWFzdC0xJyB9LCBwcm92aWRlcjogVEVTVF9QUk9WSURFUiB9LFxuICBdLCBjb250ZXh0LCBtb2NrU0RLKTtcblxuICAvLyBUSEVOIC0gZXJyb3IgaXMgbm93IGluIGNvbnRleHRcblxuICAvLyBOT1RFOiBlcnJvciBrZXkgaXMgaW5saW5lZCBoZXJlIGJlY2F1c2UgaXQncyBwYXJ0IG9mIHRoZSBDWC1BUElcbiAgLy8gY29tcGF0aWJpbGl0eSBzdXJmYWNlLlxuICBleHBlY3QoY29udGV4dC5nZXQoJ2FzZGYnKS4kcHJvdmlkZXJFcnJvcikudG9CZSgnU29tZXRoaW5nIHdlbnQgd3JvbmcnKTtcbn0pO1xuXG50ZXN0KCdsb29rdXAgcm9sZSBBUk4gaXMgcmVzb2x2ZWQnLCBhc3luYyAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIGNvbnRleHRwcm92aWRlcnMucmVnaXN0ZXJDb250ZXh0UHJvdmlkZXIoVEVTVF9QUk9WSURFUiwge1xuICAgIGFzeW5jIGdldFZhbHVlKGFyZ3M6IHtba2V5OiBzdHJpbmddOiBhbnl9KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIGlmIChhcmdzLmxvb2t1cFJvbGVBcm4gPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGxvb2t1cFJvbGVBcm4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFyZ3MubG9va3VwUm9sZUFybi5pbmNsdWRlcygnJHtBV1M6OlBhcnRpdGlvbn0nKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcnRpdGlvbiBub3QgcmVzb2x2ZWQnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdzb21lIHJlc29sdmVkIHZhbHVlJztcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgY29udGV4dCA9IG5ldyBDb250ZXh0KCk7XG5cbiAgLy8gV0hFTlxuICBhd2FpdCBjb250ZXh0cHJvdmlkZXJzLnByb3ZpZGVDb250ZXh0VmFsdWVzKFtcbiAgICB7XG4gICAgICBrZXk6ICdhc2RmJyxcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIGFjY291bnQ6ICcxMjM0JyxcbiAgICAgICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICAgICAgbG9va3VwUm9sZUFybjogJ2Fybjoke0FXUzo6UGFydGl0aW9ufTppYW06OjI4MDYxOTk0Nzc5MTpyb2xlL2Nkay1obmI2NTlmZHMtbG9va3VwLXJvbGUtMjgwNjE5OTQ3NzkxLXVzLWVhc3QtMScsXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IFRFU1RfUFJPVklERVIsXG4gICAgfSxcbiAgXSwgY29udGV4dCwgbW9ja1NESyk7XG5cbiAgLy8gVEhFTiAtIFZhbHVlIGdldHMgcmVzb2x2ZWRcbiAgZXhwZWN0KGNvbnRleHQuZ2V0KCdhc2RmJykpLnRvRXF1YWwoJ3NvbWUgcmVzb2x2ZWQgdmFsdWUnKTtcbn0pO1xuXG50ZXN0KCdlcnJvcnMgYXJlIG1hcmtlZCB0cmFuc2llbnQnLCBhc3luYyAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIGNvbnRleHRwcm92aWRlcnMucmVnaXN0ZXJDb250ZXh0UHJvdmlkZXIoVEVTVF9QUk9WSURFUiwge1xuICAgIGFzeW5jIGdldFZhbHVlKF86IHtba2V5OiBzdHJpbmddOiBhbnl9KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU29tZXRoaW5nIHdlbnQgd3JvbmcnKTtcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgY29udGV4dCA9IG5ldyBDb250ZXh0KCk7XG5cbiAgLy8gV0hFTlxuICBhd2FpdCBjb250ZXh0cHJvdmlkZXJzLnByb3ZpZGVDb250ZXh0VmFsdWVzKFtcbiAgICB7IGtleTogJ2FzZGYnLCBwcm9wczogeyBhY2NvdW50OiAnMTIzNCcsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSwgcHJvdmlkZXI6IFRFU1RfUFJPVklERVIgfSxcbiAgXSwgY29udGV4dCwgbW9ja1NESyk7XG5cbiAgLy8gVEhFTiAtIGVycm9yIGlzIG1hcmtlZCB0cmFuc2llbnRcbiAgZXhwZWN0KGNvbnRleHQuZ2V0KCdhc2RmJylbVFJBTlNJRU5UX0NPTlRFWFRfS0VZXSkudG9CZVRydXRoeSgpO1xufSk7XG5cbnRlc3QoJ2NvbnRleHQgcHJvdmlkZXIgY2FuIGJlIHJlZ2lzdGVyZWQgdXNpbmcgUGx1Z2luSG9zdCcsIGFzeW5jICgpID0+IHtcbiAgbGV0IGNhbGxlZCA9IGZhbHNlO1xuXG4gIC8vIEdJVkVOXG4gIFBsdWdpbkhvc3QuaW5zdGFuY2UucmVnaXN0ZXJDb250ZXh0UHJvdmlkZXJBbHBoYShURVNUX1BST1ZJREVSLCB7XG4gICAgYXN5bmMgZ2V0VmFsdWUoXzoge1trZXk6IHN0cmluZ106IGFueX0pOiBQcm9taXNlPGFueT4ge1xuICAgICAgY2FsbGVkID0gdHJ1ZTtcbiAgICAgIHJldHVybiAnJztcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgY29udGV4dCA9IG5ldyBDb250ZXh0KCk7XG5cbiAgLy8gV0hFTlxuICBhd2FpdCBjb250ZXh0cHJvdmlkZXJzLnByb3ZpZGVDb250ZXh0VmFsdWVzKFtcbiAgICB7IGtleTogJ2FzZGYnLCBwcm9wczogeyBhY2NvdW50OiAnMTIzNCcsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSwgcHJvdmlkZXI6IFRFU1RfUFJPVklERVIgfSxcbiAgXSwgY29udGV4dCwgbW9ja1NESyk7XG5cbiAgLy8gVEhFTiAtIGVycm9yIGlzIG1hcmtlZCB0cmFuc2llbnRcbiAgZXhwZWN0KGNhbGxlZCkudG9FcXVhbCh0cnVlKTtcbn0pO1xuXG50ZXN0KCdjb250ZXh0IHByb3ZpZGVyIGNhbiBiZSBjYWxsZWQgd2l0aG91dCBhY2NvdW50L3JlZ2lvbicsIGFzeW5jICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgUGx1Z2luSG9zdC5pbnN0YW5jZS5yZWdpc3RlckNvbnRleHRQcm92aWRlckFscGhhKFRFU1RfUFJPVklERVIsIHtcbiAgICBhc3luYyBnZXRWYWx1ZShfOiB7W2tleTogc3RyaW5nXTogYW55fSk6IFByb21pc2U8YW55PiB7XG4gICAgICByZXR1cm4gJ3lheSc7XG4gICAgfSxcbiAgfSk7XG4gIGNvbnN0IGNvbnRleHQgPSBuZXcgQ29udGV4dCgpO1xuXG4gIC8vIFdIRU5cbiAgYXdhaXQgY29udGV4dHByb3ZpZGVycy5wcm92aWRlQ29udGV4dFZhbHVlcyhbXG4gICAgeyBrZXk6ICdhc2RmJywgcHJvcHM6IHsgYmFuYW5hOiAneWVsbG93JyB9IGFzIGFueSwgcHJvdmlkZXI6IFRFU1RfUFJPVklERVIgfSxcbiAgXSwgY29udGV4dCwgbW9ja1NESyk7XG5cbiAgLy8gVEhFTiAtIGVycm9yIGlzIG1hcmtlZCB0cmFuc2llbnRcbiAgZXhwZWN0KGNvbnRleHQuZ2V0KCdhc2RmJykpLnRvRXF1YWwoJ3lheScpO1xufSk7XG4iXX0=
|
package/test/init.test.js
CHANGED
|
@@ -56,6 +56,7 @@ describe.each(['1', '2'])('v%s tests', (majorVersion) => {
|
|
|
56
56
|
for (const templ of await init_1.availableInitTemplates()) {
|
|
57
57
|
for (const lang of templ.languages) {
|
|
58
58
|
await withTempDir(async (tmpDir) => {
|
|
59
|
+
var _a;
|
|
59
60
|
await init_1.cliInit(templ.name, lang,
|
|
60
61
|
/* canUseNetwork */ false,
|
|
61
62
|
/* generateOnly */ true, tmpDir);
|
|
@@ -65,9 +66,9 @@ describe.each(['1', '2'])('v%s tests', (majorVersion) => {
|
|
|
65
66
|
}
|
|
66
67
|
const config = await fs.readJson(path.join(tmpDir, 'cdk.json'));
|
|
67
68
|
const context = config.context || {};
|
|
68
|
-
for (const [key,
|
|
69
|
-
|
|
70
|
-
expect(
|
|
69
|
+
for (const [key, actual] of Object.entries(context)) {
|
|
70
|
+
expect(key in cxapi.FUTURE_FLAGS || key in cxapi.NEW_PROJECT_DEFAULT_CONTEXT).toBeTruthy();
|
|
71
|
+
expect((_a = cxapi.FUTURE_FLAGS[key]) !== null && _a !== void 0 ? _a : cxapi.NEW_PROJECT_DEFAULT_CONTEXT[key]).toEqual(actual);
|
|
71
72
|
}
|
|
72
73
|
// assert that expired future flags are not part of the cdk.json
|
|
73
74
|
Object.keys(context).forEach(k => {
|
|
@@ -154,4 +155,4 @@ async function recursiveListFiles(rdir) {
|
|
|
154
155
|
}
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5pdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7R0FJRztBQUNILElBQUksZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO0FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNqQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCO0NBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBRUoseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qix5Q0FBeUM7QUFDekMsK0JBQStCO0FBQy9CLHNDQUE4RDtBQUU5RCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxFQUFFLEVBQUU7SUFDdEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLGdCQUFnQixHQUFHLEdBQUcsWUFBWSxNQUFNLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMvRCxNQUFNLGNBQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEYsd0VBQXdFO1FBQ3hFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzRCxNQUFNLGNBQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEYsd0VBQXdFO1FBQ3hFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzRCxNQUFNLGNBQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEYsd0VBQXdFO1FBQ3hFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVB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QUMsQ0FBQzthQUNwQjtTQUNGO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBpbml0IHRlbXBsYXRlcyByZWx5IG9uIHBhcnNpbmcgdGhlIGN1cnJlbnQgbWFqb3IgdmVyc2lvbiB0byBmaW5kIHRoZSBjb3JyZWN0IHRlbXBsYXRlIGRpcmVjdG9yeS5cbiAqIER1cmluZyB0ZXN0cywgdGhlIGN1cnJlbnQgcGFja2FnZSB2ZXJzaW9uIGlzICcwLjAuMCcsIHJhdGhlciB0aGFuIGEgc3BlY2lmaWMgdmVyc2lvbi5cbiAqIFRoZSBiZWxvdyBtb2NrcyB0aGUgdmVyc2lvbk51bWJlciB0byByZXR1cm4gdGhlIG1ham9yIHZlcnNpb24gKGFuZCBzbyBpbml0IHRlbXBsYXRlIHZlcnNpb24pIHNwZWNpZmllZC5cbiAqL1xubGV0IG1vY2tNYWpvclZlcnNpb24gPSAnMS4wLjAnO1xuamVzdC5tb2NrKCcuLi9saWIvdmVyc2lvbicsICgpID0+ICh7XG4gIHZlcnNpb25OdW1iZXI6ICgpID0+IG1vY2tNYWpvclZlcnNpb24sXG59KSk7XG5cbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IHsgYXZhaWxhYmxlSW5pdFRlbXBsYXRlcywgY2xpSW5pdCB9IGZyb20gJy4uL2xpYi9pbml0JztcblxuZGVzY3JpYmUuZWFjaChbJzEnLCAnMiddKSgndiVzIHRlc3RzJywgKG1ham9yVmVyc2lvbikgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBtb2NrTWFqb3JWZXJzaW9uID0gYCR7bWFqb3JWZXJzaW9ufS4wLjBgO1xuICAgIGplc3QucmVzZXRBbGxNb2NrcygpO1xuICB9KTtcblxuICBjbGlUZXN0KCdjcmVhdGUgYSBUeXBlU2NyaXB0IGxpYnJhcnkgcHJvamVjdCcsIGFzeW5jICh3b3JrRGlyKSA9PiB7XG4gICAgYXdhaXQgY2xpSW5pdCgnbGliJywgJ3R5cGVzY3JpcHQnLCBmYWxzZSwgdW5kZWZpbmVkIC8qIGNhblVzZU5ldHdvcmsgKi8sIHdvcmtEaXIpO1xuXG4gICAgLy8gQ2hlY2sgdGhhdCBwYWNrYWdlLmpzb24gYW5kIGxpYi8gZ290IGNyZWF0ZWQgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5XG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICdwYWNrYWdlLmpzb24nKSkpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJ2xpYicpKSkudG9CZVRydXRoeSgpO1xuICB9KTtcblxuICBjbGlUZXN0KCdjcmVhdGUgYSBUeXBlU2NyaXB0IGFwcCBwcm9qZWN0JywgYXN5bmMgKHdvcmtEaXIpID0+IHtcbiAgICBhd2FpdCBjbGlJbml0KCdhcHAnLCAndHlwZXNjcmlwdCcsIGZhbHNlLCB1bmRlZmluZWQgLyogY2FuVXNlTmV0d29yayAqLywgd29ya0Rpcik7XG5cbiAgICAvLyBDaGVjayB0aGF0IHBhY2thZ2UuanNvbiBhbmQgYmluLyBnb3QgY3JlYXRlZCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJ3BhY2thZ2UuanNvbicpKSkudG9CZVRydXRoeSgpO1xuICAgIGV4cGVjdChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih3b3JrRGlyLCAnYmluJykpKS50b0JlVHJ1dGh5KCk7XG4gIH0pO1xuXG4gIGNsaVRlc3QoJ2NyZWF0ZSBhIEphdmFTY3JpcHQgYXBwIHByb2plY3QnLCBhc3luYyAod29ya0RpcikgPT4ge1xuICAgIGF3YWl0IGNsaUluaXQoJ2FwcCcsICdqYXZhc2NyaXB0JywgZmFsc2UsIHVuZGVmaW5lZCAvKiBjYW5Vc2VOZXR3b3JrICovLCB3b3JrRGlyKTtcblxuICAgIC8vIENoZWNrIHRoYXQgcGFja2FnZS5qc29uIGFuZCBiaW4vIGdvdCBjcmVhdGVkIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuICAgIGV4cGVjdChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih3b3JrRGlyLCAncGFja2FnZS5qc29uJykpKS50b0JlVHJ1dGh5KCk7XG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICdiaW4nKSkpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJy5naXQnKSkpLnRvQmVUcnV0aHkoKTtcbiAgfSk7XG5cbiAgY2xpVGVzdCgnLS1nZW5lcmF0ZS1vbmx5IHNob3VsZCBza2lwIGdpdCBpbml0JywgYXN5bmMgKHdvcmtEaXIpID0+IHtcbiAgICBhd2FpdCBjbGlJbml0KCdhcHAnLCAnamF2YXNjcmlwdCcsIGZhbHNlLCB0cnVlLCB3b3JrRGlyKTtcblxuICAgIC8vIENoZWNrIHRoYXQgcGFja2FnZS5qc29uIGFuZCBiaW4vIGdvdCBjcmVhdGVkIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuICAgIGV4cGVjdChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih3b3JrRGlyLCAncGFja2FnZS5qc29uJykpKS50b0JlVHJ1dGh5KCk7XG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICdiaW4nKSkpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJy5naXQnKSkpLnRvQmVGYWxzeSgpO1xuICB9KTtcblxuICBjbGlUZXN0KCdnaXQgZGlyZWN0b3J5IGRvZXMgbm90IHRocm93IG9mZiB0aGUgaW5pdGVyIScsIGFzeW5jICh3b3JrRGlyKSA9PiB7XG4gICAgZnMubWtkaXJTeW5jKHBhdGguam9pbih3b3JrRGlyLCAnLmdpdCcpKTtcblxuICAgIGF3YWl0IGNsaUluaXQoJ2FwcCcsICd0eXBlc2NyaXB0JywgZmFsc2UsIHVuZGVmaW5lZCAvKiBjYW5Vc2VOZXR3b3JrICovLCB3b3JrRGlyKTtcblxuICAgIC8vIENoZWNrIHRoYXQgcGFja2FnZS5qc29uIGFuZCBiaW4vIGdvdCBjcmVhdGVkIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuICAgIGV4cGVjdChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih3b3JrRGlyLCAncGFja2FnZS5qc29uJykpKS50b0JlVHJ1dGh5KCk7XG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICdiaW4nKSkpLnRvQmVUcnV0aHkoKTtcbiAgfSk7XG5cbiAgdGVzdCgndmVyaWZ5IFwiZnV0dXJlIGZsYWdzXCIgYXJlIGFkZGVkIHRvIGNkay5qc29uJywgYXN5bmMgKCkgPT4ge1xuXG4gICAgZm9yIChjb25zdCB0ZW1wbCBvZiBhd2FpdCBhdmFpbGFibGVJbml0VGVtcGxhdGVzKCkpIHtcbiAgICAgIGZvciAoY29uc3QgbGFuZyBvZiB0ZW1wbC5sYW5ndWFnZXMpIHtcbiAgICAgICAgYXdhaXQgd2l0aFRlbXBEaXIoYXN5bmMgdG1wRGlyID0+IHtcbiAgICAgICAgICBhd2FpdCBjbGlJbml0KHRlbXBsLm5hbWUsIGxhbmcsXG4gICAgICAgICAgICAvKiBjYW5Vc2VOZXR3b3JrICovIGZhbHNlLFxuICAgICAgICAgICAgLyogZ2VuZXJhdGVPbmx5ICovIHRydWUsXG4gICAgICAgICAgICB0bXBEaXIpO1xuXG4gICAgICAgICAgLy8gb2sgaWYgdGVtcGxhdGUgZG9lc24ndCBoYXZlIGEgY2RrLmpzb24gZmlsZSAoZS5nLiB0aGUgXCJsaWJcIiB0ZW1wbGF0ZSlcbiAgICAgICAgICBpZiAoIWF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHRtcERpciwgJ2Nkay5qc29uJykpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgZnMucmVhZEpzb24ocGF0aC5qb2luKHRtcERpciwgJ2Nkay5qc29uJykpO1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSBjb25maWcuY29udGV4dCB8fCB7fTtcbiAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIGV4cGVjdGVkXSBvZiBPYmplY3QuZW50cmllcyhjb250ZXh0KSkge1xuICAgICAgICAgICAgY29uc3QgYWN0dWFsID0gY3hhcGkuRlVUVVJFX0ZMQUdTW2tleV07XG4gICAgICAgICAgICBleHBlY3QoYWN0dWFsKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBhc3NlcnQgdGhhdCBleHBpcmVkIGZ1dHVyZSBmbGFncyBhcmUgbm90IHBhcnQgb2YgdGhlIGNkay5qc29uXG4gICAgICAgICAgT2JqZWN0LmtleXMoY29udGV4dCkuZm9yRWFjaChrID0+IHtcbiAgICAgICAgICAgIGV4cGVjdChjeGFwaS5GVVRVUkVfRkxBR1NfRVhQSVJFRC5pbmNsdWRlcyhrKSkudG9FcXVhbChmYWxzZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgLy8gVGhpcyBpcyBhIGxvdCB0byB0ZXN0LCBhbmQgaXQgY2FuIGJlIHNsb3ctaXNoLCBlc3BlY2lhbGx5IHdoZW4gcmFuIHdpdGggb3RoZXIgdGVzdHMuXG4gIDMwXzAwMCk7XG59KTtcblxuZGVzY3JpYmUoJ2NvbnN0cnVjdHMgdmVyc2lvbicsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja01ham9yVmVyc2lvbiA9ICcyLjAuMCc7XG4gICAgamVzdC5yZXNldEFsbE1vY2tzKCk7XG4gIH0pO1xuXG4gIGNsaVRlc3QoJ2phdmEnLCBhc3luYyAod29ya0RpcikgPT4ge1xuICAgIGF3YWl0IGNsaUluaXQoJ2FwcCcsICdqYXZhJywgZmFsc2UsIHRydWUsIHdvcmtEaXIpO1xuXG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICdwb20ueG1sJykpKS50b0JlVHJ1dGh5KCk7XG5cbiAgICBjb25zdCBwb20gPSAoYXdhaXQgZnMucmVhZEZpbGUocGF0aC5qb2luKHdvcmtEaXIsICdwb20ueG1sJyksICd1dGY4JykpLnNwbGl0KC9cXHI/XFxuLyk7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHBvbS5tYXAobGluZSA9PiBsaW5lLm1hdGNoKC9cXDxjb25zdHJ1Y3RzXFwudmVyc2lvblxcPiguKilcXDxcXC9jb25zdHJ1Y3RzXFwudmVyc2lvblxcPi8pKVxuICAgICAgLmZpbHRlcihsID0+IGwpO1xuXG4gICAgZXhwZWN0KG1hdGNoZXMubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIG1hdGNoZXMuZm9yRWFjaChtID0+IHtcbiAgICAgIGNvbnN0IHZlcnNpb24gPSBtICYmIG1bMV07XG4gICAgICBleHBlY3QodmVyc2lvbikudG9NYXRjaCgvXFxbMTBcXC5bXFxkXStcXC5bXFxkXSssMTFcXC4wXFwuMFxcKS8pO1xuICAgIH0pO1xuICB9KTtcblxuICBjbGlUZXN0KCcuTkVUJywgYXN5bmMgKHdvcmtEaXIpID0+IHtcbiAgICBhd2FpdCBjbGlJbml0KCdhcHAnLCAnY3NoYXJwJywgZmFsc2UsIHRydWUsIHdvcmtEaXIpO1xuXG4gICAgY29uc3QgY3Nwcm9qRmlsZSA9IChhd2FpdCByZWN1cnNpdmVMaXN0RmlsZXMod29ya0RpcikpLmZpbHRlcihmID0+IGYuZW5kc1dpdGgoJy5jc3Byb2onKSlbMF07XG4gICAgZXhwZWN0KGNzcHJvakZpbGUpLnRvQmVEZWZpbmVkKCk7XG5cbiAgICBjb25zdCBjc3Byb2ogPSAoYXdhaXQgZnMucmVhZEZpbGUoY3Nwcm9qRmlsZSwgJ3V0ZjgnKSkuc3BsaXQoL1xccj9cXG4vKTtcblxuICAgIGV4cGVjdChjc3Byb2opLnRvQ29udGFpbkVxdWFsKGV4cGVjdC5zdHJpbmdNYXRjaGluZygvXFw8UGFja2FnZVJlZmVyZW5jZSBJbmNsdWRlPVwiQ29uc3RydWN0c1wiIFZlcnNpb249XCJcXFsxMFxcLi4qLDExXFwuLipcXClcIi8pKTtcbiAgfSk7XG5cbiAgY2xpVGVzdCgnUHl0aG9uJywgYXN5bmMgKHdvcmtEaXIpID0+IHtcbiAgICBhd2FpdCBjbGlJbml0KCdhcHAnLCAncHl0aG9uJywgZmFsc2UsIHRydWUsIHdvcmtEaXIpO1xuXG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICdyZXF1aXJlbWVudHMudHh0JykpKS50b0JlVHJ1dGh5KCk7XG4gICAgY29uc3Qgc2V0dXBQeSA9IChhd2FpdCBmcy5yZWFkRmlsZShwYXRoLmpvaW4od29ya0RpciwgJ3JlcXVpcmVtZW50cy50eHQnKSwgJ3V0ZjgnKSkuc3BsaXQoL1xccj9cXG4vKTtcbiAgICAvLyByZXR1cm4gUmVnRXhwTWF0Y2hBcnJheSAocmVzdWx0IG9mIGxpbmUubWF0Y2goKSkgZm9yIGV2ZXJ5IGxpbmVzIHRoYXQgbWF0Y2ggcmUuXG4gICAgY29uc3QgbWF0Y2hlcyA9IHNldHVwUHkubWFwKGxpbmUgPT4gbGluZS5tYXRjaCgvXmNvbnN0cnVjdHMoLiopLykpXG4gICAgICAuZmlsdGVyKGwgPT4gbCk7XG5cbiAgICBleHBlY3QobWF0Y2hlcy5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgbWF0Y2hlcy5mb3JFYWNoKG0gPT4ge1xuICAgICAgY29uc3QgdmVyc2lvbiA9IG0gJiYgbVsxXTtcbiAgICAgIGV4cGVjdCh2ZXJzaW9uKS50b01hdGNoKC8+PTEwXFwuXFxkK1xcLlxcZCw8MTFcXC4wXFwuMC8pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG50ZXN0KCd3aGVuIG5vIHZlcnNpb24gbnVtYmVyIGlzIHByZXNlbnQgKGUuZy4sIGxvY2FsIGRldmVsb3BtZW50KSwgdGhlIHYxIHRlbXBsYXRlcyBhcmUgY2hvc2VuIGJ5IGRlZmF1bHQnLCBhc3luYyAoKSA9PiB7XG4gIG1vY2tNYWpvclZlcnNpb24gPSAnMC4wLjAnO1xuICBqZXN0LnJlc2V0QWxsTW9ja3MoKTtcblxuICBleHBlY3QoKGF3YWl0IGF2YWlsYWJsZUluaXRUZW1wbGF0ZXMoKSkubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMCk7XG59KTtcblxuZnVuY3Rpb24gY2xpVGVzdChuYW1lOiBzdHJpbmcsIGhhbmRsZXI6IChkaXI6IHN0cmluZykgPT4gdm9pZCB8IFByb21pc2U8YW55Pik6IHZvaWQge1xuICB0ZXN0KG5hbWUsICgpID0+IHdpdGhUZW1wRGlyKGhhbmRsZXIpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2l0aFRlbXBEaXIoY2I6IChkaXI6IHN0cmluZykgPT4gdm9pZCB8IFByb21pc2U8YW55Pikge1xuICBjb25zdCB0bXBEaXIgPSBhd2FpdCBmcy5ta2R0ZW1wKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2F3cy1jZGstdGVzdCcpKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCBjYih0bXBEaXIpO1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IGZzLnJlbW92ZSh0bXBEaXIpO1xuICB9XG59XG5cbi8qKlxuICogTGlzdCBhbGwgZmlsZXMgdW5kZXJuZWF0aCBkaXJcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVjdXJzaXZlTGlzdEZpbGVzKHJkaXI6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgY29uc3QgcmV0ID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgYXdhaXQgcmVjdXJzZShyZGlyKTtcbiAgcmV0dXJuIHJldDtcblxuICBhc3luYyBmdW5jdGlvbiByZWN1cnNlKGRpcjogc3RyaW5nKSB7XG4gICAgZm9yIChjb25zdCBuYW1lIG9mIGF3YWl0IGZzLnJlYWRkaXIoZGlyKSkge1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4oZGlyLCBuYW1lKTtcbiAgICAgIGlmICgoYXdhaXQgZnMuc3RhdChmdWxsUGF0aCkpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgYXdhaXQgcmVjdXJzZShmdWxsUGF0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXQucHVzaChmdWxsUGF0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5pdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7Ozs7R0FJRztBQUNILElBQUksZ0JBQWdCLEdBQUcsT0FBTyxDQUFDO0FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNqQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCO0NBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBRUoseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qix5Q0FBeUM7QUFDekMsK0JBQStCO0FBQy9CLHNDQUE4RDtBQUU5RCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxFQUFFLEVBQUU7SUFDdEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLGdCQUFnQixHQUFHLEdBQUcsWUFBWSxNQUFNLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMvRCxNQUFNLGNBQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEYsd0VBQXdFO1FBQ3hFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzRCxNQUFNLGNBQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEYsd0VBQXdFO1FBQ3hFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzRCxNQUFNLGNBQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEYsd0VBQXdFO1FBQ3hFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVB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QUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQzNDLE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDcEI7U0FDRjtJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgaW5pdCB0ZW1wbGF0ZXMgcmVseSBvbiBwYXJzaW5nIHRoZSBjdXJyZW50IG1ham9yIHZlcnNpb24gdG8gZmluZCB0aGUgY29ycmVjdCB0ZW1wbGF0ZSBkaXJlY3RvcnkuXG4gKiBEdXJpbmcgdGVzdHMsIHRoZSBjdXJyZW50IHBhY2thZ2UgdmVyc2lvbiBpcyAnMC4wLjAnLCByYXRoZXIgdGhhbiBhIHNwZWNpZmljIHZlcnNpb24uXG4gKiBUaGUgYmVsb3cgbW9ja3MgdGhlIHZlcnNpb25OdW1iZXIgdG8gcmV0dXJuIHRoZSBtYWpvciB2ZXJzaW9uIChhbmQgc28gaW5pdCB0ZW1wbGF0ZSB2ZXJzaW9uKSBzcGVjaWZpZWQuXG4gKi9cbmxldCBtb2NrTWFqb3JWZXJzaW9uID0gJzEuMC4wJztcbmplc3QubW9jaygnLi4vbGliL3ZlcnNpb24nLCAoKSA9PiAoe1xuICB2ZXJzaW9uTnVtYmVyOiAoKSA9PiBtb2NrTWFqb3JWZXJzaW9uLFxufSkpO1xuXG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IGF2YWlsYWJsZUluaXRUZW1wbGF0ZXMsIGNsaUluaXQgfSBmcm9tICcuLi9saWIvaW5pdCc7XG5cbmRlc2NyaWJlLmVhY2goWycxJywgJzInXSkoJ3YlcyB0ZXN0cycsIChtYWpvclZlcnNpb24pID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja01ham9yVmVyc2lvbiA9IGAke21ham9yVmVyc2lvbn0uMC4wYDtcbiAgICBqZXN0LnJlc2V0QWxsTW9ja3MoKTtcbiAgfSk7XG5cbiAgY2xpVGVzdCgnY3JlYXRlIGEgVHlwZVNjcmlwdCBsaWJyYXJ5IHByb2plY3QnLCBhc3luYyAod29ya0RpcikgPT4ge1xuICAgIGF3YWl0IGNsaUluaXQoJ2xpYicsICd0eXBlc2NyaXB0JywgZmFsc2UsIHVuZGVmaW5lZCAvKiBjYW5Vc2VOZXR3b3JrICovLCB3b3JrRGlyKTtcblxuICAgIC8vIENoZWNrIHRoYXQgcGFja2FnZS5qc29uIGFuZCBsaWIvIGdvdCBjcmVhdGVkIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuICAgIGV4cGVjdChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih3b3JrRGlyLCAncGFja2FnZS5qc29uJykpKS50b0JlVHJ1dGh5KCk7XG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICdsaWInKSkpLnRvQmVUcnV0aHkoKTtcbiAgfSk7XG5cbiAgY2xpVGVzdCgnY3JlYXRlIGEgVHlwZVNjcmlwdCBhcHAgcHJvamVjdCcsIGFzeW5jICh3b3JrRGlyKSA9PiB7XG4gICAgYXdhaXQgY2xpSW5pdCgnYXBwJywgJ3R5cGVzY3JpcHQnLCBmYWxzZSwgdW5kZWZpbmVkIC8qIGNhblVzZU5ldHdvcmsgKi8sIHdvcmtEaXIpO1xuXG4gICAgLy8gQ2hlY2sgdGhhdCBwYWNrYWdlLmpzb24gYW5kIGJpbi8gZ290IGNyZWF0ZWQgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5XG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICdwYWNrYWdlLmpzb24nKSkpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJ2JpbicpKSkudG9CZVRydXRoeSgpO1xuICB9KTtcblxuICBjbGlUZXN0KCdjcmVhdGUgYSBKYXZhU2NyaXB0IGFwcCBwcm9qZWN0JywgYXN5bmMgKHdvcmtEaXIpID0+IHtcbiAgICBhd2FpdCBjbGlJbml0KCdhcHAnLCAnamF2YXNjcmlwdCcsIGZhbHNlLCB1bmRlZmluZWQgLyogY2FuVXNlTmV0d29yayAqLywgd29ya0Rpcik7XG5cbiAgICAvLyBDaGVjayB0aGF0IHBhY2thZ2UuanNvbiBhbmQgYmluLyBnb3QgY3JlYXRlZCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJ3BhY2thZ2UuanNvbicpKSkudG9CZVRydXRoeSgpO1xuICAgIGV4cGVjdChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih3b3JrRGlyLCAnYmluJykpKS50b0JlVHJ1dGh5KCk7XG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICcuZ2l0JykpKS50b0JlVHJ1dGh5KCk7XG4gIH0pO1xuXG4gIGNsaVRlc3QoJy0tZ2VuZXJhdGUtb25seSBzaG91bGQgc2tpcCBnaXQgaW5pdCcsIGFzeW5jICh3b3JrRGlyKSA9PiB7XG4gICAgYXdhaXQgY2xpSW5pdCgnYXBwJywgJ2phdmFzY3JpcHQnLCBmYWxzZSwgdHJ1ZSwgd29ya0Rpcik7XG5cbiAgICAvLyBDaGVjayB0aGF0IHBhY2thZ2UuanNvbiBhbmQgYmluLyBnb3QgY3JlYXRlZCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJ3BhY2thZ2UuanNvbicpKSkudG9CZVRydXRoeSgpO1xuICAgIGV4cGVjdChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih3b3JrRGlyLCAnYmluJykpKS50b0JlVHJ1dGh5KCk7XG4gICAgZXhwZWN0KGF3YWl0IGZzLnBhdGhFeGlzdHMocGF0aC5qb2luKHdvcmtEaXIsICcuZ2l0JykpKS50b0JlRmFsc3koKTtcbiAgfSk7XG5cbiAgY2xpVGVzdCgnZ2l0IGRpcmVjdG9yeSBkb2VzIG5vdCB0aHJvdyBvZmYgdGhlIGluaXRlciEnLCBhc3luYyAod29ya0RpcikgPT4ge1xuICAgIGZzLm1rZGlyU3luYyhwYXRoLmpvaW4od29ya0RpciwgJy5naXQnKSk7XG5cbiAgICBhd2FpdCBjbGlJbml0KCdhcHAnLCAndHlwZXNjcmlwdCcsIGZhbHNlLCB1bmRlZmluZWQgLyogY2FuVXNlTmV0d29yayAqLywgd29ya0Rpcik7XG5cbiAgICAvLyBDaGVjayB0aGF0IHBhY2thZ2UuanNvbiBhbmQgYmluLyBnb3QgY3JlYXRlZCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJ3BhY2thZ2UuanNvbicpKSkudG9CZVRydXRoeSgpO1xuICAgIGV4cGVjdChhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih3b3JrRGlyLCAnYmluJykpKS50b0JlVHJ1dGh5KCk7XG4gIH0pO1xuXG4gIHRlc3QoJ3ZlcmlmeSBcImZ1dHVyZSBmbGFnc1wiIGFyZSBhZGRlZCB0byBjZGsuanNvbicsIGFzeW5jICgpID0+IHtcblxuICAgIGZvciAoY29uc3QgdGVtcGwgb2YgYXdhaXQgYXZhaWxhYmxlSW5pdFRlbXBsYXRlcygpKSB7XG4gICAgICBmb3IgKGNvbnN0IGxhbmcgb2YgdGVtcGwubGFuZ3VhZ2VzKSB7XG4gICAgICAgIGF3YWl0IHdpdGhUZW1wRGlyKGFzeW5jIHRtcERpciA9PiB7XG4gICAgICAgICAgYXdhaXQgY2xpSW5pdCh0ZW1wbC5uYW1lLCBsYW5nLFxuICAgICAgICAgICAgLyogY2FuVXNlTmV0d29yayAqLyBmYWxzZSxcbiAgICAgICAgICAgIC8qIGdlbmVyYXRlT25seSAqLyB0cnVlLFxuICAgICAgICAgICAgdG1wRGlyKTtcblxuICAgICAgICAgIC8vIG9rIGlmIHRlbXBsYXRlIGRvZXNuJ3QgaGF2ZSBhIGNkay5qc29uIGZpbGUgKGUuZy4gdGhlIFwibGliXCIgdGVtcGxhdGUpXG4gICAgICAgICAgaWYgKCFhd2FpdCBmcy5wYXRoRXhpc3RzKHBhdGguam9pbih0bXBEaXIsICdjZGsuanNvbicpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGZzLnJlYWRKc29uKHBhdGguam9pbih0bXBEaXIsICdjZGsuanNvbicpKTtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gY29uZmlnLmNvbnRleHQgfHwge307XG4gICAgICAgICAgZm9yIChjb25zdCBba2V5LCBhY3R1YWxdIG9mIE9iamVjdC5lbnRyaWVzKGNvbnRleHQpKSB7XG4gICAgICAgICAgICBleHBlY3Qoa2V5IGluIGN4YXBpLkZVVFVSRV9GTEFHUyB8fCBrZXkgaW4gY3hhcGkuTkVXX1BST0pFQ1RfREVGQVVMVF9DT05URVhUKS50b0JlVHJ1dGh5KCk7XG5cbiAgICAgICAgICAgIGV4cGVjdChjeGFwaS5GVVRVUkVfRkxBR1Nba2V5XSA/PyBjeGFwaS5ORVdfUFJPSkVDVF9ERUZBVUxUX0NPTlRFWFRba2V5XSkudG9FcXVhbChhY3R1YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGFzc2VydCB0aGF0IGV4cGlyZWQgZnV0dXJlIGZsYWdzIGFyZSBub3QgcGFydCBvZiB0aGUgY2RrLmpzb25cbiAgICAgICAgICBPYmplY3Qua2V5cyhjb250ZXh0KS5mb3JFYWNoKGsgPT4ge1xuICAgICAgICAgICAgZXhwZWN0KGN4YXBpLkZVVFVSRV9GTEFHU19FWFBJUkVELmluY2x1ZGVzKGspKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICAvLyBUaGlzIGlzIGEgbG90IHRvIHRlc3QsIGFuZCBpdCBjYW4gYmUgc2xvdy1pc2gsIGVzcGVjaWFsbHkgd2hlbiByYW4gd2l0aCBvdGhlciB0ZXN0cy5cbiAgMzBfMDAwKTtcbn0pO1xuXG5kZXNjcmliZSgnY29uc3RydWN0cyB2ZXJzaW9uJywgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBtb2NrTWFqb3JWZXJzaW9uID0gJzIuMC4wJztcbiAgICBqZXN0LnJlc2V0QWxsTW9ja3MoKTtcbiAgfSk7XG5cbiAgY2xpVGVzdCgnamF2YScsIGFzeW5jICh3b3JrRGlyKSA9PiB7XG4gICAgYXdhaXQgY2xpSW5pdCgnYXBwJywgJ2phdmEnLCBmYWxzZSwgdHJ1ZSwgd29ya0Rpcik7XG5cbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJ3BvbS54bWwnKSkpLnRvQmVUcnV0aHkoKTtcblxuICAgIGNvbnN0IHBvbSA9IChhd2FpdCBmcy5yZWFkRmlsZShwYXRoLmpvaW4od29ya0RpciwgJ3BvbS54bWwnKSwgJ3V0ZjgnKSkuc3BsaXQoL1xccj9cXG4vKTtcbiAgICBjb25zdCBtYXRjaGVzID0gcG9tLm1hcChsaW5lID0+IGxpbmUubWF0Y2goL1xcPGNvbnN0cnVjdHNcXC52ZXJzaW9uXFw+KC4qKVxcPFxcL2NvbnN0cnVjdHNcXC52ZXJzaW9uXFw+LykpXG4gICAgICAuZmlsdGVyKGwgPT4gbCk7XG5cbiAgICBleHBlY3QobWF0Y2hlcy5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgbWF0Y2hlcy5mb3JFYWNoKG0gPT4ge1xuICAgICAgY29uc3QgdmVyc2lvbiA9IG0gJiYgbVsxXTtcbiAgICAgIGV4cGVjdCh2ZXJzaW9uKS50b01hdGNoKC9cXFsxMFxcLltcXGRdK1xcLltcXGRdKywxMVxcLjBcXC4wXFwpLyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGNsaVRlc3QoJy5ORVQnLCBhc3luYyAod29ya0RpcikgPT4ge1xuICAgIGF3YWl0IGNsaUluaXQoJ2FwcCcsICdjc2hhcnAnLCBmYWxzZSwgdHJ1ZSwgd29ya0Rpcik7XG5cbiAgICBjb25zdCBjc3Byb2pGaWxlID0gKGF3YWl0IHJlY3Vyc2l2ZUxpc3RGaWxlcyh3b3JrRGlyKSkuZmlsdGVyKGYgPT4gZi5lbmRzV2l0aCgnLmNzcHJvaicpKVswXTtcbiAgICBleHBlY3QoY3Nwcm9qRmlsZSkudG9CZURlZmluZWQoKTtcblxuICAgIGNvbnN0IGNzcHJvaiA9IChhd2FpdCBmcy5yZWFkRmlsZShjc3Byb2pGaWxlLCAndXRmOCcpKS5zcGxpdCgvXFxyP1xcbi8pO1xuXG4gICAgZXhwZWN0KGNzcHJvaikudG9Db250YWluRXF1YWwoZXhwZWN0LnN0cmluZ01hdGNoaW5nKC9cXDxQYWNrYWdlUmVmZXJlbmNlIEluY2x1ZGU9XCJDb25zdHJ1Y3RzXCIgVmVyc2lvbj1cIlxcWzEwXFwuLiosMTFcXC4uKlxcKVwiLykpO1xuICB9KTtcblxuICBjbGlUZXN0KCdQeXRob24nLCBhc3luYyAod29ya0RpcikgPT4ge1xuICAgIGF3YWl0IGNsaUluaXQoJ2FwcCcsICdweXRob24nLCBmYWxzZSwgdHJ1ZSwgd29ya0Rpcik7XG5cbiAgICBleHBlY3QoYXdhaXQgZnMucGF0aEV4aXN0cyhwYXRoLmpvaW4od29ya0RpciwgJ3JlcXVpcmVtZW50cy50eHQnKSkpLnRvQmVUcnV0aHkoKTtcbiAgICBjb25zdCBzZXR1cFB5ID0gKGF3YWl0IGZzLnJlYWRGaWxlKHBhdGguam9pbih3b3JrRGlyLCAncmVxdWlyZW1lbnRzLnR4dCcpLCAndXRmOCcpKS5zcGxpdCgvXFxyP1xcbi8pO1xuICAgIC8vIHJldHVybiBSZWdFeHBNYXRjaEFycmF5IChyZXN1bHQgb2YgbGluZS5tYXRjaCgpKSBmb3IgZXZlcnkgbGluZXMgdGhhdCBtYXRjaCByZS5cbiAgICBjb25zdCBtYXRjaGVzID0gc2V0dXBQeS5tYXAobGluZSA9PiBsaW5lLm1hdGNoKC9eY29uc3RydWN0cyguKikvKSlcbiAgICAgIC5maWx0ZXIobCA9PiBsKTtcblxuICAgIGV4cGVjdChtYXRjaGVzLmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgICBtYXRjaGVzLmZvckVhY2gobSA9PiB7XG4gICAgICBjb25zdCB2ZXJzaW9uID0gbSAmJiBtWzFdO1xuICAgICAgZXhwZWN0KHZlcnNpb24pLnRvTWF0Y2goLz49MTBcXC5cXGQrXFwuXFxkLDwxMVxcLjBcXC4wLyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbnRlc3QoJ3doZW4gbm8gdmVyc2lvbiBudW1iZXIgaXMgcHJlc2VudCAoZS5nLiwgbG9jYWwgZGV2ZWxvcG1lbnQpLCB0aGUgdjEgdGVtcGxhdGVzIGFyZSBjaG9zZW4gYnkgZGVmYXVsdCcsIGFzeW5jICgpID0+IHtcbiAgbW9ja01ham9yVmVyc2lvbiA9ICcwLjAuMCc7XG4gIGplc3QucmVzZXRBbGxNb2NrcygpO1xuXG4gIGV4cGVjdCgoYXdhaXQgYXZhaWxhYmxlSW5pdFRlbXBsYXRlcygpKS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigwKTtcbn0pO1xuXG5mdW5jdGlvbiBjbGlUZXN0KG5hbWU6IHN0cmluZywgaGFuZGxlcjogKGRpcjogc3RyaW5nKSA9PiB2b2lkIHwgUHJvbWlzZTxhbnk+KTogdm9pZCB7XG4gIHRlc3QobmFtZSwgKCkgPT4gd2l0aFRlbXBEaXIoaGFuZGxlcikpO1xufVxuXG5hc3luYyBmdW5jdGlvbiB3aXRoVGVtcERpcihjYjogKGRpcjogc3RyaW5nKSA9PiB2b2lkIHwgUHJvbWlzZTxhbnk+KSB7XG4gIGNvbnN0IHRtcERpciA9IGF3YWl0IGZzLm1rZHRlbXAocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnYXdzLWNkay10ZXN0JykpO1xuICB0cnkge1xuICAgIGF3YWl0IGNiKHRtcERpcik7XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgZnMucmVtb3ZlKHRtcERpcik7XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0IGFsbCBmaWxlcyB1bmRlcm5lYXRoIGRpclxuICovXG5hc3luYyBmdW5jdGlvbiByZWN1cnNpdmVMaXN0RmlsZXMocmRpcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICBjb25zdCByZXQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICBhd2FpdCByZWN1cnNlKHJkaXIpO1xuICByZXR1cm4gcmV0O1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHJlY3Vyc2UoZGlyOiBzdHJpbmcpIHtcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgYXdhaXQgZnMucmVhZGRpcihkaXIpKSB7XG4gICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihkaXIsIG5hbWUpO1xuICAgICAgaWYgKChhd2FpdCBmcy5zdGF0KGZ1bGxQYXRoKSkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICBhd2FpdCByZWN1cnNlKGZ1bGxQYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldC5wdXNoKGZ1bGxQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,6 +4,7 @@ var constructs = require('constructs');
|
|
|
4
4
|
if (process.env.PACKAGE_LAYOUT_VERSION === '1') {
|
|
5
5
|
var cdk = require('@aws-cdk/core');
|
|
6
6
|
var ec2 = require('@aws-cdk/aws-ec2');
|
|
7
|
+
var s3 = require('@aws-cdk/aws-s3');
|
|
7
8
|
var ssm = require('@aws-cdk/aws-ssm');
|
|
8
9
|
var iam = require('@aws-cdk/aws-iam');
|
|
9
10
|
var sns = require('@aws-cdk/aws-sns');
|
|
@@ -13,6 +14,7 @@ if (process.env.PACKAGE_LAYOUT_VERSION === '1') {
|
|
|
13
14
|
var cdk = require('aws-cdk-lib');
|
|
14
15
|
var {
|
|
15
16
|
aws_ec2: ec2,
|
|
17
|
+
aws_s3: s3,
|
|
16
18
|
aws_ssm: ssm,
|
|
17
19
|
aws_iam: iam,
|
|
18
20
|
aws_sns: sns,
|
|
@@ -109,7 +111,7 @@ class OutputsStack extends cdk.Stack {
|
|
|
109
111
|
constructor(parent, id, props) {
|
|
110
112
|
super(parent, id, props);
|
|
111
113
|
|
|
112
|
-
const topic =
|
|
114
|
+
const topic = new sns.Topic(this, 'MyOutput', {
|
|
113
115
|
topicName: `${cdk.Stack.of(this).stackName}MyTopic`
|
|
114
116
|
});
|
|
115
117
|
|
|
@@ -299,6 +301,17 @@ class StageUsingContext extends cdk.Stage {
|
|
|
299
301
|
}
|
|
300
302
|
}
|
|
301
303
|
|
|
304
|
+
class BuiltinLambdaStack extends cdk.Stack {
|
|
305
|
+
constructor(parent, id, props) {
|
|
306
|
+
super(parent, id, props);
|
|
307
|
+
|
|
308
|
+
new s3.Bucket(this, 'Bucket', {
|
|
309
|
+
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
310
|
+
autoDeleteObjects: true, // will deploy a Nodejs lambda backed custom resource
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
302
315
|
const app = new cdk.App();
|
|
303
316
|
|
|
304
317
|
const defaultEnv = {
|
|
@@ -339,7 +352,7 @@ switch (stackSet) {
|
|
|
339
352
|
if (process.env.ENABLE_VPC_TESTING === 'DEFINE')
|
|
340
353
|
new DefineVpcStack(app, `${stackPrefix}-define-vpc`, { env });
|
|
341
354
|
if (process.env.ENABLE_VPC_TESTING === 'IMPORT')
|
|
342
|
-
|
|
355
|
+
new ImportVpcStack(app, `${stackPrefix}-import-vpc`, { env });
|
|
343
356
|
}
|
|
344
357
|
|
|
345
358
|
new ConditionalResourceStack(app, `${stackPrefix}-conditional-resource`)
|
|
@@ -352,6 +365,8 @@ switch (stackSet) {
|
|
|
352
365
|
});
|
|
353
366
|
|
|
354
367
|
new SomeStage(app, `${stackPrefix}-stage`);
|
|
368
|
+
|
|
369
|
+
new BuiltinLambdaStack(app, `${stackPrefix}-builtin-lambda-function`);
|
|
355
370
|
break;
|
|
356
371
|
|
|
357
372
|
case 'stage-using-context':
|