@aws-cdk/toolkit-lib 0.3.6 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/api-extractor.json +1 -1
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/actions/deploy/index.d.ts +106 -34
- package/lib/actions/deploy/index.js +2 -17
- package/lib/actions/deploy/private/deploy-options.d.ts +1 -90
- package/lib/actions/deploy/private/deploy-options.js +1 -1
- package/lib/actions/deploy/private/helpers.d.ts +1 -6
- package/lib/actions/deploy/private/helpers.js +1 -9
- package/lib/actions/destroy/index.d.ts +4 -2
- package/lib/actions/destroy/index.js +1 -1
- package/lib/actions/diff/index.d.ts +4 -10
- package/lib/actions/diff/index.js +1 -1
- package/lib/actions/diff/private/helpers.d.ts +2 -1
- package/lib/actions/diff/private/helpers.js +6 -6
- package/lib/actions/drift/index.d.ts +50 -0
- package/lib/actions/drift/index.js +3 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +2 -1
- package/lib/actions/rollback/index.d.ts +3 -1
- package/lib/actions/rollback/index.js +1 -1
- package/lib/actions/watch/index.d.ts +7 -1
- package/lib/actions/watch/index.js +1 -1
- package/lib/api/aws-auth/awscli-compatible.d.ts +5 -5
- package/lib/api/aws-auth/awscli-compatible.js +13 -17
- package/lib/api/aws-auth/base-credentials.d.ts +109 -0
- package/lib/api/aws-auth/base-credentials.js +79 -0
- package/lib/api/aws-auth/credential-plugins.js +3 -3
- package/lib/api/aws-auth/index.d.ts +1 -0
- package/lib/api/aws-auth/index.js +2 -1
- package/lib/api/aws-auth/private/index.d.ts +0 -1
- package/lib/api/aws-auth/private/index.js +1 -2
- package/lib/api/aws-auth/sdk-provider.d.ts +23 -27
- package/lib/api/aws-auth/sdk-provider.js +19 -16
- package/lib/api/aws-auth/sdk.d.ts +9 -5
- package/lib/api/aws-auth/sdk.js +6 -3
- package/lib/api/aws-auth/types.d.ts +7 -87
- package/lib/api/aws-auth/types.js +1 -74
- package/lib/api/bootstrap/bootstrap-environment.d.ts +1 -1
- package/lib/api/bootstrap/bootstrap-environment.js +8 -9
- package/lib/api/bootstrap/deploy-bootstrap.d.ts +1 -1
- package/lib/api/bootstrap/deploy-bootstrap.js +4 -5
- package/lib/api/cloud-assembly/context-store.d.ts +78 -0
- package/lib/api/cloud-assembly/context-store.js +160 -0
- package/lib/api/cloud-assembly/environment.d.ts +19 -16
- package/lib/api/cloud-assembly/environment.js +21 -12
- package/lib/api/cloud-assembly/index.d.ts +1 -0
- package/lib/api/cloud-assembly/index.js +2 -1
- package/lib/api/cloud-assembly/private/context-aware-source.d.ts +3 -10
- package/lib/api/cloud-assembly/private/context-aware-source.js +6 -11
- package/lib/api/cloud-assembly/private/exec.d.ts +1 -1
- package/lib/api/cloud-assembly/private/exec.js +2 -5
- package/lib/api/cloud-assembly/private/helpers.d.ts +9 -0
- package/lib/api/cloud-assembly/private/helpers.js +44 -0
- package/lib/api/cloud-assembly/private/index.d.ts +0 -1
- package/lib/api/cloud-assembly/private/index.js +1 -2
- package/lib/api/cloud-assembly/private/prepare-source.d.ts +27 -16
- package/lib/api/cloud-assembly/private/prepare-source.js +49 -46
- package/lib/api/cloud-assembly/private/stack-assembly.d.ts +1 -1
- package/lib/api/cloud-assembly/private/stack-assembly.js +1 -1
- package/lib/api/cloud-assembly/source-builder.d.ts +142 -14
- package/lib/api/cloud-assembly/source-builder.js +307 -1
- package/lib/api/cloud-assembly/stack-assembly.js +3 -4
- package/lib/api/cloudformation/template-body-parameter.d.ts +1 -1
- package/lib/api/cloudformation/template-body-parameter.js +4 -5
- package/lib/api/context.d.ts +1 -1
- package/lib/api/context.js +1 -1
- package/lib/api/deployments/asset-publishing.js +15 -16
- package/lib/api/deployments/assets.d.ts +1 -1
- package/lib/api/deployments/assets.js +4 -5
- package/lib/api/deployments/cfn-api.d.ts +1 -1
- package/lib/api/deployments/cfn-api.js +14 -15
- package/lib/api/deployments/checks.d.ts +1 -1
- package/lib/api/deployments/checks.js +3 -4
- package/lib/api/deployments/deploy-stack.d.ts +14 -3
- package/lib/api/deployments/deploy-stack.js +73 -49
- package/lib/api/deployments/deployments.d.ts +13 -2
- package/lib/api/deployments/deployments.js +10 -9
- package/lib/api/deployments/index.d.ts +0 -1
- package/lib/api/deployments/index.js +1 -2
- package/lib/api/diff/diff-formatter.d.ts +3 -9
- package/lib/api/diff/diff-formatter.js +7 -14
- package/lib/api/drift/drift-formatter.d.ts +81 -0
- package/lib/api/drift/drift-formatter.js +201 -0
- package/lib/api/drift/drift.d.ts +12 -0
- package/lib/api/drift/drift.js +63 -0
- package/lib/api/drift/index.d.ts +2 -0
- package/lib/api/{io/private/testing → drift}/index.js +3 -3
- package/lib/api/environment/environment-access.d.ts +1 -1
- package/lib/api/environment/environment-access.js +3 -4
- package/lib/api/environment/environment-resources.d.ts +1 -1
- package/lib/api/environment/environment-resources.js +5 -6
- package/lib/api/garbage-collection/garbage-collector.js +44 -35
- package/lib/api/garbage-collection/progress-printer.d.ts +1 -1
- package/lib/api/garbage-collection/progress-printer.js +3 -4
- package/lib/api/garbage-collection/stack-refresh.d.ts +1 -1
- package/lib/api/garbage-collection/stack-refresh.js +3 -4
- package/lib/api/hotswap/common.d.ts +9 -4
- package/lib/api/hotswap/common.js +11 -4
- package/lib/api/hotswap/ecs-services.js +2 -2
- package/lib/api/hotswap/hotswap-deployments.js +3 -3
- package/lib/api/index.d.ts +1 -1
- package/lib/api/index.js +2 -2
- package/lib/api/io/io-host.d.ts +15 -1
- package/lib/api/io/io-host.js +1 -1
- package/lib/api/io/io-message.d.ts +7 -10
- package/lib/api/io/io-message.js +1 -1
- package/lib/api/io/private/index.d.ts +0 -1
- package/lib/api/io/private/index.js +1 -2
- package/lib/api/io/private/io-default-messages.d.ts +14 -10
- package/lib/api/io/private/io-default-messages.js +30 -28
- package/lib/api/io/private/io-helper.d.ts +9 -4
- package/lib/api/io/private/io-helper.js +24 -14
- package/lib/api/io/private/message-maker.d.ts +5 -1
- package/lib/api/io/private/message-maker.js +21 -1
- package/lib/api/io/private/messages.d.ts +20 -15
- package/lib/api/io/private/messages.js +57 -54
- package/lib/api/io/private/span.d.ts +18 -11
- package/lib/api/io/private/span.js +60 -42
- package/lib/api/io/toolkit-action.d.ts +1 -1
- package/lib/api/io/toolkit-action.js +1 -1
- package/lib/api/logs-monitor/find-cloudwatch-logs.js +2 -3
- package/lib/api/notices/cached-data-source.d.ts +3 -3
- package/lib/api/notices/cached-data-source.js +9 -8
- package/lib/api/notices/filter.d.ts +4 -4
- package/lib/api/notices/filter.js +27 -25
- package/lib/api/notices/notices.d.ts +18 -6
- package/lib/api/notices/notices.js +5 -7
- package/lib/api/notices/web-data-source.d.ts +30 -3
- package/lib/api/notices/web-data-source.js +37 -10
- package/lib/api/plugin/plugin.d.ts +1 -1
- package/lib/api/plugin/plugin.js +3 -3
- package/lib/api/refactoring/cloudformation.d.ts +7 -5
- package/lib/api/refactoring/cloudformation.js +1 -1
- package/lib/api/refactoring/digest.d.ts +2 -2
- package/lib/api/refactoring/digest.js +25 -61
- package/lib/api/refactoring/graph.d.ts +15 -0
- package/lib/api/refactoring/graph.js +108 -0
- package/lib/api/refactoring/index.js +12 -6
- package/lib/api/resource-import/importer.d.ts +2 -1
- package/lib/api/resource-import/importer.js +28 -28
- package/lib/api/resource-import/migrator.js +4 -4
- package/lib/api/toolkit-info.d.ts +1 -1
- package/lib/api/toolkit-info.js +3 -4
- package/lib/api/tree.d.ts +1 -1
- package/lib/api/tree.js +3 -3
- package/lib/api/work-graph/work-graph.d.ts +1 -1
- package/lib/api/work-graph/work-graph.js +4 -5
- package/lib/context-providers/index.d.ts +1 -2
- package/lib/context-providers/index.js +6 -4
- package/lib/index_bg.wasm +0 -0
- package/lib/payloads/context.d.ts +0 -1
- package/lib/payloads/context.js +1 -1
- package/lib/payloads/deploy.d.ts +2 -2
- package/lib/payloads/deploy.js +1 -1
- package/lib/payloads/destroy.d.ts +3 -3
- package/lib/payloads/destroy.js +1 -1
- package/lib/payloads/diff.d.ts +46 -5
- package/lib/payloads/diff.js +1 -1
- package/lib/payloads/drift.d.ts +12 -0
- package/lib/payloads/drift.js +3 -0
- package/lib/payloads/gc.d.ts +12 -0
- package/lib/payloads/gc.js +3 -0
- package/lib/payloads/import.d.ts +45 -0
- package/lib/payloads/import.js +3 -0
- package/lib/payloads/index.d.ts +4 -1
- package/lib/payloads/index.js +5 -2
- package/lib/payloads/rollback.d.ts +2 -2
- package/lib/payloads/rollback.js +1 -1
- package/lib/payloads/{sdk-trace.d.ts → sdk.d.ts} +10 -0
- package/lib/payloads/sdk.js +3 -0
- package/lib/payloads/stack-activity.d.ts +2 -2
- package/lib/payloads/stack-activity.js +1 -1
- package/lib/payloads/types.d.ts +21 -0
- package/lib/payloads/types.js +1 -1
- package/lib/toolkit/non-interactive-io-host.js +2 -2
- package/lib/toolkit/private/index.d.ts +2 -1
- package/lib/toolkit/private/index.js +1 -1
- package/lib/toolkit/toolkit.d.ts +14 -7
- package/lib/toolkit/toolkit.js +180 -103
- package/lib/util/objects.d.ts +4 -0
- package/lib/util/objects.js +8 -1
- package/package.json +18 -21
- package/lib/actions/import/index.d.ts +0 -21
- package/lib/actions/import/index.js +0 -3
- package/lib/api/aws-auth/proxy-agent.d.ts +0 -13
- package/lib/api/aws-auth/proxy-agent.js +0 -54
- package/lib/api/cloud-assembly/private/source-builder.d.ts +0 -52
- package/lib/api/cloud-assembly/private/source-builder.js +0 -262
- package/lib/api/deployments/deployment-method.d.ts +0 -24
- package/lib/api/deployments/deployment-method.js +0 -3
- package/lib/api/io/private/testing/fake-io-host.d.ts +0 -28
- package/lib/api/io/private/testing/fake-io-host.js +0 -41
- package/lib/api/io/private/testing/index.d.ts +0 -2
- package/lib/api/io/private/testing/test-io-host.d.ts +0 -27
- package/lib/api/io/private/testing/test-io-host.js +0 -61
- package/lib/api/require-approval.d.ts +0 -17
- package/lib/api/require-approval.js +0 -22
- package/lib/api/shared-private.d.ts +0 -8
- package/lib/api/shared-private.js +0 -32
- package/lib/payloads/sdk-trace.js +0 -3
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoryContext = exports.FileContext = exports.CdkAppMultiContext = void 0;
|
|
4
|
+
exports.persistableContext = persistableContext;
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const os = require("os");
|
|
7
|
+
const path = require("path");
|
|
8
|
+
const toolkit_error_1 = require("../../toolkit/toolkit-error");
|
|
9
|
+
const context_1 = require("../context");
|
|
10
|
+
const settings_1 = require("../settings");
|
|
11
|
+
/**
|
|
12
|
+
* A context store as used by a CDK app.
|
|
13
|
+
*
|
|
14
|
+
* Will source context from the following locations:
|
|
15
|
+
*
|
|
16
|
+
* - Any context values passed to the constructor (expected
|
|
17
|
+
* to come from the command line, treated as ephemeral).
|
|
18
|
+
* - The `context` key in `<appDirectory>/cdk.json`.
|
|
19
|
+
* - `<appDirectory>/cdk.context.json`.
|
|
20
|
+
* - The `context` key in `~/.cdk.json`.
|
|
21
|
+
*
|
|
22
|
+
* Updates will be written to `<appDirectory>/cdk.context.json`.
|
|
23
|
+
*/
|
|
24
|
+
class CdkAppMultiContext {
|
|
25
|
+
commandlineContext;
|
|
26
|
+
_context;
|
|
27
|
+
configContextFile;
|
|
28
|
+
projectContextFile;
|
|
29
|
+
userConfigFile;
|
|
30
|
+
constructor(appDirectory, commandlineContext) {
|
|
31
|
+
this.commandlineContext = commandlineContext;
|
|
32
|
+
this.configContextFile = path.join(appDirectory, 'cdk.json');
|
|
33
|
+
this.projectContextFile = path.join(appDirectory, 'cdk.context.json');
|
|
34
|
+
this.userConfigFile = path.join(os.homedir() ?? '/tmp', '.cdk.json');
|
|
35
|
+
}
|
|
36
|
+
async read() {
|
|
37
|
+
const context = await this.asyncInitialize();
|
|
38
|
+
return context.all;
|
|
39
|
+
}
|
|
40
|
+
async update(updates) {
|
|
41
|
+
const context = await this.asyncInitialize();
|
|
42
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
43
|
+
context.set(key, value);
|
|
44
|
+
}
|
|
45
|
+
await context.save(this.projectContextFile);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Initialize the `Context` object
|
|
49
|
+
*
|
|
50
|
+
* This code all exists to reuse code that's already there, to minimize
|
|
51
|
+
* the chances of the new code behaving subtly differently than the
|
|
52
|
+
* old code.
|
|
53
|
+
*
|
|
54
|
+
* It might be most of this is unnecessary now...
|
|
55
|
+
*/
|
|
56
|
+
async asyncInitialize() {
|
|
57
|
+
if (this._context) {
|
|
58
|
+
return this._context;
|
|
59
|
+
}
|
|
60
|
+
const contextSources = [
|
|
61
|
+
{ bag: new settings_1.Settings(this.commandlineContext, true) },
|
|
62
|
+
{
|
|
63
|
+
fileName: this.configContextFile,
|
|
64
|
+
bag: (await settingsFromFile(this.configContextFile)).subSettings(['context']).makeReadOnly(),
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
fileName: this.projectContextFile,
|
|
68
|
+
bag: await settingsFromFile(this.projectContextFile),
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
fileName: this.userConfigFile,
|
|
72
|
+
bag: (await settingsFromFile(this.userConfigFile)).subSettings(['context']).makeReadOnly(),
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
this._context = new context_1.Context(...contextSources);
|
|
76
|
+
return this._context;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.CdkAppMultiContext = CdkAppMultiContext;
|
|
80
|
+
/**
|
|
81
|
+
* On-disk context stored in a single file
|
|
82
|
+
*/
|
|
83
|
+
class FileContext {
|
|
84
|
+
fileName;
|
|
85
|
+
_cache;
|
|
86
|
+
constructor(fileName) {
|
|
87
|
+
this.fileName = fileName;
|
|
88
|
+
}
|
|
89
|
+
async read() {
|
|
90
|
+
if (!this._cache) {
|
|
91
|
+
try {
|
|
92
|
+
this._cache = JSON.parse(await fs_1.promises.readFile(this.fileName, 'utf-8'));
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
if (e.code === 'ENOENT') {
|
|
96
|
+
this._cache = {};
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
throw e;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (!this._cache || typeof this._cache !== 'object') {
|
|
104
|
+
throw new toolkit_error_1.ToolkitError(`${this.fileName} must contain an object, got: ${JSON.stringify(this._cache)}`);
|
|
105
|
+
}
|
|
106
|
+
return this._cache;
|
|
107
|
+
}
|
|
108
|
+
async update(updates) {
|
|
109
|
+
this._cache = {
|
|
110
|
+
...await this.read(),
|
|
111
|
+
...updates,
|
|
112
|
+
};
|
|
113
|
+
const persistable = persistableContext(this._cache);
|
|
114
|
+
await fs_1.promises.writeFile(this.fileName, JSON.stringify(persistable, undefined, 2), 'utf-8');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.FileContext = FileContext;
|
|
118
|
+
/**
|
|
119
|
+
* An in-memory context store
|
|
120
|
+
*/
|
|
121
|
+
class MemoryContext {
|
|
122
|
+
context = {};
|
|
123
|
+
constructor(initialContext) {
|
|
124
|
+
this.context = { ...initialContext };
|
|
125
|
+
}
|
|
126
|
+
read() {
|
|
127
|
+
return Promise.resolve(this.context);
|
|
128
|
+
}
|
|
129
|
+
update(updates) {
|
|
130
|
+
this.context = {
|
|
131
|
+
...this.context,
|
|
132
|
+
...updates,
|
|
133
|
+
};
|
|
134
|
+
return Promise.resolve();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.MemoryContext = MemoryContext;
|
|
138
|
+
/**
|
|
139
|
+
* Filter the given context, leaving only entries that should be persisted
|
|
140
|
+
*/
|
|
141
|
+
function persistableContext(context) {
|
|
142
|
+
return Object.fromEntries(Object.entries(context)
|
|
143
|
+
.filter(([_, value]) => !isTransientValue(value)));
|
|
144
|
+
}
|
|
145
|
+
function isTransientValue(x) {
|
|
146
|
+
return x && typeof x === 'object' && x[settings_1.TRANSIENT_CONTEXT_KEY];
|
|
147
|
+
}
|
|
148
|
+
async function settingsFromFile(filename) {
|
|
149
|
+
try {
|
|
150
|
+
const data = JSON.parse(await fs_1.promises.readFile(filename, 'utf-8'));
|
|
151
|
+
return new settings_1.Settings(data);
|
|
152
|
+
}
|
|
153
|
+
catch (e) {
|
|
154
|
+
if (e.code === 'ENOENT') {
|
|
155
|
+
return new settings_1.Settings();
|
|
156
|
+
}
|
|
157
|
+
throw e;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMktBLGdEQUdDO0FBOUtELDJCQUFvQztBQUNwQyx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLCtEQUEyRDtBQUUzRCx3Q0FBcUM7QUFDckMsMENBQThEO0FBMEI5RDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLGtCQUFrQjtJQU1zQjtJQUwzQyxRQUFRLENBQVc7SUFDbkIsaUJBQWlCLENBQVM7SUFDMUIsa0JBQWtCLENBQVM7SUFDM0IsY0FBYyxDQUFTO0lBRS9CLFlBQVksWUFBb0IsRUFBbUIsa0JBQTRDO1FBQTVDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBMEI7UUFDN0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFnQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENB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LElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLElBQUksbUJBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUN4QixDQUFDO1FBQ0QsTUFBTSxDQUFDLENBQUM7SUFDVixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uLy4uL3Rvb2xraXQvdG9vbGtpdC1lcnJvcic7XG5pbXBvcnQgdHlwZSB7IENvbnRleHRCYWcgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IFNldHRpbmdzLCBUUkFOU0lFTlRfQ09OVEVYVF9LRVkgfSBmcm9tICcuLi9zZXR0aW5ncyc7XG5cbi8qKlxuICogQSBzdG9yYWdlIHBsYWNlIGZvciBjb250ZXh0IHVzZWQgaW4gc3ludGhlc2lzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRleHRTdG9yZSB7XG4gIC8qKlxuICAgKiBSZWFkIHRoZSBjb250ZXh0IGZyb20gdGhlIGNvbnRleHQgc3RvcmUsIHBsdXMgYWxsIHVwZGF0ZXMgd2UgaGF2ZSBtYWRlIHNvIGZhci5cbiAgICovXG4gIHJlYWQoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG5cbiAgLyoqXG4gICAqIENvbW1pdCB0aGUgZ2l2ZW4gdXBkYXRlcyB0byB0aGUgY29udGV4dCBzdG9yZVxuICAgKlxuICAgKiBgdW5kZWZpbmVkYCBpcyB1c2VkIGFzIGEgdmFsdWUgdG8gaW5kaWNhdGUgdGhhdCB0aGUga2V5IG5lZWRzIHRvIGJlIHJlbW92ZWQuXG4gICAqXG4gICAqIElmIGEgY29udGV4dCB2YWx1ZSBpcyBhbiBvYmplY3QgdGhhdCBpcyBhIHN1cGVyc2V0IG9mIGB7IFtUUkFOU0lFTlRfQ09OVEVYVF9LRVldOiB0cnVlIH1gXG4gICAqIGl0ICpzaG91bGQqIGJlIHJldHVybmVkIGJ5IHN1YnNlcXVlbnQgYHJlYWQoKWAgb3BlcmF0aW9ucyBvbiB0aGlzIG9iamVjdCxcbiAgICogYnV0IGl0ICpzaG91bGQgbm90KiBiZSBwZXJzaXN0ZWQgdG8gcGVybWFuZW50IHN0b3JhZ2UuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoZSBgcGVyc2lzdGFibGVDb250ZXh0KClgIGZ1bmN0aW9uIHRvIGZpbHRlciBhIGNvbnRleHQgZGljdGlvbmFyeVxuICAgKiBkb3duIHRvIHJlbW92ZSBhbGwgdmFsdWVzIHRoYXQgc2hvdWxkbid0IGJlIHBlcnNpc3RlZC5cbiAgICovXG4gIHVwZGF0ZSh1cGRhdGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQSBjb250ZXh0IHN0b3JlIGFzIHVzZWQgYnkgYSBDREsgYXBwLlxuICpcbiAqIFdpbGwgc291cmNlIGNvbnRleHQgZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczpcbiAqXG4gKiAtIEFueSBjb250ZXh0IHZhbHVlcyBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yIChleHBlY3RlZFxuICogICB0byBjb21lIGZyb20gdGhlIGNvbW1hbmQgbGluZSwgdHJlYXRlZCBhcyBlcGhlbWVyYWwpLlxuICogLSBUaGUgYGNvbnRleHRgIGtleSBpbiBgPGFwcERpcmVjdG9yeT4vY2RrLmpzb25gLlxuICogLSBgPGFwcERpcmVjdG9yeT4vY2RrLmNvbnRleHQuanNvbmAuXG4gKiAtIFRoZSBgY29udGV4dGAga2V5IGluIGB+Ly5jZGsuanNvbmAuXG4gKlxuICogVXBkYXRlcyB3aWxsIGJlIHdyaXR0ZW4gdG8gYDxhcHBEaXJlY3Rvcnk+L2Nkay5jb250ZXh0Lmpzb25gLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrQXBwTXVsdGlDb250ZXh0IGltcGxlbWVudHMgSUNvbnRleHRTdG9yZSB7XG4gIHByaXZhdGUgX2NvbnRleHQ/OiBDb250ZXh0O1xuICBwcml2YXRlIGNvbmZpZ0NvbnRleHRGaWxlOiBzdHJpbmc7XG4gIHByaXZhdGUgcHJvamVjdENvbnRleHRGaWxlOiBzdHJpbmc7XG4gIHByaXZhdGUgdXNlckNvbmZpZ0ZpbGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihhcHBEaXJlY3Rvcnk6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kbGluZUNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIHRoaXMuY29uZmlnQ29udGV4dEZpbGUgPSBwYXRoLmpvaW4oYXBwRGlyZWN0b3J5LCAnY2RrLmpzb24nKTtcbiAgICB0aGlzLnByb2plY3RDb250ZXh0RmlsZSA9IHBhdGguam9pbihhcHBEaXJlY3RvcnksICdjZGsuY29udGV4dC5qc29uJyk7XG4gICAgdGhpcy51c2VyQ29uZmlnRmlsZSA9IHBhdGguam9pbihvcy5ob21lZGlyKCkgPz8gJy90bXAnLCAnLmNkay5qc29uJyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVhZCgpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgY29uc3QgY29udGV4dCA9IGF3YWl0IHRoaXMuYXN5bmNJbml0aWFsaXplKCk7XG4gICAgcmV0dXJuIGNvbnRleHQuYWxsO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHVwZGF0ZSh1cGRhdGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSBhd2FpdCB0aGlzLmFzeW5jSW5pdGlhbGl6ZSgpO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHVwZGF0ZXMpKSB7XG4gICAgICBjb250ZXh0LnNldChrZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICBhd2FpdCBjb250ZXh0LnNhdmUodGhpcy5wcm9qZWN0Q29udGV4dEZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGBDb250ZXh0YCBvYmplY3RcbiAgICpcbiAgICogVGhpcyBjb2RlIGFsbCBleGlzdHMgdG8gcmV1c2UgY29kZSB0aGF0J3MgYWxyZWFkeSB0aGVyZSwgdG8gbWluaW1pemVcbiAgICogdGhlIGNoYW5jZXMgb2YgdGhlIG5ldyBjb2RlIGJlaGF2aW5nIHN1YnRseSBkaWZmZXJlbnRseSB0aGFuIHRoZVxuICAgKiBvbGQgY29kZS5cbiAgICpcbiAgICogSXQgbWlnaHQgYmUgbW9zdCBvZiB0aGlzIGlzIHVubmVjZXNzYXJ5IG5vdy4uLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBhc3luY0luaXRpYWxpemUoKTogUHJvbWlzZTxDb250ZXh0PiB7XG4gICAgaWYgKHRoaXMuX2NvbnRleHQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0O1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHRTb3VyY2VzOiBDb250ZXh0QmFnW10gPSBbXG4gICAgICB7IGJhZzogbmV3IFNldHRpbmdzKHRoaXMuY29tbWFuZGxpbmVDb250ZXh0LCB0cnVlKSB9LFxuICAgICAge1xuICAgICAgICBmaWxlTmFtZTogdGhpcy5jb25maWdDb250ZXh0RmlsZSxcbiAgICAgICAgYmFnOiAoYXdhaXQgc2V0dGluZ3NGcm9tRmlsZSh0aGlzLmNvbmZpZ0NvbnRleHRGaWxlKSkuc3ViU2V0dGluZ3MoWydjb250ZXh0J10pLm1ha2VSZWFkT25seSgpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsZU5hbWU6IHRoaXMucHJvamVjdENvbnRleHRGaWxlLFxuICAgICAgICBiYWc6IGF3YWl0IHNldHRpbmdzRnJvbUZpbGUodGhpcy5wcm9qZWN0Q29udGV4dEZpbGUpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsZU5hbWU6IHRoaXMudXNlckNvbmZpZ0ZpbGUsXG4gICAgICAgIGJhZzogKGF3YWl0IHNldHRpbmdzRnJvbUZpbGUodGhpcy51c2VyQ29uZmlnRmlsZSkpLnN1YlNldHRpbmdzKFsnY29udGV4dCddKS5tYWtlUmVhZE9ubHkoKSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHRoaXMuX2NvbnRleHQgPSBuZXcgQ29udGV4dCguLi5jb250ZXh0U291cmNlcyk7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XG4gIH1cbn1cblxuLyoqXG4gKiBPbi1kaXNrIGNvbnRleHQgc3RvcmVkIGluIGEgc2luZ2xlIGZpbGVcbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGVDb250ZXh0IGltcGxlbWVudHMgSUNvbnRleHRTdG9yZSB7XG4gIHByaXZhdGUgX2NhY2hlPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nKSB7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVhZCgpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgaWYgKCF0aGlzLl9jYWNoZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5fY2FjaGUgPSBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKHRoaXMuZmlsZU5hbWUsICd1dGYtOCcpKTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICBpZiAoZS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgICAgIHRoaXMuX2NhY2hlID0ge307XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMuX2NhY2hlIHx8IHR5cGVvZiB0aGlzLl9jYWNoZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoYCR7dGhpcy5maWxlTmFtZX0gbXVzdCBjb250YWluIGFuIG9iamVjdCwgZ290OiAke0pTT04uc3RyaW5naWZ5KHRoaXMuX2NhY2hlKX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHVwZGF0ZSh1cGRhdGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2NhY2hlID0ge1xuICAgICAgLi4uYXdhaXQgdGhpcy5yZWFkKCksXG4gICAgICAuLi51cGRhdGVzLFxuICAgIH07XG5cbiAgICBjb25zdCBwZXJzaXN0YWJsZSA9IHBlcnNpc3RhYmxlQ29udGV4dCh0aGlzLl9jYWNoZSk7XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKHRoaXMuZmlsZU5hbWUsIEpTT04uc3RyaW5naWZ5KHBlcnNpc3RhYmxlLCB1bmRlZmluZWQsIDIpLCAndXRmLTgnKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGluLW1lbW9yeSBjb250ZXh0IHN0b3JlXG4gKi9cbmV4cG9ydCBjbGFzcyBNZW1vcnlDb250ZXh0IGltcGxlbWVudHMgSUNvbnRleHRTdG9yZSB7XG4gIHByaXZhdGUgY29udGV4dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihpbml0aWFsQ29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gICAgdGhpcy5jb250ZXh0ID0geyAuLi5pbml0aWFsQ29udGV4dCB9O1xuICB9XG5cbiAgcHVibGljIHJlYWQoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5jb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUodXBkYXRlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLmNvbnRleHQsXG4gICAgICAuLi51cGRhdGVzLFxuICAgIH07XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBGaWx0ZXIgdGhlIGdpdmVuIGNvbnRleHQsIGxlYXZpbmcgb25seSBlbnRyaWVzIHRoYXQgc2hvdWxkIGJlIHBlcnNpc3RlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGVyc2lzdGFibGVDb250ZXh0KGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGNvbnRleHQpXG4gICAgLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gIWlzVHJhbnNpZW50VmFsdWUodmFsdWUpKSk7XG59XG5cbmZ1bmN0aW9uIGlzVHJhbnNpZW50VmFsdWUoeDogdW5rbm93bikge1xuICByZXR1cm4geCAmJiB0eXBlb2YgeCA9PT0gJ29iamVjdCcgJiYgKHggYXMgYW55KVtUUkFOU0lFTlRfQ09OVEVYVF9LRVldO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzZXR0aW5nc0Zyb21GaWxlKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPFNldHRpbmdzPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUoZmlsZW5hbWUsICd1dGYtOCcpKTtcbiAgICByZXR1cm4gbmV3IFNldHRpbmdzKGRhdGEpO1xuICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICBpZiAoZS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgcmV0dXJuIG5ldyBTZXR0aW5ncygpO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { SdkProvider } from '../aws-auth/private';
|
|
2
2
|
import type { Settings } from '../settings';
|
|
3
|
+
export type Env = {
|
|
4
|
+
[key: string]: string | undefined;
|
|
5
|
+
};
|
|
6
|
+
export type Context = {
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
};
|
|
3
9
|
/**
|
|
4
10
|
* If we don't have region/account defined in context, we fall back to the default SDK behavior
|
|
5
11
|
* where region is retrieved from ~/.aws/config and account is based on default credentials provider
|
|
@@ -12,24 +18,21 @@ import type { Settings } from '../settings';
|
|
|
12
18
|
*
|
|
13
19
|
* @param context The context key/value bash.
|
|
14
20
|
*/
|
|
15
|
-
export declare function prepareDefaultEnvironment(aws: SdkProvider, debugFn: (msg: string) => Promise<void>): Promise<
|
|
16
|
-
[key: string]: string;
|
|
17
|
-
}>;
|
|
21
|
+
export declare function prepareDefaultEnvironment(aws: SdkProvider, debugFn: (msg: string) => Promise<void>): Promise<Env>;
|
|
18
22
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
23
|
+
* Create context from settings.
|
|
24
|
+
*
|
|
25
|
+
* Mutates the `context` object and returns it.
|
|
22
26
|
*/
|
|
23
|
-
export declare function
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}, limit: number): number;
|
|
27
|
+
export declare function contextFromSettings(settings: Settings): Record<string, unknown>;
|
|
28
|
+
/**
|
|
29
|
+
* Convert settings to context/environment variables
|
|
30
|
+
*/
|
|
31
|
+
export declare function synthParametersFromSettings(settings: Settings): {
|
|
32
|
+
context: Context;
|
|
33
|
+
env: Env;
|
|
34
|
+
};
|
|
35
|
+
export declare function spaceAvailableForContext(env: Env, limit: number): number;
|
|
33
36
|
/**
|
|
34
37
|
* Guess the executable from the command-line argument
|
|
35
38
|
*
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.prepareDefaultEnvironment = prepareDefaultEnvironment;
|
|
4
|
-
exports.
|
|
4
|
+
exports.contextFromSettings = contextFromSettings;
|
|
5
|
+
exports.synthParametersFromSettings = synthParametersFromSettings;
|
|
5
6
|
exports.spaceAvailableForContext = spaceAvailableForContext;
|
|
6
7
|
exports.guessExecutable = guessExecutable;
|
|
7
8
|
const path = require("path");
|
|
8
|
-
const util_1 = require("util");
|
|
9
9
|
const cxapi = require("@aws-cdk/cx-api");
|
|
10
10
|
const fs = require("fs-extra");
|
|
11
11
|
/**
|
|
@@ -32,15 +32,12 @@ async function prepareDefaultEnvironment(aws, debugFn) {
|
|
|
32
32
|
return env;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
35
|
+
* Create context from settings.
|
|
36
|
+
*
|
|
37
|
+
* Mutates the `context` object and returns it.
|
|
38
38
|
*/
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
if (debugMode) {
|
|
42
|
-
env.CDK_DEBUG = 'true';
|
|
43
|
-
}
|
|
39
|
+
function contextFromSettings(settings) {
|
|
40
|
+
const context = {};
|
|
44
41
|
const pathMetadata = settings.get(['pathMetadata']) ?? true;
|
|
45
42
|
if (pathMetadata) {
|
|
46
43
|
context[cxapi.PATH_METADATA_ENABLE_CONTEXT] = true;
|
|
@@ -63,9 +60,21 @@ async function prepareContext(settings, context, env, debugFn) {
|
|
|
63
60
|
}
|
|
64
61
|
const bundlingStacks = settings.get(['bundlingStacks']) ?? ['**'];
|
|
65
62
|
context[cxapi.BUNDLING_STACKS] = bundlingStacks;
|
|
66
|
-
await debugFn((0, util_1.format)('context:', context));
|
|
67
63
|
return context;
|
|
68
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Convert settings to context/environment variables
|
|
67
|
+
*/
|
|
68
|
+
function synthParametersFromSettings(settings) {
|
|
69
|
+
return {
|
|
70
|
+
context: contextFromSettings(settings),
|
|
71
|
+
env: {
|
|
72
|
+
// An environment variable instead of a context variable, so it can also
|
|
73
|
+
// be accessed in framework code where we don't have access to a construct tree.
|
|
74
|
+
...settings.get(['debug']) ? { CDK_DEBUG: 'true' } : {},
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
69
78
|
function spaceAvailableForContext(env, limit) {
|
|
70
79
|
const size = (value) => value != null ? Buffer.byteLength(value) : 0;
|
|
71
80
|
const usedSpace = Object.entries(env)
|
|
@@ -124,4 +133,4 @@ function executeNode(scriptFile) {
|
|
|
124
133
|
function appToArray(app) {
|
|
125
134
|
return typeof app === 'string' ? app.split(' ') : app;
|
|
126
135
|
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw4REFnQkM7QUFPRCx3Q0F5Q0M7QUFFRCw0REFRQztBQVlELDBDQXNCQztBQS9IRCw2QkFBNkI7QUFDN0IsK0JBQThCO0FBQzlCLHlDQUF5QztBQUN6QywrQkFBK0I7QUFJL0I7Ozs7Ozs7Ozs7O0dBV0c7QUFDSSxLQUFLLFVBQVUseUJBQXlCLENBQzdDLEdBQWdCLEVBQ2hCLE9BQXVDO0lBRXZDLE1BQU0sR0FBRyxHQUE4QixFQUFHLENBQUM7SUFFM0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEQsTUFBTSxPQUFPLENBQUMsWUFBWSxLQUFLLENBQUMsa0JBQWtCLDZCQUE2QixHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhILE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUM7SUFDMUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDM0MsTUFBTSxPQUFPLENBQUMsWUFBWSxLQUFLLENBQUMsbUJBQW1CLDZCQUE2QixHQUFHLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLGNBQWMsQ0FDbEMsUUFBa0IsRUFDbEIsT0FBK0IsRUFDL0IsR0FBMEMsRUFDMUMsT0FBdUM7SUFFdkMsTUFBTSxTQUFTLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUks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QU8sT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICd1dGlsJztcbmltcG9ydCAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgdHlwZSB7IFNka1Byb3ZpZGVyIH0gZnJvbSAnLi4vYXdzLWF1dGgvcHJpdmF0ZSc7XG5pbXBvcnQgdHlwZSB7IFNldHRpbmdzIH0gZnJvbSAnLi4vc2V0dGluZ3MnO1xuXG4vKipcbiAqIElmIHdlIGRvbid0IGhhdmUgcmVnaW9uL2FjY291bnQgZGVmaW5lZCBpbiBjb250ZXh0LCB3ZSBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHQgU0RLIGJlaGF2aW9yXG4gKiB3aGVyZSByZWdpb24gaXMgcmV0cmlldmVkIGZyb20gfi8uYXdzL2NvbmZpZyBhbmQgYWNjb3VudCBpcyBiYXNlZCBvbiBkZWZhdWx0IGNyZWRlbnRpYWxzIHByb3ZpZGVyXG4gKiBjaGFpbiBhbmQgdGhlbiBTVFMgaXMgcXVlcmllZC5cbiAqXG4gKiBUaGlzIGlzIGRvbmUgb3Bwb3J0dW5pc3RpY2FsbHk6IGZvciBleGFtcGxlLCBpZiB3ZSBjYW4ndCBhY2Nlc3MgU1RTIGZvciBzb21lIHJlYXNvbiBvciB0aGUgcmVnaW9uXG4gKiBpcyBub3QgY29uZmlndXJlZCwgdGhlIGNvbnRleHQgdmFsdWUgd2lsbCBiZSAnbnVsbCcgYW5kIHRoZXJlIGNvdWxkIGZhaWx1cmVzIGRvd24gdGhlIGxpbmUuIEluXG4gKiBzb21lIGNhc2VzLCBzeW50aGVzaXMgZG9lcyBub3QgcmVxdWlyZSByZWdpb24vYWNjb3VudCBpbmZvcm1hdGlvbiBhdCBhbGwsIHNvIHRoYXQgbWlnaHQgYmUgcGVyZmVjdGx5XG4gKiBmaW5lIGluIGNlcnRhaW4gc2NlbmFyaW9zLlxuICpcbiAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGtleS92YWx1ZSBiYXNoLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlcGFyZURlZmF1bHRFbnZpcm9ubWVudChcbiAgYXdzOiBTZGtQcm92aWRlcixcbiAgZGVidWdGbjogKG1zZzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+LFxuKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiB7XG4gIGNvbnN0IGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHsgfTtcblxuICBlbnZbY3hhcGkuREVGQVVMVF9SRUdJT05fRU5WXSA9IGF3cy5kZWZhdWx0UmVnaW9uO1xuICBhd2FpdCBkZWJ1Z0ZuKGBTZXR0aW5nIFwiJHtjeGFwaS5ERUZBVUxUX1JFR0lPTl9FTlZ9XCIgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gJHtlbnZbY3hhcGkuREVGQVVMVF9SRUdJT05fRU5WXX1gKTtcblxuICBjb25zdCBhY2NvdW50SWQgPSAoYXdhaXQgYXdzLmRlZmF1bHRBY2NvdW50KCkpPy5hY2NvdW50SWQ7XG4gIGlmIChhY2NvdW50SWQpIHtcbiAgICBlbnZbY3hhcGkuREVGQVVMVF9BQ0NPVU5UX0VOVl0gPSBhY2NvdW50SWQ7XG4gICAgYXdhaXQgZGVidWdGbihgU2V0dGluZyBcIiR7Y3hhcGkuREVGQVVMVF9BQ0NPVU5UX0VOVn1cIiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byAke2VudltjeGFwaS5ERUZBVUxUX0FDQ09VTlRfRU5WXX1gKTtcbiAgfVxuXG4gIHJldHVybiBlbnY7XG59XG5cbi8qKlxuICogU2V0dGluZ3MgcmVsYXRlZCB0byBzeW50aGVzaXMgYXJlIHJlYWQgZnJvbSBjb250ZXh0LlxuICogVGhlIG1lcmdpbmcgb2YgdmFyaW91cyBjb25maWd1cmF0aW9uIHNvdXJjZXMgbGlrZSBjbGkgYXJncyBvciBjZGsuanNvbiBoYXMgYWxyZWFkeSBoYXBwZW5lZC5cbiAqIFdlIG5vdyBuZWVkIHRvIHNldCB0aGUgZmluYWwgdmFsdWVzIHRvIHRoZSBjb250ZXh0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlcGFyZUNvbnRleHQoXG4gIHNldHRpbmdzOiBTZXR0aW5ncyxcbiAgY29udGV4dDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAgZW52OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9LFxuICBkZWJ1Z0ZuOiAobXNnOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD4sXG4pIHtcbiAgY29uc3QgZGVidWdNb2RlOiBib29sZWFuID0gc2V0dGluZ3MuZ2V0KFsnZGVidWcnXSkgPz8gdHJ1ZTtcbiAgaWYgKGRlYnVnTW9kZSkge1xuICAgIGVudi5DREtfREVCVUcgPSAndHJ1ZSc7XG4gIH1cblxuICBjb25zdCBwYXRoTWV0YWRhdGE6IGJvb2xlYW4gPSBzZXR0aW5ncy5nZXQoWydwYXRoTWV0YWRhdGEnXSkgPz8gdHJ1ZTtcbiAgaWYgKHBhdGhNZXRhZGF0YSkge1xuICAgIGNvbnRleHRbY3hhcGkuUEFUSF9NRVRBREFUQV9FTkFCTEVfQ09OVEVYVF0gPSB0cnVlO1xuICB9XG5cbiAgY29uc3QgYXNzZXRNZXRhZGF0YTogYm9vbGVhbiA9IHNldHRpbmdzLmdldChbJ2Fzc2V0TWV0YWRhdGEnXSkgPz8gdHJ1ZTtcbiAgaWYgKGFzc2V0TWV0YWRhdGEpIHtcbiAgICBjb250ZXh0W2N4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVF0gPSB0cnVlO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvblJlcG9ydGluZzogYm9vbGVhbiA9IHNldHRpbmdzLmdldChbJ3ZlcnNpb25SZXBvcnRpbmcnXSkgPz8gdHJ1ZTtcbiAgaWYgKHZlcnNpb25SZXBvcnRpbmcpIHtcbiAgICBjb250ZXh0W2N4YXBpLkFOQUxZVElDU19SRVBPUlRJTkdfRU5BQkxFRF9DT05URVhUXSA9IHRydWU7XG4gIH1cbiAgLy8gV2UgbmVlZCB0byBrZWVwIG9uIGRvaW5nIHRoaXMgZm9yIGZyYW1ld29yayB2ZXJzaW9uIGZyb20gYmVmb3JlIHRoaXMgZmxhZyB3YXMgZGVwcmVjYXRlZC5cbiAgaWYgKCF2ZXJzaW9uUmVwb3J0aW5nKSB7XG4gICAgY29udGV4dFsnYXdzOmNkazpkaXNhYmxlLXZlcnNpb24tcmVwb3J0aW5nJ10gPSB0cnVlO1xuICB9XG5cbiAgY29uc3Qgc3RhZ2luZ0VuYWJsZWQgPSBzZXR0aW5ncy5nZXQoWydzdGFnaW5nJ10pID8/IHRydWU7XG4gIGlmICghc3RhZ2luZ0VuYWJsZWQpIHtcbiAgICBjb250ZXh0W2N4YXBpLkRJU0FCTEVfQVNTRVRfU1RBR0lOR19DT05URVhUXSA9IHRydWU7XG4gIH1cblxuICBjb25zdCBidW5kbGluZ1N0YWNrcyA9IHNldHRpbmdzLmdldChbJ2J1bmRsaW5nU3RhY2tzJ10pID8/IFsnKionXTtcbiAgY29udGV4dFtjeGFwaS5CVU5ETElOR19TVEFDS1NdID0gYnVuZGxpbmdTdGFja3M7XG5cbiAgYXdhaXQgZGVidWdGbihmb3JtYXQoJ2NvbnRleHQ6JywgY29udGV4dCkpO1xuXG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3BhY2VBdmFpbGFibGVGb3JDb250ZXh0KGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgbGltaXQ6IG51bWJlcikge1xuICBjb25zdCBzaXplID0gKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlICE9IG51bGwgPyBCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSkgOiAwO1xuXG4gIGNvbnN0IHVzZWRTcGFjZSA9IE9iamVjdC5lbnRyaWVzKGVudilcbiAgICAubWFwKChbaywgdl0pID0+IGsgPT09IGN4YXBpLkNPTlRFWFRfRU5WID8gc2l6ZShrKSA6IHNpemUoaykgKyBzaXplKHYpKVxuICAgIC5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKTtcblxuICByZXR1cm4gTWF0aC5tYXgoMCwgbGltaXQgLSB1c2VkU3BhY2UpO1xufVxuXG4vKipcbiAqIEd1ZXNzIHRoZSBleGVjdXRhYmxlIGZyb20gdGhlIGNvbW1hbmQtbGluZSBhcmd1bWVudFxuICpcbiAqIE9ubHkgZG8gdGhpcyBpZiB0aGUgZmlsZSBpcyBOT1QgbWFya2VkIGFzIGV4ZWN1dGFibGUuIElmIGl0IGlzLFxuICogd2UnbGwgZGVmZXIgdG8gdGhlIHNoZWJhbmcgaW5zaWRlIHRoZSBmaWxlIGl0c2VsZi5cbiAqXG4gKiBJZiB3ZSdyZSBvbiBXaW5kb3dzLCB3ZSBBTFdBWVMgdGFrZSB0aGUgaGFuZGxlciwgc2luY2UgaXQncyBoYXJkIHRvXG4gKiB2ZXJpZnkgaWYgcmVnaXN0cnkgYXNzb2NpYXRpb25zIGhhdmUgb3IgaGF2ZSBub3QgYmVlbiBzZXQgdXAgZm9yIHRoaXNcbiAqIGZpbGUgdHlwZSwgc28gd2UnbGwgYXNzdW1lIHRoZSB3b3JzdCBhbmQgdGFrZSBjb250cm9sLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3Vlc3NFeGVjdXRhYmxlKGFwcDogc3RyaW5nLCBkZWJ1Z0ZuOiAobXNnOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgY29uc3QgY29tbWFuZExpbmUgPSBhcHBUb0FycmF5KGFwcCk7XG4gIGlmIChjb21tYW5kTGluZS5sZW5ndGggPT09IDEpIHtcbiAgICBsZXQgZnN0YXQ7XG5cbiAgICB0cnkge1xuICAgICAgZnN0YXQgPSBhd2FpdCBmcy5zdGF0KGNvbW1hbmRMaW5lWzBdKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGF3YWl0IGRlYnVnRm4oYE5vdCBhIGZpbGU6ICcke2NvbW1hbmRMaW5lWzBdfScuIFVzaW5nICcke2NvbW1hbmRMaW5lfScgYXMgY29tbWFuZC1saW5lYCk7XG4gICAgICByZXR1cm4gY29tbWFuZExpbmU7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2VcbiAgICBjb25zdCBpc0V4ZWN1dGFibGUgPSAoZnN0YXQubW9kZSAmIGZzLmNvbnN0YW50cy5YX09LKSAhPT0gMDtcbiAgICBjb25zdCBpc1dpbmRvd3MgPSBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInO1xuXG4gICAgY29uc3QgaGFuZGxlciA9IEVYVEVOU0lPTl9NQVAuZ2V0KHBhdGguZXh0bmFtZShjb21tYW5kTGluZVswXSkpO1xuICAgIGlmIChoYW5kbGVyICYmICghaXNFeGVjdXRhYmxlIHx8IGlzV2luZG93cykpIHtcbiAgICAgIHJldHVybiBoYW5kbGVyKGNvbW1hbmRMaW5lWzBdKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNvbW1hbmRMaW5lO1xufVxuXG4vKipcbiAqIE1hcHBpbmcgb2YgZXh0ZW5zaW9ucyB0byBjb21tYW5kLWxpbmUgZ2VuZXJhdG9yc1xuICovXG5jb25zdCBFWFRFTlNJT05fTUFQID0gbmV3IE1hcDxzdHJpbmcsIENvbW1hbmRHZW5lcmF0b3I+KFtcbiAgWycuanMnLCBleGVjdXRlTm9kZV0sXG5dKTtcblxudHlwZSBDb21tYW5kR2VuZXJhdG9yID0gKGZpbGU6IHN0cmluZykgPT4gc3RyaW5nW107XG5cbi8qKlxuICogRXhlY3V0ZSB0aGUgZ2l2ZW4gZmlsZSB3aXRoIHRoZSBzYW1lICdub2RlJyBwcm9jZXNzIGFzIGlzIHJ1bm5pbmcgdGhlIGN1cnJlbnQgcHJvY2Vzc1xuICovXG5mdW5jdGlvbiBleGVjdXRlTm9kZShzY3JpcHRGaWxlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBbcHJvY2Vzcy5leGVjUGF0aCwgc2NyaXB0RmlsZV07XG59XG5cbi8qKlxuICogTWFrZSBzdXJlIHRoZSAnYXBwJyBpcyBhbiBhcnJheVxuICpcbiAqIElmIGl0J3MgYSBzdHJpbmcsIHNwbGl0IG9uIHNwYWNlcyBhcyBhIHRyaXZpYWwgd2F5IG9mIHRva2VuaXppbmcgdGhlIGNvbW1hbmQgbGluZS5cbiAqL1xuZnVuY3Rpb24gYXBwVG9BcnJheShhcHA6IGFueSkge1xuICByZXR1cm4gdHlwZW9mIGFwcCA9PT0gJ3N0cmluZycgPyBhcHAuc3BsaXQoJyAnKSA6IGFwcDtcbn1cbiJdfQ==
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFCQSw4REFnQkM7QUFPRCxrREFpQ0M7QUFLRCxrRUFZQztBQUVELDREQVFDO0FBWUQsMENBc0JDO0FBMUlELDZCQUE2QjtBQUM3Qix5Q0FBeUM7QUFDekMsK0JBQStCO0FBTy9COzs7Ozs7Ozs7OztHQVdHO0FBQ0ksS0FBSyxVQUFVLHlCQUF5QixDQUM3QyxHQUFnQixFQUNoQixPQUF1QztJQUV2QyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7SUFFcEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEQsTUFBTSxPQUFPLENBQUMsWUFBWSxLQUFLLENBQUMsa0JBQWtCLDZCQUE2QixHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhILE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUM7SUFDMUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDM0MsTUFBTSxPQUFPLENBQUMsWUFBWSxLQUFLLENBQUMsbUJBQW1CLDZCQUE2QixHQUFHLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQ2pDLFFBQWtCO0lBRWxCLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFFNUMsTUFBTSxZQUFZLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3JFLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3ZFLElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBWSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUM3RSxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUM1RCxDQUFDO0lBQ0QsNEZBQTRGO0lBQzVGLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxjQUFjLENBQUM7SUFFaEQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQUMsUUFBa0I7SUFJNUQsT0FBTztRQUNMLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7UUFDdEMsR0FBRyxFQUFFO1lBQ0gsd0VBQXdFO1lBQ3hFLGdGQUFnRjtZQUNoRixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN4RDtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsR0FBUSxFQUFFLEtBQWE7SUFDOUQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU5RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztTQUNsQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTlCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSSxLQUFLLFVBQVUsZUFBZSxDQUFDLEdBQVcsRUFBRSxPQUF1QztJQUN4RixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLElBQUksS0FBSyxDQUFDO1FBRVYsSUFBSSxDQUFDO1lBQ0gsS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsTUFBTSxPQUFPLENBQUMsZ0JBQWdCLFdBQVcsQ0FBQyxDQUFDLENBQUMsYUFBYSxXQUFXLG1CQUFtQixDQUFDLENBQUM7WUFDekYsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUM7UUFFL0MsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLFlBQVksSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQTJCO0lBQ3RELENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQztDQUNyQixDQUFDLENBQUM7QUFJSDs7R0FFRztBQUNILFNBQVMsV0FBVyxDQUFDLFVBQWtCO0lBQ3JDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxVQUFVLENBQUMsR0FBUTtJQUMxQixPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB0eXBlIHsgU2RrUHJvdmlkZXIgfSBmcm9tICcuLi9hd3MtYXV0aC9wcml2YXRlJztcbmltcG9ydCB0eXBlIHsgU2V0dGluZ3MgfSBmcm9tICcuLi9zZXR0aW5ncyc7XG5cbmV4cG9ydCB0eXBlIEVudiA9IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH07XG5leHBvcnQgdHlwZSBDb250ZXh0ID0geyBba2V5OiBzdHJpbmddOiB1bmtub3duIH07XG5cbi8qKlxuICogSWYgd2UgZG9uJ3QgaGF2ZSByZWdpb24vYWNjb3VudCBkZWZpbmVkIGluIGNvbnRleHQsIHdlIGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCBTREsgYmVoYXZpb3JcbiAqIHdoZXJlIHJlZ2lvbiBpcyByZXRyaWV2ZWQgZnJvbSB+Ly5hd3MvY29uZmlnIGFuZCBhY2NvdW50IGlzIGJhc2VkIG9uIGRlZmF1bHQgY3JlZGVudGlhbHMgcHJvdmlkZXJcbiAqIGNoYWluIGFuZCB0aGVuIFNUUyBpcyBxdWVyaWVkLlxuICpcbiAqIFRoaXMgaXMgZG9uZSBvcHBvcnR1bmlzdGljYWxseTogZm9yIGV4YW1wbGUsIGlmIHdlIGNhbid0IGFjY2VzcyBTVFMgZm9yIHNvbWUgcmVhc29uIG9yIHRoZSByZWdpb25cbiAqIGlzIG5vdCBjb25maWd1cmVkLCB0aGUgY29udGV4dCB2YWx1ZSB3aWxsIGJlICdudWxsJyBhbmQgdGhlcmUgY291bGQgZmFpbHVyZXMgZG93biB0aGUgbGluZS4gSW5cbiAqIHNvbWUgY2FzZXMsIHN5bnRoZXNpcyBkb2VzIG5vdCByZXF1aXJlIHJlZ2lvbi9hY2NvdW50IGluZm9ybWF0aW9uIGF0IGFsbCwgc28gdGhhdCBtaWdodCBiZSBwZXJmZWN0bHlcbiAqIGZpbmUgaW4gY2VydGFpbiBzY2VuYXJpb3MuXG4gKlxuICogQHBhcmFtIGNvbnRleHQgVGhlIGNvbnRleHQga2V5L3ZhbHVlIGJhc2guXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVwYXJlRGVmYXVsdEVudmlyb25tZW50KFxuICBhd3M6IFNka1Byb3ZpZGVyLFxuICBkZWJ1Z0ZuOiAobXNnOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD4sXG4pOiBQcm9taXNlPEVudj4ge1xuICBjb25zdCBlbnY6IEVudiA9IHt9O1xuXG4gIGVudltjeGFwaS5ERUZBVUxUX1JFR0lPTl9FTlZdID0gYXdzLmRlZmF1bHRSZWdpb247XG4gIGF3YWl0IGRlYnVnRm4oYFNldHRpbmcgXCIke2N4YXBpLkRFRkFVTFRfUkVHSU9OX0VOVn1cIiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byAke2VudltjeGFwaS5ERUZBVUxUX1JFR0lPTl9FTlZdfWApO1xuXG4gIGNvbnN0IGFjY291bnRJZCA9IChhd2FpdCBhd3MuZGVmYXVsdEFjY291bnQoKSk/LmFjY291bnRJZDtcbiAgaWYgKGFjY291bnRJZCkge1xuICAgIGVudltjeGFwaS5ERUZBVUxUX0FDQ09VTlRfRU5WXSA9IGFjY291bnRJZDtcbiAgICBhd2FpdCBkZWJ1Z0ZuKGBTZXR0aW5nIFwiJHtjeGFwaS5ERUZBVUxUX0FDQ09VTlRfRU5WfVwiIGVudmlyb25tZW50IHZhcmlhYmxlIHRvICR7ZW52W2N4YXBpLkRFRkFVTFRfQUNDT1VOVF9FTlZdfWApO1xuICB9XG5cbiAgcmV0dXJuIGVudjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgY29udGV4dCBmcm9tIHNldHRpbmdzLlxuICpcbiAqIE11dGF0ZXMgdGhlIGBjb250ZXh0YCBvYmplY3QgYW5kIHJldHVybnMgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb250ZXh0RnJvbVNldHRpbmdzKFxuICBzZXR0aW5nczogU2V0dGluZ3MsXG4pIHtcbiAgY29uc3QgY29udGV4dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICBjb25zdCBwYXRoTWV0YWRhdGE6IGJvb2xlYW4gPSBzZXR0aW5ncy5nZXQoWydwYXRoTWV0YWRhdGEnXSkgPz8gdHJ1ZTtcbiAgaWYgKHBhdGhNZXRhZGF0YSkge1xuICAgIGNvbnRleHRbY3hhcGkuUEFUSF9NRVRBREFUQV9FTkFCTEVfQ09OVEVYVF0gPSB0cnVlO1xuICB9XG5cbiAgY29uc3QgYXNzZXRNZXRhZGF0YTogYm9vbGVhbiA9IHNldHRpbmdzLmdldChbJ2Fzc2V0TWV0YWRhdGEnXSkgPz8gdHJ1ZTtcbiAgaWYgKGFzc2V0TWV0YWRhdGEpIHtcbiAgICBjb250ZXh0W2N4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVF0gPSB0cnVlO1xuICB9XG5cbiAgY29uc3QgdmVyc2lvblJlcG9ydGluZzogYm9vbGVhbiA9IHNldHRpbmdzLmdldChbJ3ZlcnNpb25SZXBvcnRpbmcnXSkgPz8gdHJ1ZTtcbiAgaWYgKHZlcnNpb25SZXBvcnRpbmcpIHtcbiAgICBjb250ZXh0W2N4YXBpLkFOQUxZVElDU19SRVBPUlRJTkdfRU5BQkxFRF9DT05URVhUXSA9IHRydWU7XG4gIH1cbiAgLy8gV2UgbmVlZCB0byBrZWVwIG9uIGRvaW5nIHRoaXMgZm9yIGZyYW1ld29yayB2ZXJzaW9uIGZyb20gYmVmb3JlIHRoaXMgZmxhZyB3YXMgZGVwcmVjYXRlZC5cbiAgaWYgKCF2ZXJzaW9uUmVwb3J0aW5nKSB7XG4gICAgY29udGV4dFsnYXdzOmNkazpkaXNhYmxlLXZlcnNpb24tcmVwb3J0aW5nJ10gPSB0cnVlO1xuICB9XG5cbiAgY29uc3Qgc3RhZ2luZ0VuYWJsZWQgPSBzZXR0aW5ncy5nZXQoWydzdGFnaW5nJ10pID8/IHRydWU7XG4gIGlmICghc3RhZ2luZ0VuYWJsZWQpIHtcbiAgICBjb250ZXh0W2N4YXBpLkRJU0FCTEVfQVNTRVRfU1RBR0lOR19DT05URVhUXSA9IHRydWU7XG4gIH1cblxuICBjb25zdCBidW5kbGluZ1N0YWNrcyA9IHNldHRpbmdzLmdldChbJ2J1bmRsaW5nU3RhY2tzJ10pID8/IFsnKionXTtcbiAgY29udGV4dFtjeGFwaS5CVU5ETElOR19TVEFDS1NdID0gYnVuZGxpbmdTdGFja3M7XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG5cbi8qKlxuICogQ29udmVydCBzZXR0aW5ncyB0byBjb250ZXh0L2Vudmlyb25tZW50IHZhcmlhYmxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3ludGhQYXJhbWV0ZXJzRnJvbVNldHRpbmdzKHNldHRpbmdzOiBTZXR0aW5ncyk6IHtcbiAgY29udGV4dDogQ29udGV4dDtcbiAgZW52OiBFbnY7XG59IHtcbiAgcmV0dXJuIHtcbiAgICBjb250ZXh0OiBjb250ZXh0RnJvbVNldHRpbmdzKHNldHRpbmdzKSxcbiAgICBlbnY6IHtcbiAgICAgIC8vIEFuIGVudmlyb25tZW50IHZhcmlhYmxlIGluc3RlYWQgb2YgYSBjb250ZXh0IHZhcmlhYmxlLCBzbyBpdCBjYW4gYWxzb1xuICAgICAgLy8gYmUgYWNjZXNzZWQgaW4gZnJhbWV3b3JrIGNvZGUgd2hlcmUgd2UgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gYSBjb25zdHJ1Y3QgdHJlZS5cbiAgICAgIC4uLnNldHRpbmdzLmdldChbJ2RlYnVnJ10pID8geyBDREtfREVCVUc6ICd0cnVlJyB9IDoge30sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwYWNlQXZhaWxhYmxlRm9yQ29udGV4dChlbnY6IEVudiwgbGltaXQ6IG51bWJlcikge1xuICBjb25zdCBzaXplID0gKHZhbHVlPzogc3RyaW5nKSA9PiB2YWx1ZSAhPSBudWxsID8gQnVmZmVyLmJ5dGVMZW5ndGgodmFsdWUpIDogMDtcblxuICBjb25zdCB1c2VkU3BhY2UgPSBPYmplY3QuZW50cmllcyhlbnYpXG4gICAgLm1hcCgoW2ssIHZdKSA9PiBrID09PSBjeGFwaS5DT05URVhUX0VOViA/IHNpemUoaykgOiBzaXplKGspICsgc2l6ZSh2KSlcbiAgICAucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgMCk7XG5cbiAgcmV0dXJuIE1hdGgubWF4KDAsIGxpbWl0IC0gdXNlZFNwYWNlKTtcbn1cblxuLyoqXG4gKiBHdWVzcyB0aGUgZXhlY3V0YWJsZSBmcm9tIHRoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRcbiAqXG4gKiBPbmx5IGRvIHRoaXMgaWYgdGhlIGZpbGUgaXMgTk9UIG1hcmtlZCBhcyBleGVjdXRhYmxlLiBJZiBpdCBpcyxcbiAqIHdlJ2xsIGRlZmVyIHRvIHRoZSBzaGViYW5nIGluc2lkZSB0aGUgZmlsZSBpdHNlbGYuXG4gKlxuICogSWYgd2UncmUgb24gV2luZG93cywgd2UgQUxXQVlTIHRha2UgdGhlIGhhbmRsZXIsIHNpbmNlIGl0J3MgaGFyZCB0b1xuICogdmVyaWZ5IGlmIHJlZ2lzdHJ5IGFzc29jaWF0aW9ucyBoYXZlIG9yIGhhdmUgbm90IGJlZW4gc2V0IHVwIGZvciB0aGlzXG4gKiBmaWxlIHR5cGUsIHNvIHdlJ2xsIGFzc3VtZSB0aGUgd29yc3QgYW5kIHRha2UgY29udHJvbC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGd1ZXNzRXhlY3V0YWJsZShhcHA6IHN0cmluZywgZGVidWdGbjogKG1zZzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+KSB7XG4gIGNvbnN0IGNvbW1hbmRMaW5lID0gYXBwVG9BcnJheShhcHApO1xuICBpZiAoY29tbWFuZExpbmUubGVuZ3RoID09PSAxKSB7XG4gICAgbGV0IGZzdGF0O1xuXG4gICAgdHJ5IHtcbiAgICAgIGZzdGF0ID0gYXdhaXQgZnMuc3RhdChjb21tYW5kTGluZVswXSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICBhd2FpdCBkZWJ1Z0ZuKGBOb3QgYSBmaWxlOiAnJHtjb21tYW5kTGluZVswXX0nLiBVc2luZyAnJHtjb21tYW5kTGluZX0nIGFzIGNvbW1hbmQtbGluZWApO1xuICAgICAgcmV0dXJuIGNvbW1hbmRMaW5lO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG4gICAgY29uc3QgaXNFeGVjdXRhYmxlID0gKGZzdGF0Lm1vZGUgJiBmcy5jb25zdGFudHMuWF9PSykgIT09IDA7XG4gICAgY29uc3QgaXNXaW5kb3dzID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJztcblxuICAgIGNvbnN0IGhhbmRsZXIgPSBFWFRFTlNJT05fTUFQLmdldChwYXRoLmV4dG5hbWUoY29tbWFuZExpbmVbMF0pKTtcbiAgICBpZiAoaGFuZGxlciAmJiAoIWlzRXhlY3V0YWJsZSB8fCBpc1dpbmRvd3MpKSB7XG4gICAgICByZXR1cm4gaGFuZGxlcihjb21tYW5kTGluZVswXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBjb21tYW5kTGluZTtcbn1cblxuLyoqXG4gKiBNYXBwaW5nIG9mIGV4dGVuc2lvbnMgdG8gY29tbWFuZC1saW5lIGdlbmVyYXRvcnNcbiAqL1xuY29uc3QgRVhURU5TSU9OX01BUCA9IG5ldyBNYXA8c3RyaW5nLCBDb21tYW5kR2VuZXJhdG9yPihbXG4gIFsnLmpzJywgZXhlY3V0ZU5vZGVdLFxuXSk7XG5cbnR5cGUgQ29tbWFuZEdlbmVyYXRvciA9IChmaWxlOiBzdHJpbmcpID0+IHN0cmluZ1tdO1xuXG4vKipcbiAqIEV4ZWN1dGUgdGhlIGdpdmVuIGZpbGUgd2l0aCB0aGUgc2FtZSAnbm9kZScgcHJvY2VzcyBhcyBpcyBydW5uaW5nIHRoZSBjdXJyZW50IHByb2Nlc3NcbiAqL1xuZnVuY3Rpb24gZXhlY3V0ZU5vZGUoc2NyaXB0RmlsZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICByZXR1cm4gW3Byb2Nlc3MuZXhlY1BhdGgsIHNjcmlwdEZpbGVdO1xufVxuXG4vKipcbiAqIE1ha2Ugc3VyZSB0aGUgJ2FwcCcgaXMgYW4gYXJyYXlcbiAqXG4gKiBJZiBpdCdzIGEgc3RyaW5nLCBzcGxpdCBvbiBzcGFjZXMgYXMgYSB0cml2aWFsIHdheSBvZiB0b2tlbml6aW5nIHRoZSBjb21tYW5kIGxpbmUuXG4gKi9cbmZ1bmN0aW9uIGFwcFRvQXJyYXkoYXBwOiBhbnkpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcHAgPT09ICdzdHJpbmcnID8gYXBwLnNwbGl0KCcgJykgOiBhcHA7XG59XG4iXX0=
|
|
@@ -21,4 +21,5 @@ Object.defineProperty(exports, "StackSelectionStrategy", { enumerable: true, get
|
|
|
21
21
|
__exportStar(require("./cached-source"), exports);
|
|
22
22
|
__exportStar(require("./source-builder"), exports);
|
|
23
23
|
__exportStar(require("./types"), exports);
|
|
24
|
-
|
|
24
|
+
__exportStar(require("./context-store"), exports);
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFnRjtBQUF2RSxzSEFBQSxvQkFBb0IsT0FBQTtBQUFFLHdIQUFBLHNCQUFzQixPQUFBO0FBRXJELGtEQUFnQztBQUNoQyxtREFBaUM7QUFDakMsMENBQXdCO0FBQ3hCLGtEQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEV4cGFuZFN0YWNrU2VsZWN0aW9uLCBTdGFja1NlbGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9zdGFjay1zZWxlY3Rvcic7XG5leHBvcnQgdHlwZSB7IFN0YWNrU2VsZWN0b3IgfSBmcm9tICcuL3N0YWNrLXNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY2FjaGVkLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL3NvdXJjZS1idWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LXN0b3JlJztcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ToolkitServices } from '../../../toolkit/private';
|
|
2
|
-
import {
|
|
2
|
+
import type { IContextStore } from '../context-store';
|
|
3
3
|
import type { ICloudAssemblySource, IReadableCloudAssembly } from '../types';
|
|
4
4
|
export interface ContextAwareCloudAssemblyProps {
|
|
5
5
|
/**
|
|
@@ -8,15 +8,9 @@ export interface ContextAwareCloudAssemblyProps {
|
|
|
8
8
|
*/
|
|
9
9
|
readonly services: ToolkitServices;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Location to read and write context
|
|
12
12
|
*/
|
|
13
|
-
readonly
|
|
14
|
-
/**
|
|
15
|
-
* The file used to store application context in (relative to cwd).
|
|
16
|
-
*
|
|
17
|
-
* @default "cdk.context.json"
|
|
18
|
-
*/
|
|
19
|
-
readonly contextFile?: string;
|
|
13
|
+
readonly contextStore: IContextStore;
|
|
20
14
|
/**
|
|
21
15
|
* Enable context lookups.
|
|
22
16
|
*
|
|
@@ -48,7 +42,6 @@ export declare class ContextAwareCloudAssemblySource implements ICloudAssemblySo
|
|
|
48
42
|
private readonly props;
|
|
49
43
|
private canLookup;
|
|
50
44
|
private context;
|
|
51
|
-
private contextFile;
|
|
52
45
|
private ioHelper;
|
|
53
46
|
constructor(source: ICloudAssemblySource, props: ContextAwareCloudAssemblyProps);
|
|
54
47
|
/**
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ContextAwareCloudAssemblySource = void 0;
|
|
4
4
|
const contextproviders = require("../../../context-providers");
|
|
5
5
|
const toolkit_error_1 = require("../../../toolkit/toolkit-error");
|
|
6
|
-
const context_1 = require("../../context");
|
|
7
6
|
const private_1 = require("../../io/private");
|
|
8
7
|
/**
|
|
9
8
|
* A CloudAssemblySource that wraps another CloudAssemblySource and runs a lookup loop on it
|
|
@@ -27,14 +26,12 @@ class ContextAwareCloudAssemblySource {
|
|
|
27
26
|
props;
|
|
28
27
|
canLookup;
|
|
29
28
|
context;
|
|
30
|
-
contextFile;
|
|
31
29
|
ioHelper;
|
|
32
30
|
constructor(source, props) {
|
|
33
31
|
this.source = source;
|
|
34
32
|
this.props = props;
|
|
35
33
|
this.canLookup = props.lookups ?? true;
|
|
36
|
-
this.context = props.
|
|
37
|
-
this.contextFile = props.contextFile ?? context_1.PROJECT_CONTEXT; // @todo new feature not needed right now
|
|
34
|
+
this.context = props.contextStore;
|
|
38
35
|
this.ioHelper = props.services.ioHelper;
|
|
39
36
|
}
|
|
40
37
|
/**
|
|
@@ -65,13 +62,11 @@ class ContextAwareCloudAssemblySource {
|
|
|
65
62
|
previouslyMissingKeys = missingKeysSet;
|
|
66
63
|
if (tryLookup) {
|
|
67
64
|
await this.ioHelper.notify(private_1.IO.CDK_ASSEMBLY_I0241.msg('Some context information is missing. Fetching...', { missingKeys }));
|
|
68
|
-
await contextproviders.provideContextValues(assembly.manifest.missing, this.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
contextFile: this.contextFile,
|
|
72
|
-
context: this.context.all,
|
|
65
|
+
const contextUpdates = await contextproviders.provideContextValues(assembly.manifest.missing, this.props.services.sdkProvider, this.props.services.pluginHost, this.ioHelper);
|
|
66
|
+
await this.ioHelper.notify(private_1.IO.CDK_ASSEMBLY_I0042.msg('Writing context updates...', {
|
|
67
|
+
context: contextUpdates,
|
|
73
68
|
}));
|
|
74
|
-
await this.context.
|
|
69
|
+
await this.context.update(contextUpdates);
|
|
75
70
|
// Execute again. Unlock the assembly here so that the producer can acquire
|
|
76
71
|
// a read lock on the directory again.
|
|
77
72
|
await readableAsm._unlock();
|
|
@@ -103,4 +98,4 @@ function equalSets(a, b) {
|
|
|
103
98
|
}
|
|
104
99
|
return true;
|
|
105
100
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1hd2FyZS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb250ZXh0LWF3YXJlLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrREFBK0Q7QUFFL0Qsa0VBQThEO0FBQzlELDJDQUE4RDtBQUU5RCw4Q0FBc0M7QUFnQ3RDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBYSwrQkFBK0I7SUFNYjtJQUErQztJQUxwRSxTQUFTLENBQVU7SUFDbkIsT0FBTyxDQUFVO0lBQ2pCLFdBQVcsQ0FBUztJQUNwQixRQUFRLENBQVc7SUFFM0IsWUFBNkIsTUFBNEIsRUFBbUIsS0FBcUM7UUFBcEYsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFBbUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0M7UUFDL0csSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLHlCQUFlLENBQUMsQ0FBQyx5Q0FBeUM7UUFDbEcsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixzR0FBc0c7UUFDdEcsZ0ZBQWdGO1FBQ2hGLG1GQUFtRjtRQUNuRiw4RUFBOEU7UUFDOUUsSUFBSSxxQkFBOEMsQ0FBQztRQUNuRCxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRWhELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7WUFDM0MsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENB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SyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1pc3NpbmdDb250ZXh0IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCAqIGFzIGNvbnRleHRwcm92aWRlcnMgZnJvbSAnLi4vLi4vLi4vY29udGV4dC1wcm92aWRlcnMnO1xuaW1wb3J0IHR5cGUgeyBUb29sa2l0U2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi90b29sa2l0L3ByaXZhdGUnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcbmltcG9ydCB7IFBST0pFQ1RfQ09OVEVYVCwgdHlwZSBDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IElvSGVscGVyIH0gZnJvbSAnLi4vLi4vaW8vcHJpdmF0ZSc7XG5pbXBvcnQgeyBJTyB9IGZyb20gJy4uLy4uL2lvL3ByaXZhdGUnO1xuaW1wb3J0IHR5cGUgeyBJQ2xvdWRBc3NlbWJseVNvdXJjZSwgSVJlYWRhYmxlQ2xvdWRBc3NlbWJseSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0QXdhcmVDbG91ZEFzc2VtYmx5UHJvcHMge1xuICAvKipcbiAgICogQVdTIG9iamVjdCAodXNlZCBieSBjb250ZXh0cHJvdmlkZXIpXG4gICAqIEBkZXByZWNhdGVkIGNvbnRleHQgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSB0b29sa2l0IGl0c2VsZlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZXM6IFRvb2xraXRTZXJ2aWNlcztcblxuICAvKipcbiAgICogQXBwbGljYXRpb24gY29udGV4dFxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIGZpbGUgdXNlZCB0byBzdG9yZSBhcHBsaWNhdGlvbiBjb250ZXh0IGluIChyZWxhdGl2ZSB0byBjd2QpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImNkay5jb250ZXh0Lmpzb25cIlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dEZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjb250ZXh0IGxvb2t1cHMuXG4gICAqXG4gICAqIFByb2R1Y2luZyBhIGBjeGFwaS5DbG91ZEFzc2VtYmx5YCB3aWxsIGZhaWwgaWYgdGhpcyBpcyBkaXNhYmxlZCBhbmQgY29udGV4dCBsb29rdXBzIG5lZWQgdG8gYmUgcGVyZm9ybWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIENsb3VkQXNzZW1ibHlTb3VyY2UgdGhhdCB3cmFwcyBhbm90aGVyIENsb3VkQXNzZW1ibHlTb3VyY2UgYW5kIHJ1bnMgYSBsb29rdXAgbG9vcCBvbiBpdFxuICpcbiAqIFRoaXMgbWVhbnMgdGhhdCBpZiB0aGUgdW5kZXJseWluZyBDbG91ZEFzc2VtYmx5U291cmNlIHByb2R1Y2VzIGEgbWFuaWZlc3RcbiAqIHdpdGggcHJvdmlkZXIgcXVlcmllcyBpbiBpdCwgdGhlIGBDb250ZXh0QXdhcmVDbG91ZEFzc2VtYmx5U291cmNlYCB3aWxsXG4gKiBwZXJmb3JtIHRoZSBuZWNlc3NhcnkgY29udGV4dCBsb29rdXBzIGFuZCBpbnZva2UgdGhlIHVuZGVybHlpbmdcbiAqIGBDbG91ZEFzc2VtYmx5U291cmNlYCBhZ2FpbiB3aXRoIHRoZXcgbWlzc2luZyBjb250ZXh0IGluZm9ybWF0aW9uLlxuICpcbiAqIFRoaXMgaXMgb25seSB1c2VmdWwgaWYgdGhlIHVuZGVybHlpbmcgYENsb3VkQXNzZW1ibHlTb3VyY2VgIGNhbiByZXNwb25kIHRvXG4gKiB0aGlzIG5ldyBjb250ZXh0IGluZm9ybWF0aW9uIChpdCBtdXN0IGJlIGEgQ0RLIGFwcCBzb3VyY2UpOyBpZiBpdCBpcyBqdXN0IGFcbiAqIHN0YXRpYyBkaXJlY3RvcnksIHRoZW4gdGhlIGNvbnRlbnRzIG9mIHRoZSBhc3NlbWJseSB3b24ndCBjaGFuZ2UgaW4gcmVzcG9uc2VcbiAqIHRvIGNvbnRleHQuXG4gKlxuICogVGhlIGNvbnRleHQgaXMgcGFzc2VkIGJldHdlZW4gYENvbnRleHRBd2FyZUNsb3VkQXNzZW1ibHlTb3VyY2VgIGFuZCB0aGUgd3JhcHBlZFxuICogY2xvdWQgYXNzZW1ibHkgc291cmNlIHZpYSBhIGNvbnRleCBmaWxlIG9uIGRpc2ssIHNvIHRoZSB3cmFwcGVkIGFzc2VtYmx5IHNvdXJjZVxuICogc2hvdWxkIHJlLXJlYWQgdGhlIGNvbnRleHQgZmlsZSBvbiBldmVyeSBpbnZvY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ29udGV4dEF3YXJlQ2xvdWRBc3NlbWJseVNvdXJjZSBpbXBsZW1lbnRzIElDbG91ZEFzc2VtYmx5U291cmNlIHtcbiAgcHJpdmF0ZSBjYW5Mb29rdXA6IGJvb2xlYW47XG4gIHByaXZhdGUgY29udGV4dDogQ29udGV4dDtcbiAgcHJpdmF0ZSBjb250ZXh0RmlsZTogc3RyaW5nO1xuICBwcml2YXRlIGlvSGVscGVyOiBJb0hlbHBlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogSUNsb3VkQXNzZW1ibHlTb3VyY2UsIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IENvbnRleHRBd2FyZUNsb3VkQXNzZW1ibHlQcm9wcykge1xuICAgIHRoaXMuY2FuTG9va3VwID0gcHJvcHMubG9va3VwcyA/PyB0cnVlO1xuICAgIHRoaXMuY29udGV4dCA9IHByb3BzLmNvbnRleHQ7XG4gICAgdGhpcy5jb250ZXh0RmlsZSA9IHByb3BzLmNvbnRleHRGaWxlID8/IFBST0pFQ1RfQ09OVEVYVDsgLy8gQHRvZG8gbmV3IGZlYXR1cmUgbm90IG5lZWRlZCByaWdodCBub3dcbiAgICB0aGlzLmlvSGVscGVyID0gcHJvcHMuc2VydmljZXMuaW9IZWxwZXI7XG4gIH1cblxuICAvKipcbiAgICogUHJvZHVjZSBhIENsb3VkIEFzc2VtYmx5LCBpLmUuIGEgc2V0IG9mIHN0YWNrc1xuICAgKi9cbiAgcHVibGljIGFzeW5jIHByb2R1Y2UoKTogUHJvbWlzZTxJUmVhZGFibGVDbG91ZEFzc2VtYmx5PiB7XG4gICAgLy8gV2UgbWF5IG5lZWQgdG8gcnVuIHRoZSBjbG91ZCBhc3NlbWJseSBzb3VyY2UgbXVsdGlwbGUgdGltZXMgaW4gb3JkZXIgdG8gc2F0aXNmeSBhbGwgbWlzc2luZyBjb250ZXh0XG4gICAgLy8gKFdoZW4gdGhlIHNvdXJjZSBwcm9kdWNlciBydW5zLCBpdCB3aWxsIHRlbGwgdXMgYWJvdXQgY29udGV4dCBpdCB3YW50cyB0byB1c2VcbiAgICAvLyBidXQgaXQgbWlzc2luZy4gV2UnbGwgdGhlbiBsb29rIHVwIHRoZSBjb250ZXh0IGFuZCBydW4gdGhlIGV4ZWN1dGFibGUgYWdhaW4sIGFuZFxuICAgIC8vIGFnYWluLCB1bnRpbCBpdCBkb2Vzbid0IGNvbXBsYWluIGFueW1vcmUgb3Igd2UndmUgc3RvcHBlZCBtYWtpbmcgcHJvZ3Jlc3MpLlxuICAgIGxldCBwcmV2aW91c2x5TWlzc2luZ0tleXM6IFNldDxzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBjb25zdCByZWFkYWJsZUFzbSA9IGF3YWl0IHRoaXMuc291cmNlLnByb2R1Y2UoKTtcblxuICAgICAgY29uc3QgYXNzZW1ibHkgPSByZWFkYWJsZUFzbS5jbG91ZEFzc2VtYmx5O1xuICAgICAgaWYgKGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcgJiYgYXNzZW1ibHkubWFuaWZlc3QubWlzc2luZy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IG1pc3NpbmdLZXlzU2V0ID0gbWlzc2luZ0NvbnRleHRLZXlzKGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcpO1xuICAgICAgICBjb25zdCBtaXNzaW5nS2V5cyA9IEFycmF5LmZyb20obWlzc2luZ0tleXNTZXQpO1xuXG4gICAgICAgIGlmICghdGhpcy5jYW5Mb29rdXApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKFxuICAgICAgICAgICAgJ0NvbnRleHQgbG9va3VwcyBoYXZlIGJlZW4gZGlzYWJsZWQuICdcbiAgICAgICAgICAgICsgJ01ha2Ugc3VyZSBhbGwgbmVjZXNzYXJ5IGNvbnRleHQgaXMgYWxyZWFkeSBpbiBcXCdjZGsuY29udGV4dC5qc29uXFwnIGJ5IHJ1bm5pbmcgXFwnY2RrIHN5bnRoXFwnIG9uIGEgbWFjaGluZSB3aXRoIHN1ZmZpY2llbnQgQVdTIGNyZWRlbnRpYWxzIGFuZCBjb21taXR0aW5nIHRoZSByZXN1bHQuICdcbiAgICAgICAgICAgICsgYE1pc3NpbmcgY29udGV4dCBrZXlzOiAnJHttaXNzaW5nS2V5cy5qb2luKCcsICcpfSdgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB0cnlMb29rdXAgPSB0cnVlO1xuICAgICAgICBpZiAocHJldmlvdXNseU1pc3NpbmdLZXlzICYmIGVxdWFsU2V0cyhtaXNzaW5nS2V5c1NldCwgcHJldmlvdXNseU1pc3NpbmdLZXlzKSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19BU1NFTUJMWV9JMDI0MC5tc2coJ05vdCBtYWtpbmcgcHJvZ3Jlc3MgdHJ5aW5nIHRvIHJlc29sdmUgZW52aXJvbm1lbnRhbCBjb250ZXh0LiBHaXZpbmcgdXAuJywgeyBtaXNzaW5nS2V5cyB9KSk7XG4gICAgICAgICAgdHJ5TG9va3VwID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c2x5TWlzc2luZ0tleXMgPSBtaXNzaW5nS2V5c1NldDtcblxuICAgICAgICBpZiAodHJ5TG9va3VwKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5pb0hlbHBlci5ub3RpZnkoSU8uQ0RLX0FTU0VNQkxZX0kwMjQxLm1zZygnU29tZSBjb250ZXh0IGluZm9ybWF0aW9uIGlzIG1pc3NpbmcuIEZldGNoaW5nLi4uJywgeyBtaXNzaW5nS2V5cyB9KSk7XG4gICAgICAgICAgYXdhaXQgY29udGV4dHByb3ZpZGVycy5wcm92aWRlQ29udGV4dFZhbHVlcyhcbiAgICAgICAgICAgIGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcsXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQsXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNlcnZpY2VzLnNka1Byb3ZpZGVyLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXJ2aWNlcy5wbHVnaW5Ib3N0LFxuICAgICAgICAgICAgdGhpcy5pb0hlbHBlcixcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgLy8gQ2FjaGUgdGhlIG5ldyBjb250ZXh0IHRvIGRpc2tcbiAgICAgICAgICBhd2FpdCB0aGlzLmlvSGVscGVyLm5vdGlmeShJTy5DREtfQVNTRU1CTFlfSTAwNDIubXNnKGBXcml0aW5nIHVwZGF0ZWQgY29udGV4dCB0byAke3RoaXMuY29udGV4dEZpbGV9Li4uYCwge1xuICAgICAgICAgICAgY29udGV4dEZpbGU6IHRoaXMuY29udGV4dEZpbGUsXG4gICAgICAgICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHQuYWxsLFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRleHQuc2F2ZSh0aGlzLmNvbnRleHRGaWxlKTtcblxuICAgICAgICAgIC8vIEV4ZWN1dGUgYWdhaW4uIFVubG9jayB0aGUgYXNzZW1ibHkgaGVyZSBzbyB0aGF0IHRoZSBwcm9kdWNlciBjYW4gYWNxdWlyZVxuICAgICAgICAgIC8vIGEgcmVhZCBsb2NrIG9uIHRoZSBkaXJlY3RvcnkgYWdhaW4uXG4gICAgICAgICAgYXdhaXQgcmVhZGFibGVBc20uX3VubG9jaygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWFkYWJsZUFzbTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gYWxsIGtleXMgb2YgbWlzc2luZyBjb250ZXh0IGl0ZW1zXG4gKi9cbmZ1bmN0aW9uIG1pc3NpbmdDb250ZXh0S2V5cyhtaXNzaW5nPzogTWlzc2luZ0NvbnRleHRbXSk6IFNldDxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBTZXQoKG1pc3NpbmcgfHwgW10pLm1hcChtID0+IG0ua2V5KSk7XG59XG5cbi8qKlxuICogQXJlIHR3byBzZXRzIGVxdWFsIHRvIGVhY2ggb3RoZXJcbiAqL1xuZnVuY3Rpb24gZXF1YWxTZXRzPEE+KGE6IFNldDxBPiwgYjogU2V0PEE+KSB7XG4gIGlmIChhLnNpemUgIT09IGIuc2l6ZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBmb3IgKGNvbnN0IHggb2YgYSkge1xuICAgIGlmICghYi5oYXMoeCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1hd2FyZS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb250ZXh0LWF3YXJlLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrREFBK0Q7QUFFL0Qsa0VBQThEO0FBRTlELDhDQUFzQztBQTBCdEM7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFhLCtCQUErQjtJQUtiO0lBQStDO0lBSnBFLFNBQVMsQ0FBVTtJQUNuQixPQUFPLENBQWdCO0lBQ3ZCLFFBQVEsQ0FBVztJQUUzQixZQUE2QixNQUE0QixFQUFtQixLQUFxQztRQUFwRixXQUFNLEdBQU4sTUFBTSxDQUFzQjtRQUFtQixVQUFLLEdBQUwsS0FBSyxDQUFnQztRQUMvRyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLHNHQUFzRztRQUN0RyxnRkFBZ0Y7UUFDaEYsbUZBQW1GO1FBQ25GLDhFQUE4RTtRQUM5RSxJQUFJLHFCQUE4QyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDWixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFaEQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUMzQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEUsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxJQUFJLDRCQUFZLENBQ3BCLHNDQUFzQzswQkFDcEMsc0tBQXNLOzBCQUN0SywwQkFBMEIsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNELENBQUM7Z0JBRUQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixJQUFJLHFCQUFxQixJQUFJLFNBQVMsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsRUFBRSxDQUFDO29CQUM5RSxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMseUVBQXlFLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2xKLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLENBQUM7Z0JBRUQscUJBQXFCLEdBQUcsY0FBYyxDQUFDO2dCQUV2QyxJQUFJLFNBQVMsRUFBRSxDQUFDO29CQUNkLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxrREFBa0QsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDM0gsTUFBTSxjQUFjLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FDaEUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUM5QixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7b0JBRUYsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFO3dCQUNqRixPQUFPLEVBQUUsY0FBYztxQkFDeEIsQ0FBQyxDQUFDLENBQUM7b0JBQ0osTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFFMUMsMkVBQTJFO29CQUMzRSxzQ0FBc0M7b0JBQ3RDLE1BQU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM1QixTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5FRCwwRUFtRUM7QUFFRDs7R0FFRztBQUNILFNBQVMsa0JBQWtCLENBQUMsT0FBMEI7SUFDcEQsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLFNBQVMsQ0FBSSxDQUFTLEVBQUUsQ0FBUztJQUN4QyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNkLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1pc3NpbmdDb250ZXh0IH0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCAqIGFzIGNvbnRleHRwcm92aWRlcnMgZnJvbSAnLi4vLi4vLi4vY29udGV4dC1wcm92aWRlcnMnO1xuaW1wb3J0IHR5cGUgeyBUb29sa2l0U2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi90b29sa2l0L3ByaXZhdGUnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi8uLi9pby9wcml2YXRlJztcbmltcG9ydCB7IElPIH0gZnJvbSAnLi4vLi4vaW8vcHJpdmF0ZSc7XG5pbXBvcnQgdHlwZSB7IElDb250ZXh0U3RvcmUgfSBmcm9tICcuLi9jb250ZXh0LXN0b3JlJztcbmltcG9ydCB0eXBlIHsgSUNsb3VkQXNzZW1ibHlTb3VyY2UsIElSZWFkYWJsZUNsb3VkQXNzZW1ibHkgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dEF3YXJlQ2xvdWRBc3NlbWJseVByb3BzIHtcbiAgLyoqXG4gICAqIEFXUyBvYmplY3QgKHVzZWQgYnkgY29udGV4dHByb3ZpZGVyKVxuICAgKiBAZGVwcmVjYXRlZCBjb250ZXh0IHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgdG9vbGtpdCBpdHNlbGZcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VzOiBUb29sa2l0U2VydmljZXM7XG5cbiAgLyoqXG4gICAqIExvY2F0aW9uIHRvIHJlYWQgYW5kIHdyaXRlIGNvbnRleHRcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHRTdG9yZTogSUNvbnRleHRTdG9yZTtcblxuICAvKipcbiAgICogRW5hYmxlIGNvbnRleHQgbG9va3Vwcy5cbiAgICpcbiAgICogUHJvZHVjaW5nIGEgYGN4YXBpLkNsb3VkQXNzZW1ibHlgIHdpbGwgZmFpbCBpZiB0aGlzIGlzIGRpc2FibGVkIGFuZCBjb250ZXh0IGxvb2t1cHMgbmVlZCB0byBiZSBwZXJmb3JtZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgQ2xvdWRBc3NlbWJseVNvdXJjZSB0aGF0IHdyYXBzIGFub3RoZXIgQ2xvdWRBc3NlbWJseVNvdXJjZSBhbmQgcnVucyBhIGxvb2t1cCBsb29wIG9uIGl0XG4gKlxuICogVGhpcyBtZWFucyB0aGF0IGlmIHRoZSB1bmRlcmx5aW5nIENsb3VkQXNzZW1ibHlTb3VyY2UgcHJvZHVjZXMgYSBtYW5pZmVzdFxuICogd2l0aCBwcm92aWRlciBxdWVyaWVzIGluIGl0LCB0aGUgYENvbnRleHRBd2FyZUNsb3VkQXNzZW1ibHlTb3VyY2VgIHdpbGxcbiAqIHBlcmZvcm0gdGhlIG5lY2Vzc2FyeSBjb250ZXh0IGxvb2t1cHMgYW5kIGludm9rZSB0aGUgdW5kZXJseWluZ1xuICogYENsb3VkQXNzZW1ibHlTb3VyY2VgIGFnYWluIHdpdGggdGhldyBtaXNzaW5nIGNvbnRleHQgaW5mb3JtYXRpb24uXG4gKlxuICogVGhpcyBpcyBvbmx5IHVzZWZ1bCBpZiB0aGUgdW5kZXJseWluZyBgQ2xvdWRBc3NlbWJseVNvdXJjZWAgY2FuIHJlc3BvbmQgdG9cbiAqIHRoaXMgbmV3IGNvbnRleHQgaW5mb3JtYXRpb24gKGl0IG11c3QgYmUgYSBDREsgYXBwIHNvdXJjZSk7IGlmIGl0IGlzIGp1c3QgYVxuICogc3RhdGljIGRpcmVjdG9yeSwgdGhlbiB0aGUgY29udGVudHMgb2YgdGhlIGFzc2VtYmx5IHdvbid0IGNoYW5nZSBpbiByZXNwb25zZVxuICogdG8gY29udGV4dC5cbiAqXG4gKiBUaGUgY29udGV4dCBpcyBwYXNzZWQgYmV0d2VlbiBgQ29udGV4dEF3YXJlQ2xvdWRBc3NlbWJseVNvdXJjZWAgYW5kIHRoZSB3cmFwcGVkXG4gKiBjbG91ZCBhc3NlbWJseSBzb3VyY2UgdmlhIGEgY29udGV4IGZpbGUgb24gZGlzaywgc28gdGhlIHdyYXBwZWQgYXNzZW1ibHkgc291cmNlXG4gKiBzaG91bGQgcmUtcmVhZCB0aGUgY29udGV4dCBmaWxlIG9uIGV2ZXJ5IGludm9jYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb250ZXh0QXdhcmVDbG91ZEFzc2VtYmx5U291cmNlIGltcGxlbWVudHMgSUNsb3VkQXNzZW1ibHlTb3VyY2Uge1xuICBwcml2YXRlIGNhbkxvb2t1cDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBjb250ZXh0OiBJQ29udGV4dFN0b3JlO1xuICBwcml2YXRlIGlvSGVscGVyOiBJb0hlbHBlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogSUNsb3VkQXNzZW1ibHlTb3VyY2UsIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IENvbnRleHRBd2FyZUNsb3VkQXNzZW1ibHlQcm9wcykge1xuICAgIHRoaXMuY2FuTG9va3VwID0gcHJvcHMubG9va3VwcyA/PyB0cnVlO1xuICAgIHRoaXMuY29udGV4dCA9IHByb3BzLmNvbnRleHRTdG9yZTtcbiAgICB0aGlzLmlvSGVscGVyID0gcHJvcHMuc2VydmljZXMuaW9IZWxwZXI7XG4gIH1cblxuICAvKipcbiAgICogUHJvZHVjZSBhIENsb3VkIEFzc2VtYmx5LCBpLmUuIGEgc2V0IG9mIHN0YWNrc1xuICAgKi9cbiAgcHVibGljIGFzeW5jIHByb2R1Y2UoKTogUHJvbWlzZTxJUmVhZGFibGVDbG91ZEFzc2VtYmx5PiB7XG4gICAgLy8gV2UgbWF5IG5lZWQgdG8gcnVuIHRoZSBjbG91ZCBhc3NlbWJseSBzb3VyY2UgbXVsdGlwbGUgdGltZXMgaW4gb3JkZXIgdG8gc2F0aXNmeSBhbGwgbWlzc2luZyBjb250ZXh0XG4gICAgLy8gKFdoZW4gdGhlIHNvdXJjZSBwcm9kdWNlciBydW5zLCBpdCB3aWxsIHRlbGwgdXMgYWJvdXQgY29udGV4dCBpdCB3YW50cyB0byB1c2VcbiAgICAvLyBidXQgaXQgbWlzc2luZy4gV2UnbGwgdGhlbiBsb29rIHVwIHRoZSBjb250ZXh0IGFuZCBydW4gdGhlIGV4ZWN1dGFibGUgYWdhaW4sIGFuZFxuICAgIC8vIGFnYWluLCB1bnRpbCBpdCBkb2Vzbid0IGNvbXBsYWluIGFueW1vcmUgb3Igd2UndmUgc3RvcHBlZCBtYWtpbmcgcHJvZ3Jlc3MpLlxuICAgIGxldCBwcmV2aW91c2x5TWlzc2luZ0tleXM6IFNldDxzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBjb25zdCByZWFkYWJsZUFzbSA9IGF3YWl0IHRoaXMuc291cmNlLnByb2R1Y2UoKTtcblxuICAgICAgY29uc3QgYXNzZW1ibHkgPSByZWFkYWJsZUFzbS5jbG91ZEFzc2VtYmx5O1xuICAgICAgaWYgKGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcgJiYgYXNzZW1ibHkubWFuaWZlc3QubWlzc2luZy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IG1pc3NpbmdLZXlzU2V0ID0gbWlzc2luZ0NvbnRleHRLZXlzKGFzc2VtYmx5Lm1hbmlmZXN0Lm1pc3NpbmcpO1xuICAgICAgICBjb25zdCBtaXNzaW5nS2V5cyA9IEFycmF5LmZyb20obWlzc2luZ0tleXNTZXQpO1xuXG4gICAgICAgIGlmICghdGhpcy5jYW5Mb29rdXApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKFxuICAgICAgICAgICAgJ0NvbnRleHQgbG9va3VwcyBoYXZlIGJlZW4gZGlzYWJsZWQuICdcbiAgICAgICAgICAgICsgJ01ha2Ugc3VyZSBhbGwgbmVjZXNzYXJ5IGNvbnRleHQgaXMgYWxyZWFkeSBpbiBcXCdjZGsuY29udGV4dC5qc29uXFwnIGJ5IHJ1bm5pbmcgXFwnY2RrIHN5bnRoXFwnIG9uIGEgbWFjaGluZSB3aXRoIHN1ZmZpY2llbnQgQVdTIGNyZWRlbnRpYWxzIGFuZCBjb21taXR0aW5nIHRoZSByZXN1bHQuICdcbiAgICAgICAgICAgICsgYE1pc3NpbmcgY29udGV4dCBrZXlzOiAnJHttaXNzaW5nS2V5cy5qb2luKCcsICcpfSdgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB0cnlMb29rdXAgPSB0cnVlO1xuICAgICAgICBpZiAocHJldmlvdXNseU1pc3NpbmdLZXlzICYmIGVxdWFsU2V0cyhtaXNzaW5nS2V5c1NldCwgcHJldmlvdXNseU1pc3NpbmdLZXlzKSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19BU1NFTUJMWV9JMDI0MC5tc2coJ05vdCBtYWtpbmcgcHJvZ3Jlc3MgdHJ5aW5nIHRvIHJlc29sdmUgZW52aXJvbm1lbnRhbCBjb250ZXh0LiBHaXZpbmcgdXAuJywgeyBtaXNzaW5nS2V5cyB9KSk7XG4gICAgICAgICAgdHJ5TG9va3VwID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c2x5TWlzc2luZ0tleXMgPSBtaXNzaW5nS2V5c1NldDtcblxuICAgICAgICBpZiAodHJ5TG9va3VwKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5pb0hlbHBlci5ub3RpZnkoSU8uQ0RLX0FTU0VNQkxZX0kwMjQxLm1zZygnU29tZSBjb250ZXh0IGluZm9ybWF0aW9uIGlzIG1pc3NpbmcuIEZldGNoaW5nLi4uJywgeyBtaXNzaW5nS2V5cyB9KSk7XG4gICAgICAgICAgY29uc3QgY29udGV4dFVwZGF0ZXMgPSBhd2FpdCBjb250ZXh0cHJvdmlkZXJzLnByb3ZpZGVDb250ZXh0VmFsdWVzKFxuICAgICAgICAgICAgYXNzZW1ibHkubWFuaWZlc3QubWlzc2luZyxcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2VydmljZXMuc2RrUHJvdmlkZXIsXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNlcnZpY2VzLnBsdWdpbkhvc3QsXG4gICAgICAgICAgICB0aGlzLmlvSGVscGVyLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBhd2FpdCB0aGlzLmlvSGVscGVyLm5vdGlmeShJTy5DREtfQVNTRU1CTFlfSTAwNDIubXNnKCdXcml0aW5nIGNvbnRleHQgdXBkYXRlcy4uLicsIHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGNvbnRleHRVcGRhdGVzLFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNvbnRleHQudXBkYXRlKGNvbnRleHRVcGRhdGVzKTtcblxuICAgICAgICAgIC8vIEV4ZWN1dGUgYWdhaW4uIFVubG9jayB0aGUgYXNzZW1ibHkgaGVyZSBzbyB0aGF0IHRoZSBwcm9kdWNlciBjYW4gYWNxdWlyZVxuICAgICAgICAgIC8vIGEgcmVhZCBsb2NrIG9uIHRoZSBkaXJlY3RvcnkgYWdhaW4uXG4gICAgICAgICAgYXdhaXQgcmVhZGFibGVBc20uX3VubG9jaygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWFkYWJsZUFzbTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gYWxsIGtleXMgb2YgbWlzc2luZyBjb250ZXh0IGl0ZW1zXG4gKi9cbmZ1bmN0aW9uIG1pc3NpbmdDb250ZXh0S2V5cyhtaXNzaW5nPzogTWlzc2luZ0NvbnRleHRbXSk6IFNldDxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBTZXQoKG1pc3NpbmcgfHwgW10pLm1hcChtID0+IG0ua2V5KSk7XG59XG5cbi8qKlxuICogQXJlIHR3byBzZXRzIGVxdWFsIHRvIGVhY2ggb3RoZXJcbiAqL1xuZnVuY3Rpb24gZXF1YWxTZXRzPEE+KGE6IFNldDxBPiwgYjogU2V0PEE+KSB7XG4gIGlmIChhLnNpemUgIT09IGIuc2l6ZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBmb3IgKGNvbnN0IHggb2YgYSkge1xuICAgIGlmICghYi5oYXMoeCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=
|
|
@@ -23,10 +23,7 @@ async function execInChildProcess(commandAndArgs, options = {}) {
|
|
|
23
23
|
detached: false,
|
|
24
24
|
shell: true,
|
|
25
25
|
cwd: options.cwd,
|
|
26
|
-
env:
|
|
27
|
-
...process.env,
|
|
28
|
-
...(options.extraEnv ?? {}),
|
|
29
|
-
},
|
|
26
|
+
env: options.env,
|
|
30
27
|
});
|
|
31
28
|
const eventPublisher = options.eventPublisher ?? ((type, line) => {
|
|
32
29
|
switch (type) {
|
|
@@ -54,4 +51,4 @@ async function execInChildProcess(commandAndArgs, options = {}) {
|
|
|
54
51
|
});
|
|
55
52
|
});
|
|
56
53
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV4ZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsZ0RBNENDO0FBNURELG9EQUFvRDtBQUNwRCxpRUFBaUU7QUFDakUsZ0NBQWlDO0FBQ2pDLGtFQUE4RDtBQVU5RDs7R0FFRztBQUNJLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxjQUFzQixFQUFFLFVBQXVCLEVBQUU7SUFDeEYsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNwQyw4Q0FBOEM7UUFDOUMsRUFBRTtRQUNGLG9FQUFvRTtRQUNwRSx3RUFBd0U7UUFDeEUsMERBQTBEO1FBQzFELEVBQUU7UUFDRiwwRkFBMEY7UUFDMUYsc0ZBQXNGO1FBQ3RGLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFO1lBQy9DLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ2pDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1NBQ2pCLENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFtQixPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDL0UsUUFBUSxJQUFJLEVBQUUsQ0FBQztnQkFDYixLQUFLLGFBQWE7b0JBQ2hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMzQixPQUFPO2dCQUNULEtBQUssYUFBYTtvQkFDaEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzNCLE9BQU87Z0JBQ1QsS0FBSyxNQUFNLENBQUM7Z0JBQ1osS0FBSyxPQUFPO29CQUNWLE9BQU87WUFDWCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV2QixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNyQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDZixPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ2QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksNEJBQVksQ0FBQyxHQUFHLGNBQWMsa0NBQWtDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzRixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZF9wcm9jZXNzIGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuaW1wb3J0IHNwbGl0ID0gcmVxdWlyZSgnc3BsaXQyJyk7XG5pbXBvcnQgeyBUb29sa2l0RXJyb3IgfSBmcm9tICcuLi8uLi8uLi90b29sa2l0L3Rvb2xraXQtZXJyb3InO1xuXG50eXBlIEV2ZW50UHVibGlzaGVyID0gKGV2ZW50OiAnb3BlbicgfCAnZGF0YV9zdGRvdXQnIHwgJ2RhdGFfc3RkZXJyJyB8ICdjbG9zZScsIGxpbmU6IHN0cmluZykgPT4gdm9pZDtcblxuaW50ZXJmYWNlIEV4ZWNPcHRpb25zIHtcbiAgZXZlbnRQdWJsaXNoZXI/OiBFdmVudFB1Ymxpc2hlcjtcbiAgZW52PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfTtcbiAgY3dkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEV4ZWN1dGUgYSBjb21tYW5kIGFuZCBhcmdzIGluIGEgY2hpbGQgcHJvY2Vzc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY0luQ2hpbGRQcm9jZXNzKGNvbW1hbmRBbmRBcmdzOiBzdHJpbmcsIG9wdGlvbnM6IEV4ZWNPcHRpb25zID0ge30pIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChvaywgZmFpbCkgPT4ge1xuICAgIC8vIFdlIHVzZSBhIHNsaWdodGx5IGxvd2VyLWxldmVsIGludGVyZmFjZSB0bzpcbiAgICAvL1xuICAgIC8vIC0gUGFzcyBhcmd1bWVudHMgaW4gYW4gYXJyYXkgaW5zdGVhZCBvZiBhIHN0cmluZywgdG8gZ2V0IGFyb3VuZCBhXG4gICAgLy8gICBudW1iZXIgb2YgcXVvdGluZyBpc3N1ZXMgaW50cm9kdWNlZCBieSB0aGUgaW50ZXJtZWRpYXRlIHNoZWxsIGxheWVyXG4gICAgLy8gICAod2hpY2ggd291bGQgYmUgZGlmZmVyZW50IGJldHdlZW4gTGludXggYW5kIFdpbmRvd3MpLlxuICAgIC8vXG4gICAgLy8gLSBXZSBoYXZlIHRvIGNhcHR1cmUgYW55IG91dHB1dCB0byBzdGRvdXQgYW5kIHN0ZGVyciBzcCB3ZSBjYW4gcGFzcyBpdCBvbiB0byB0aGUgSW9Ib3N0XG4gICAgLy8gICBUbyBlbnN1cmUgbWVzc2FnZXMgZ2V0IHRvIHRoZSB1c2VyIGZhc3QsIHdlIHdpbGwgZW1pdCBldmVyeSBmdWxsIGxpbmUgd2UgcmVjZWl2ZS5cbiAgICBjb25zdCBwcm9jID0gY2hpbGRfcHJvY2Vzcy5zcGF3bihjb21tYW5kQW5kQXJncywge1xuICAgICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAncGlwZSddLFxuICAgICAgZGV0YWNoZWQ6IGZhbHNlLFxuICAgICAgc2hlbGw6IHRydWUsXG4gICAgICBjd2Q6IG9wdGlvbnMuY3dkLFxuICAgICAgZW52OiBvcHRpb25zLmVudixcbiAgICB9KTtcblxuICAgIGNvbnN0IGV2ZW50UHVibGlzaGVyOiBFdmVudFB1Ymxpc2hlciA9IG9wdGlvbnMuZXZlbnRQdWJsaXNoZXIgPz8gKCh0eXBlLCBsaW5lKSA9PiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnZGF0YV9zdGRvdXQnOlxuICAgICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGxpbmUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAnZGF0YV9zdGRlcnInOlxuICAgICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGxpbmUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAnb3Blbic6XG4gICAgICAgIGNhc2UgJ2Nsb3NlJzpcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSk7XG4gICAgcHJvYy5zdGRvdXQucGlwZShzcGxpdCgpKS5vbignZGF0YScsIChsaW5lKSA9PiBldmVudFB1Ymxpc2hlcignZGF0YV9zdGRvdXQnLCBsaW5lKSk7XG4gICAgcHJvYy5zdGRlcnIucGlwZShzcGxpdCgpKS5vbignZGF0YScsIChsaW5lKSA9PiBldmVudFB1Ymxpc2hlcignZGF0YV9zdGRlcnInLCBsaW5lKSk7XG5cbiAgICBwcm9jLm9uKCdlcnJvcicsIGZhaWwpO1xuXG4gICAgcHJvYy5vbignZXhpdCcsIGNvZGUgPT4ge1xuICAgICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG9rKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFpbChuZXcgVG9vbGtpdEVycm9yKGAke2NvbW1hbmRBbmRBcmdzfTogU3VicHJvY2VzcyBleGl0ZWQgd2l0aCBlcnJvciAke2NvZGV9YCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Temporarily overwrite the `process.env` with a new `env`
|
|
3
|
+
*
|
|
4
|
+
* We make the environment immutable in case there are accidental
|
|
5
|
+
* concurrent accesses.
|
|
6
|
+
*/
|
|
7
|
+
export declare function temporarilyWriteEnv(env: Record<string, string>): {
|
|
8
|
+
[Symbol.dispose](): void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.temporarilyWriteEnv = temporarilyWriteEnv;
|
|
4
|
+
const toolkit_error_1 = require("../../../toolkit/toolkit-error");
|
|
5
|
+
/**
|
|
6
|
+
* Temporarily overwrite the `process.env` with a new `env`
|
|
7
|
+
*
|
|
8
|
+
* We make the environment immutable in case there are accidental
|
|
9
|
+
* concurrent accesses.
|
|
10
|
+
*/
|
|
11
|
+
function temporarilyWriteEnv(env) {
|
|
12
|
+
const oldEnv = process.env;
|
|
13
|
+
process.env = detectSynthvarConflicts({
|
|
14
|
+
...process.env,
|
|
15
|
+
...env,
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
[Symbol.dispose]() {
|
|
19
|
+
process.env = oldEnv;
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Return an environment-like object that throws if certain keys are set
|
|
25
|
+
*
|
|
26
|
+
* We only throw on specific environment variables to catch the case of
|
|
27
|
+
* concurrent synths. We can't do all variables because there are some
|
|
28
|
+
* routines somewhere that modify things like `JSII_DEPRECATED` globally.
|
|
29
|
+
*/
|
|
30
|
+
function detectSynthvarConflicts(obj) {
|
|
31
|
+
return new Proxy(obj, {
|
|
32
|
+
get(target, prop) {
|
|
33
|
+
return target[prop];
|
|
34
|
+
},
|
|
35
|
+
set(target, prop, value) {
|
|
36
|
+
if (['CDK_CONTEXT', 'CDK_OUTDIR'].includes(String(prop))) {
|
|
37
|
+
throw new toolkit_error_1.ToolkitError('process.env is temporarily immutable. Set \'clobberEnv: false\' if you want to run multiple \'fromAssemblyBuilder\' synths concurrently');
|
|
38
|
+
}
|
|
39
|
+
target[prop] = value;
|
|
40
|
+
return true;
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxrREFhQztBQXJCRCxrRUFBOEQ7QUFFOUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxHQUEyQjtJQUM3RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBRTNCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsdUJBQXVCLENBQUM7UUFDcEMsR0FBRyxPQUFPLENBQUMsR0FBRztRQUNkLEdBQUcsR0FBRztLQUNQLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDZCxPQUFPLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUN2QixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLHVCQUF1QixDQUFtQixHQUFNO0lBQ3ZELE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ3BCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSTtZQUNkLE9BQVEsTUFBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pELE1BQU0sSUFBSSw0QkFBWSxDQUFDLHlJQUF5SSxDQUFDLENBQUM7WUFDcEssQ0FBQztZQUNBLE1BQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uLy4uLy4uL3Rvb2xraXQvdG9vbGtpdC1lcnJvcic7XG5cbi8qKlxuICogVGVtcG9yYXJpbHkgb3ZlcndyaXRlIHRoZSBgcHJvY2Vzcy5lbnZgIHdpdGggYSBuZXcgYGVudmBcbiAqXG4gKiBXZSBtYWtlIHRoZSBlbnZpcm9ubWVudCBpbW11dGFibGUgaW4gY2FzZSB0aGVyZSBhcmUgYWNjaWRlbnRhbFxuICogY29uY3VycmVudCBhY2Nlc3Nlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlbXBvcmFyaWx5V3JpdGVFbnYoZW52OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gIGNvbnN0IG9sZEVudiA9IHByb2Nlc3MuZW52O1xuXG4gIHByb2Nlc3MuZW52ID0gZGV0ZWN0U3ludGh2YXJDb25mbGljdHMoe1xuICAgIC4uLnByb2Nlc3MuZW52LFxuICAgIC4uLmVudixcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBbU3ltYm9sLmRpc3Bvc2VdKCkge1xuICAgICAgcHJvY2Vzcy5lbnYgPSBvbGRFbnY7XG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYW4gZW52aXJvbm1lbnQtbGlrZSBvYmplY3QgdGhhdCB0aHJvd3MgaWYgY2VydGFpbiBrZXlzIGFyZSBzZXRcbiAqXG4gKiBXZSBvbmx5IHRocm93IG9uIHNwZWNpZmljIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBjYXRjaCB0aGUgY2FzZSBvZlxuICogY29uY3VycmVudCBzeW50aHMuIFdlIGNhbid0IGRvIGFsbCB2YXJpYWJsZXMgYmVjYXVzZSB0aGVyZSBhcmUgc29tZVxuICogcm91dGluZXMgc29tZXdoZXJlIHRoYXQgbW9kaWZ5IHRoaW5ncyBsaWtlIGBKU0lJX0RFUFJFQ0FURURgIGdsb2JhbGx5LlxuICovXG5mdW5jdGlvbiBkZXRlY3RTeW50aHZhckNvbmZsaWN0czxBIGV4dGVuZHMgb2JqZWN0PihvYmo6IEEpIHtcbiAgcmV0dXJuIG5ldyBQcm94eShvYmosIHtcbiAgICBnZXQodGFyZ2V0LCBwcm9wKSB7XG4gICAgICByZXR1cm4gKHRhcmdldCBhcyBhbnkpW3Byb3BdO1xuICAgIH0sXG4gICAgc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUpIHtcbiAgICAgIGlmIChbJ0NES19DT05URVhUJywgJ0NES19PVVRESVInXS5pbmNsdWRlcyhTdHJpbmcocHJvcCkpKSB7XG4gICAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoJ3Byb2Nlc3MuZW52IGlzIHRlbXBvcmFyaWx5IGltbXV0YWJsZS4gU2V0IFxcJ2Nsb2JiZXJFbnY6IGZhbHNlXFwnIGlmIHlvdSB3YW50IHRvIHJ1biBtdWx0aXBsZSBcXCdmcm9tQXNzZW1ibHlCdWlsZGVyXFwnIHN5bnRocyBjb25jdXJyZW50bHknKTtcbiAgICAgIH1cbiAgICAgICh0YXJnZXQgYXMgYW55KVtwcm9wXSA9IHZhbHVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -18,6 +18,5 @@ __exportStar(require("./context-aware-source"), exports);
|
|
|
18
18
|
__exportStar(require("./stack-assembly"), exports);
|
|
19
19
|
__exportStar(require("./exec"), exports);
|
|
20
20
|
__exportStar(require("./prepare-source"), exports);
|
|
21
|
-
__exportStar(require("./source-builder"), exports);
|
|
22
21
|
__exportStar(require("./stack-selectors"), exports);
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQXVDO0FBQ3ZDLG1EQUFpQztBQUNqQyx5Q0FBdUI7QUFDdkIsbURBQWlDO0FBQ2pDLG9EQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1hd2FyZS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFjay1hc3NlbWJseSc7XG5leHBvcnQgKiBmcm9tICcuL2V4ZWMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmVwYXJlLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0YWNrLXNlbGVjdG9ycyc7XG4iXX0=
|