@cloudsnorkel/cdk-github-runners 0.12.5 → 0.13.1
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/.jsii +331 -193
- package/API.md +20 -0
- package/assets/idle-runner-repear.lambda/index.js +44 -11
- package/assets/image-builders/aws-image-builder/delete-ami.lambda/index.js +9 -4
- package/assets/image-builders/aws-image-builder/filter-failed-builds.lambda/index.js +1 -1
- package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +1 -1
- package/assets/image-builders/build-image.lambda/index.js +11 -27
- package/assets/providers/ami-root-device.lambda/index.js +1 -1
- package/assets/providers/update-lambda.lambda/index.js +1 -1
- package/assets/setup.lambda/index.html +1 -1
- package/assets/webhook-handler.lambda/index.js +29 -11
- package/lib/access.js +1 -1
- package/lib/idle-runner-repear.lambda.js +45 -12
- package/lib/image-builders/api.js +1 -1
- package/lib/image-builders/aws-image-builder/builder.d.ts +2 -1
- package/lib/image-builders/aws-image-builder/builder.js +23 -10
- package/lib/image-builders/aws-image-builder/common.js +3 -2
- package/lib/image-builders/aws-image-builder/container.d.ts +1 -3
- package/lib/image-builders/aws-image-builder/container.js +3 -2
- package/lib/image-builders/aws-image-builder/delete-ami.lambda.js +10 -5
- package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/container.js +3 -3
- package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
- package/lib/image-builders/aws-image-builder/filter-failed-builds.lambda.js +2 -2
- package/lib/image-builders/aws-image-builder/versioner.lambda.js +2 -2
- package/lib/image-builders/build-image.lambda.d.ts +11 -0
- package/lib/image-builders/build-image.lambda.js +12 -30
- package/lib/image-builders/codebuild-deprecated.js +1 -1
- package/lib/image-builders/codebuild.d.ts +1 -0
- package/lib/image-builders/codebuild.js +51 -26
- package/lib/image-builders/common.d.ts +10 -0
- package/lib/image-builders/common.js +1 -1
- package/lib/image-builders/components.js +1 -1
- package/lib/image-builders/static.js +1 -1
- package/lib/providers/ami-root-device.lambda.js +2 -2
- package/lib/providers/codebuild.js +2 -2
- package/lib/providers/common.js +7 -6
- package/lib/providers/ec2.js +2 -2
- package/lib/providers/ecs.js +1 -1
- package/lib/providers/fargate.js +2 -2
- package/lib/providers/lambda.js +13 -10
- package/lib/providers/update-lambda.lambda.js +2 -2
- package/lib/runner.js +44 -19
- package/lib/secrets.js +1 -1
- package/lib/utils.d.ts +19 -1
- package/lib/utils.js +32 -2
- package/lib/webhook-handler.lambda.js +30 -12
- package/lib/webhook.js +5 -3
- package/package.json +17 -17
|
@@ -109,14 +109,20 @@ async function handler(event) {
|
|
|
109
109
|
}
|
|
110
110
|
const payload = JSON.parse(body);
|
|
111
111
|
if (payload.action !== 'queued') {
|
|
112
|
-
console.log(
|
|
112
|
+
console.log({
|
|
113
|
+
notice: `Ignoring action "${payload.action}", expecting "queued"`,
|
|
114
|
+
job: payload.workflow_job,
|
|
115
|
+
});
|
|
113
116
|
return {
|
|
114
117
|
statusCode: 200,
|
|
115
118
|
body: 'OK. No runner started (action is not "queued").',
|
|
116
119
|
};
|
|
117
120
|
}
|
|
118
121
|
if (process.env.REQUIRE_SELF_HOSTED_LABEL === '1' && !payload.workflow_job.labels.includes('self-hosted')) {
|
|
119
|
-
console.log(
|
|
122
|
+
console.log({
|
|
123
|
+
notice: `Ignoring labels "${payload.workflow_job.labels}", expecting "self-hosted"`,
|
|
124
|
+
job: payload.workflow_job,
|
|
125
|
+
});
|
|
120
126
|
return {
|
|
121
127
|
statusCode: 200,
|
|
122
128
|
body: 'OK. No runner started (no "self-hosted" label).',
|
|
@@ -125,7 +131,10 @@ async function handler(event) {
|
|
|
125
131
|
// don't start step function unless labels match a runner provider
|
|
126
132
|
const provider = matchLabelsToProvider(payload.workflow_job.labels);
|
|
127
133
|
if (!provider) {
|
|
128
|
-
console.log(
|
|
134
|
+
console.log({
|
|
135
|
+
notice: `Ignoring labels "${payload.workflow_job.labels}", as they don't match a supported runner provider`,
|
|
136
|
+
job: payload.workflow_job,
|
|
137
|
+
});
|
|
129
138
|
return {
|
|
130
139
|
statusCode: 200,
|
|
131
140
|
body: 'OK. No runner started (no provider with matching labels).',
|
|
@@ -133,36 +142,45 @@ async function handler(event) {
|
|
|
133
142
|
}
|
|
134
143
|
// don't start runners for a deployment that's still pending as GitHub will send another event when it's ready
|
|
135
144
|
if (await isDeploymentPending(payload)) {
|
|
136
|
-
console.log(
|
|
145
|
+
console.log({
|
|
146
|
+
notice: 'Ignoring job as its deployment is still pending',
|
|
147
|
+
job: payload.workflow_job,
|
|
148
|
+
});
|
|
137
149
|
return {
|
|
138
150
|
statusCode: 200,
|
|
139
151
|
body: 'OK. No runner started (deployment pending).',
|
|
140
152
|
};
|
|
141
153
|
}
|
|
142
154
|
// set execution name which is also used as runner name which are limited to 64 characters
|
|
143
|
-
let executionName =
|
|
155
|
+
let executionName = payload.repository.full_name.replace('/', '-').slice(0, 50);
|
|
156
|
+
let deliveryId = getHeader(event, 'x-github-delivery') ?? `${Math.random()}`;
|
|
157
|
+
executionName = `${executionName}-${deliveryId.slice(0, 63 - executionName.length)}`;
|
|
144
158
|
// start execution
|
|
145
|
-
const input =
|
|
159
|
+
const input = {
|
|
146
160
|
owner: payload.repository.owner.login,
|
|
147
161
|
repo: payload.repository.name,
|
|
148
162
|
jobId: payload.workflow_job.id,
|
|
149
163
|
jobUrl: payload.workflow_job.html_url,
|
|
150
164
|
installationId: payload.installation?.id ?? -1, // always pass value because step function can't handle missing input
|
|
151
|
-
labels: payload.workflow_job.labels,
|
|
165
|
+
labels: payload.workflow_job.labels.join(','),
|
|
152
166
|
provider: provider,
|
|
153
|
-
}
|
|
167
|
+
};
|
|
154
168
|
const execution = await sf.send(new client_sfn_1.StartExecutionCommand({
|
|
155
169
|
stateMachineArn: process.env.STEP_FUNCTION_ARN,
|
|
156
|
-
input: input,
|
|
170
|
+
input: JSON.stringify(input),
|
|
157
171
|
// name is not random so multiple execution of this webhook won't cause multiple builders to start
|
|
158
172
|
name: executionName,
|
|
159
173
|
}));
|
|
160
|
-
console.log(
|
|
161
|
-
|
|
174
|
+
console.log({
|
|
175
|
+
notice: 'Started orchestrator',
|
|
176
|
+
execution: execution.executionArn,
|
|
177
|
+
sfnInput: input,
|
|
178
|
+
job: payload.workflow_job,
|
|
179
|
+
});
|
|
162
180
|
return {
|
|
163
181
|
statusCode: 202,
|
|
164
182
|
body: executionName,
|
|
165
183
|
};
|
|
166
184
|
}
|
|
167
185
|
exports.handler = handler;
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9vay1oYW5kbGVyLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93ZWJob29rLWhhbmRsZXIubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFpQztBQUNqQyxvREFBdUU7QUFFdkUsbURBQTZDO0FBQzdDLHFEQUFzRDtBQUd0RCxNQUFNLEVBQUUsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztBQUUzQiw4QkFBOEI7QUFFOUIsU0FBUyxTQUFTLENBQUMsS0FBdUMsRUFBRSxNQUFjO0lBQ3hFLG9GQUFvRjtJQUNwRixLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDcEQsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDdEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxLQUF1QyxFQUFFLE1BQVc7SUFDN0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRS9FLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFZLENBQUM7SUFDakIsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMs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Q0FBQyxpQkFBaUI7UUFDOUMsS0FBSyxFQUFFLEtBQUs7UUFDWixrR0FBa0c7UUFDbEcsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDLENBQUM7SUFFSixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVuQixPQUFPO1FBQ0wsVUFBVSxFQUFFLEdBQUc7UUFDZixJQUFJLEVBQUUsYUFBYTtLQUNwQixDQUFDO0FBQ0osQ0FBQztBQTFHRCwwQkEwR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IFNGTkNsaWVudCwgU3RhcnRFeGVjdXRpb25Db21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXNmbic7XG5pbXBvcnQgKiBhcyBBV1NMYW1iZGEgZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBnZXRPY3Rva2l0IH0gZnJvbSAnLi9sYW1iZGEtZ2l0aHViJztcbmltcG9ydCB7IGdldFNlY3JldEpzb25WYWx1ZSB9IGZyb20gJy4vbGFtYmRhLWhlbHBlcnMnO1xuaW1wb3J0IHsgU3VwcG9ydGVkTGFiZWxzIH0gZnJvbSAnLi93ZWJob29rJztcblxuY29uc3Qgc2YgPSBuZXcgU0ZOQ2xpZW50KCk7XG5cbi8vIFRPRE8gdXNlIEBvY3Rva2l0L3dlYmhvb2tzP1xuXG5mdW5jdGlvbiBnZXRIZWFkZXIoZXZlbnQ6IEFXU0xhbWJkYS5BUElHYXRld2F5UHJveHlFdmVudFYyLCBoZWFkZXI6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIC8vIEFQSSBHYXRld2F5IGRvZXNuJ3QgbG93ZXJjYXNlIGhlYWRlcnMgKFYxIGV2ZW50KSBidXQgTGFtYmRhIFVSTHMgZG8gKFYyIGV2ZW50KSA6KFxuICBmb3IgKGNvbnN0IGhlYWRlck5hbWUgb2YgT2JqZWN0LmtleXMoZXZlbnQuaGVhZGVycykpIHtcbiAgICBpZiAoaGVhZGVyTmFtZS50b0xvd2VyQ2FzZSgpID09PSBoZWFkZXIudG9Mb3dlckNhc2UoKSkge1xuICAgICAgcmV0dXJuIGV2ZW50LmhlYWRlcnNbaGVhZGVyTmFtZV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBFeHBvcnRlZCBmb3IgdW5pdCB0ZXN0aW5nLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlCb2R5KGV2ZW50OiBBV1NMYW1iZGEuQVBJR2F0ZXdheVByb3h5RXZlbnRWMiwgc2VjcmV0OiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBzaWcgPSBCdWZmZXIuZnJvbShnZXRIZWFkZXIoZXZlbnQsICd4LWh1Yi1zaWduYXR1cmUtMjU2JykgfHwgJycsICd1dGY4Jyk7XG5cbiAgaWYgKCFldmVudC5ib2R5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBib2R5Jyk7XG4gIH1cblxuICBsZXQgYm9keTogQnVmZmVyO1xuICBpZiAoZXZlbnQuaXNCYXNlNjRFbmNvZGVkKSB7XG4gICAgYm9keSA9IEJ1ZmZlci5mcm9tKGV2ZW50LmJvZHksICdiYXNlNjQnKTtcbiAgfSBlbHNlIHtcbiAgICBib2R5ID0gQnVmZmVyLmZyb20oZXZlbnQuYm9keSB8fCAnJywgJ3V0ZjgnKTtcbiAgfVxuXG4gIGNvbnN0IGhtYWMgPSBjcnlwdG8uY3JlYXRlSG1hYygnc2hhMjU2Jywgc2VjcmV0KTtcbiAgaG1hYy51cGRhdGUoYm9keSk7XG4gIGNvbnN0IGV4cGVjdGVkU2lnID0gQnVmZmVyLmZyb20oYHNoYTI1Nj0ke2htYWMuZGlnZXN0KCdoZXgnKX1gLCAndXRmOCcpO1xuXG4gIGNvbnNvbGUubG9nKCdDYWxjdWxhdGVkIHNpZ25hdHVyZTogJywgZXhwZWN0ZWRTaWcudG9TdHJpbmcoKSk7XG5cbiAgaWYgKHNpZy5sZW5ndGggIT09IGV4cGVjdGVkU2lnLmxlbmd0aCB8fCAhY3J5cHRvLnRpbWluZ1NhZmVFcXVhbChzaWcsIGV4cGVjdGVkU2lnKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU2lnbmF0dXJlIG1pc21hdGNoLiBFeHBlY3RlZCAke2V4cGVjdGVkU2lnLnRvU3RyaW5nKCl9IGJ1dCBnb3QgJHtzaWcudG9TdHJpbmcoKX1gKTtcbiAgfVxuXG4gIHJldHVybiBib2R5LnRvU3RyaW5nKCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGlzRGVwbG95bWVudFBlbmRpbmcocGF5bG9hZDogYW55KSB7XG4gIGNvbnN0IHN0YXR1c2VzVXJsID0gcGF5bG9hZC5kZXBsb3ltZW50Py5zdGF0dXNlc191cmw7XG4gIGlmIChzdGF0dXNlc1VybCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCB7IG9jdG9raXQgfSA9IGF3YWl0IGdldE9jdG9raXQocGF5bG9hZC5pbnN0YWxsYXRpb24/LmlkKTtcbiAgICBjb25zdCBzdGF0dXNlcyA9IGF3YWl0IG9jdG9raXQucmVxdWVzdChzdGF0dXNlc1VybCk7XG5cbiAgICByZXR1cm4gc3RhdHVzZXMuZGF0YVswXT8uc3RhdGUgPT09ICd3YWl0aW5nJztcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1VuYWJsZSB0byBjaGVjayBkZXBsb3ltZW50LiBUcnkgYWRkaW5nIGRlcGxveW1lbnQgcmVhZCBwZXJtaXNzaW9uLicsIGUpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaExhYmVsc1RvUHJvdmlkZXIobGFiZWxzOiBzdHJpbmdbXSkge1xuICBjb25zdCBqb2JMYWJlbFNldCA9IGxhYmVscy5tYXAoKGxhYmVsKSA9PiBsYWJlbC50b0xvd2VyQ2FzZSgpKTtcbiAgY29uc3Qgc3VwcG9ydGVkTGFiZWxzOiBTdXBwb3J0ZWRMYWJlbHNbXSA9IEpTT04ucGFyc2UocHJvY2Vzcy5lbnYuU1VQUE9SVEVEX0xBQkVMUyEpO1xuXG4gIC8vIGlzIGV2ZXJ5IGxhYmVsIHRoZSBqb2IgcmVxdWlyZXMgYXZhaWxhYmxlIGluIHRoZSBydW5uZXIgcHJvdmlkZXI/XG4gIGZvciAoY29uc3Qgc3VwcG9ydGVkTGFiZWxTZXQgb2Ygc3VwcG9ydGVkTGFiZWxzKSB7XG4gICAgY29uc3QgbG93ZXJDYXNlZFN1cHBvcnRlZExhYmVsU2V0ID0gc3VwcG9ydGVkTGFiZWxTZXQubGFiZWxzLm1hcCgobGFiZWwpID0+IGxhYmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgIGlmIChqb2JMYWJlbFNldC5ldmVyeShsYWJlbCA9PiBsYWJlbCA9PSAnc2VsZi1ob3N0ZWQnIHx8IGxvd2VyQ2FzZWRTdXBwb3J0ZWRMYWJlbFNldC5pbmNsdWRlcyhsYWJlbCkpKSB7XG4gICAgICByZXR1cm4gc3VwcG9ydGVkTGFiZWxTZXQucHJvdmlkZXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5BUElHYXRld2F5UHJveHlFdmVudFYyKTogUHJvbWlzZTxBV1NMYW1iZGEuQVBJR2F0ZXdheVByb3h5UmVzdWx0VjI+IHtcbiAgaWYgKCFwcm9jZXNzLmVudi5XRUJIT09LX1NFQ1JFVF9BUk4gfHwgIXByb2Nlc3MuZW52LlNURVBfRlVOQ1RJT05fQVJOIHx8ICFwcm9jZXNzLmVudi5TVVBQT1JURURfTEFCRUxTIHx8ICFwcm9jZXNzLmVudi5SRVFVSVJFX1NFTEZfSE9TVEVEX0xBQkVMKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcycpO1xuICB9XG5cbiAgY29uc3Qgd2ViaG9va1NlY3JldCA9IChhd2FpdCBnZXRTZWNyZXRKc29uVmFsdWUocHJvY2Vzcy5lbnYuV0VCSE9PS19TRUNSRVRfQVJOKSkud2ViaG9va1NlY3JldDtcblxuICBsZXQgYm9keTtcbiAgdHJ5IHtcbiAgICBib2R5ID0gdmVyaWZ5Qm9keShldmVudCwgd2ViaG9va1NlY3JldCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiA0MDMsXG4gICAgICBib2R5OiAnQmFkIHNpZ25hdHVyZScsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChnZXRIZWFkZXIoZXZlbnQsICdjb250ZW50LXR5cGUnKSAhPT0gJ2FwcGxpY2F0aW9uL2pzb24nKSB7XG4gICAgY29uc29sZS5lcnJvcihgVGhpcyB3ZWJob29rIG9ubHkgYWNjZXB0cyBKU09OIHBheWxvYWRzLCBnb3QgJHtnZXRIZWFkZXIoZXZlbnQsICdjb250ZW50LXR5cGUnKX1gKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogNDAwLFxuICAgICAgYm9keTogJ0V4cGVjdGluZyBKU09OIHBheWxvYWQnLFxuICAgIH07XG4gIH1cblxuICBpZiAoZ2V0SGVhZGVyKGV2ZW50LCAneC1naXRodWItZXZlbnQnKSA9PT0gJ3BpbmcnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgIGJvZHk6ICdQb25nJyxcbiAgICB9O1xuICB9XG5cbiAgLy8gaWYgKGdldEhlYWRlcihldmVudCwgJ3gtZ2l0aHViLWV2ZW50JykgIT09ICd3b3JrZmxvd19qb2InICYmIGdldEhlYWRlcihldmVudCwgJ3gtZ2l0aHViLWV2ZW50JykgIT09ICd3b3JrZmxvd19ydW4nKSB7XG4gIC8vICAgICBjb25zb2xlLmVycm9yKGBUaGlzIHdlYmhvb2sgb25seSBhY2NlcHRzIHdvcmtmbG93X2pvYiBhbmQgd29ya2Zsb3dfcnVuLCBnb3QgJHtnZXRIZWFkZXIoZXZlbnQsICd4LWdpdGh1Yi1ldmVudCcpfWApO1xuICBpZiAoZ2V0SGVhZGVyKGV2ZW50LCAneC1naXRodWItZXZlbnQnKSAhPT0gJ3dvcmtmbG93X2pvYicpIHtcbiAgICBjb25zb2xlLmVycm9yKGBUaGlzIHdlYmhvb2sgb25seSBhY2NlcHRzIHdvcmtmbG93X2pvYiwgZ290ICR7Z2V0SGVhZGVyKGV2ZW50LCAneC1naXRodWItZXZlbnQnKX1gKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogNDAwLFxuICAgICAgYm9keTogJ0V4cGVjdGluZyB3b3JrZmxvd19qb2InLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBwYXlsb2FkID0gSlNPTi5wYXJzZShib2R5KTtcblxuICBpZiAocGF5bG9hZC5hY3Rpb24gIT09ICdxdWV1ZWQnKSB7XG4gICAgY29uc29sZS5sb2coYElnbm9yaW5nIGFjdGlvbiBcIiR7cGF5bG9hZC5hY3Rpb259XCIsIGV4cGVjdGluZyBcInF1ZXVlZFwiYCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgIGJvZHk6ICdPSy4gTm8gcnVubmVyIHN0YXJ0ZWQgKGFjdGlvbiBpcyBub3QgXCJxdWV1ZWRcIikuJyxcbiAgICB9O1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52LlJFUVVJUkVfU0VMRl9IT1NURURfTEFCRUwgPT09ICcxJyAmJiAhcGF5bG9hZC53b3JrZmxvd19qb2IubGFiZWxzLmluY2x1ZGVzKCdzZWxmLWhvc3RlZCcpKSB7XG4gICAgY29uc29sZS5sb2coYElnbm9yaW5nIGxhYmVscyBcIiR7cGF5bG9hZC53b3JrZmxvd19qb2IubGFiZWxzfVwiLCBleHBlY3RpbmcgXCJzZWxmLWhvc3RlZFwiYCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgIGJvZHk6ICdPSy4gTm8gcnVubmVyIHN0YXJ0ZWQgKG5vIFwic2VsZi1ob3N0ZWRcIiBsYWJlbCkuJyxcbiAgICB9O1xuICB9XG5cbiAgLy8gZG9uJ3Qgc3RhcnQgc3RlcCBmdW5jdGlvbiB1bmxlc3MgbGFiZWxzIG1hdGNoIGEgcnVubmVyIHByb3ZpZGVyXG4gIGNvbnN0IHByb3ZpZGVyID0gbWF0Y2hMYWJlbHNUb1Byb3ZpZGVyKHBheWxvYWQud29ya2Zsb3dfam9iLmxhYmVscyk7XG4gIGlmICghcHJvdmlkZXIpIHtcbiAgICBjb25zb2xlLmxvZyhgSWdub3JpbmcgbGFiZWxzIFwiJHtwYXlsb2FkLndvcmtmbG93X2pvYi5sYWJlbHN9XCIsIGFzIHRoZXkgZG9uJ3QgbWF0Y2ggYSBzdXBwb3J0ZWQgcnVubmVyIHByb3ZpZGVyYCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgIGJvZHk6ICdPSy4gTm8gcnVubmVyIHN0YXJ0ZWQgKG5vIHByb3ZpZGVyIHdpdGggbWF0Y2hpbmcgbGFiZWxzKS4nLFxuICAgIH07XG4gIH1cblxuICAvLyBkb24ndCBzdGFydCBydW5uZXJzIGZvciBhIGRlcGxveW1lbnQgdGhhdCdzIHN0aWxsIHBlbmRpbmcgYXMgR2l0SHViIHdpbGwgc2VuZCBhbm90aGVyIGV2ZW50IHdoZW4gaXQncyByZWFkeVxuICBpZiAoYXdhaXQgaXNEZXBsb3ltZW50UGVuZGluZyhwYXlsb2FkKSkge1xuICAgIGNvbnNvbGUubG9nKCdJZ25vcmluZyBqb2IgYXMgaXRzIGRlcGxveW1lbnQgaXMgc3RpbGwgcGVuZGluZycpO1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiAyMDAsXG4gICAgICBib2R5OiAnT0suIE5vIHJ1bm5lciBzdGFydGVkIChkZXBsb3ltZW50IHBlbmRpbmcpLicsXG4gICAgfTtcbiAgfVxuXG4gIC8vIHNldCBleGVjdXRpb24gbmFtZSB3aGljaCBpcyBhbHNvIHVzZWQgYXMgcnVubmVyIG5hbWUgd2hpY2ggYXJlIGxpbWl0ZWQgdG8gNjQgY2hhcmFjdGVyc1xuICBsZXQgZXhlY3V0aW9uTmFtZSA9IGAke3BheWxvYWQucmVwb3NpdG9yeS5mdWxsX25hbWUucmVwbGFjZSgnLycsICctJyl9LSR7Z2V0SGVhZGVyKGV2ZW50LCAneC1naXRodWItZGVsaXZlcnknKX1gLnNsaWNlKDAsIDY0KTtcbiAgLy8gc3RhcnQgZXhlY3V0aW9uXG4gIGNvbnN0IGlucHV0ID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgIG93bmVyOiBwYXlsb2FkLnJlcG9zaXRvcnkub3duZXIubG9naW4sXG4gICAgcmVwbzogcGF5bG9hZC5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgam9iSWQ6IHBheWxvYWQud29ya2Zsb3dfam9iLmlkLFxuICAgIGpvYlVybDogcGF5bG9hZC53b3JrZmxvd19qb2IuaHRtbF91cmwsXG4gICAgaW5zdGFsbGF0aW9uSWQ6IHBheWxvYWQuaW5zdGFsbGF0aW9uPy5pZCA/PyAtMSwgLy8gYWx3YXlzIHBhc3MgdmFsdWUgYmVjYXVzZSBzdGVwIGZ1bmN0aW9uIGNhbid0IGhhbmRsZSBtaXNzaW5nIGlucHV0XG4gICAgbGFiZWxzOiBwYXlsb2FkLndvcmtmbG93X2pvYi5sYWJlbHMsXG4gICAgcHJvdmlkZXI6IHByb3ZpZGVyLFxuICB9KTtcbiAgY29uc3QgZXhlY3V0aW9uID0gYXdhaXQgc2Yuc2VuZChuZXcgU3RhcnRFeGVjdXRpb25Db21tYW5kKHtcbiAgICBzdGF0ZU1hY2hpbmVBcm46IHByb2Nlc3MuZW52LlNURVBfRlVOQ1RJT05fQVJOLFxuICAgIGlucHV0OiBpbnB1dCxcbiAgICAvLyBuYW1lIGlzIG5vdCByYW5kb20gc28gbXVsdGlwbGUgZXhlY3V0aW9uIG9mIHRoaXMgd2ViaG9vayB3b24ndCBjYXVzZSBtdWx0aXBsZSBidWlsZGVycyB0byBzdGFydFxuICAgIG5hbWU6IGV4ZWN1dGlvbk5hbWUsXG4gIH0pKTtcblxuICBjb25zb2xlLmxvZyhgU3RhcnRlZCAke2V4ZWN1dGlvbi5leGVjdXRpb25Bcm59YCk7XG4gIGNvbnNvbGUubG9nKGlucHV0KTtcblxuICByZXR1cm4ge1xuICAgIHN0YXR1c0NvZGU6IDIwMixcbiAgICBib2R5OiBleGVjdXRpb25OYW1lLFxuICB9O1xufVxuIl19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9vay1oYW5kbGVyLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93ZWJob29rLWhhbmRsZXIubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFpQztBQUNqQyxvREFBdUU7QUFFdkUsbURBQTZDO0FBQzdDLHFEQUFzRDtBQUd0RCxNQUFNLEVBQUUsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztBQUUzQiw4QkFBOEI7QUFFOUIsU0FBUyxTQUFTLENBQUMsS0FBdUMsRUFBRSxNQUFjO0lBQ3hFLG9GQUFvRjtJQUNwRixLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDcEQsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDdEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxLQUF1QyxFQUFFLE1BQVc7SUFDN0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRS9FLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFZLENBQUM7SUFDakIsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMs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QUFDLElBQUk7UUFDN0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUM5QixNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRO1FBQ3JDLGNBQWMsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxxRUFBcUU7UUFDckgsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDN0MsUUFBUSxFQUFFLFFBQVE7S0FDbkIsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLGtDQUFxQixDQUFDO1FBQ3hELGVBQWUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQjtRQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDNUIsa0dBQWtHO1FBQ2xHLElBQUksRUFBRSxhQUFhO0tBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBRUosT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNWLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxZQUFZO1FBQ2pDLFFBQVEsRUFBRSxLQUFLO1FBQ2YsR0FBRyxFQUFFLE9BQU8sQ0FBQyxZQUFZO0tBQzFCLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxVQUFVLEVBQUUsR0FBRztRQUNmLElBQUksRUFBRSxhQUFhO0tBQ3BCLENBQUM7QUFDSixDQUFDO0FBNUhELDBCQTRIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgU0ZOQ2xpZW50LCBTdGFydEV4ZWN1dGlvbkNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc2ZuJztcbmltcG9ydCAqIGFzIEFXU0xhbWJkYSBmcm9tICdhd3MtbGFtYmRhJztcbmltcG9ydCB7IGdldE9jdG9raXQgfSBmcm9tICcuL2xhbWJkYS1naXRodWInO1xuaW1wb3J0IHsgZ2V0U2VjcmV0SnNvblZhbHVlIH0gZnJvbSAnLi9sYW1iZGEtaGVscGVycyc7XG5pbXBvcnQgeyBTdXBwb3J0ZWRMYWJlbHMgfSBmcm9tICcuL3dlYmhvb2snO1xuXG5jb25zdCBzZiA9IG5ldyBTRk5DbGllbnQoKTtcblxuLy8gVE9ETyB1c2UgQG9jdG9raXQvd2ViaG9va3M/XG5cbmZ1bmN0aW9uIGdldEhlYWRlcihldmVudDogQVdTTGFtYmRhLkFQSUdhdGV3YXlQcm94eUV2ZW50VjIsIGhlYWRlcjogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gQVBJIEdhdGV3YXkgZG9lc24ndCBsb3dlcmNhc2UgaGVhZGVycyAoVjEgZXZlbnQpIGJ1dCBMYW1iZGEgVVJMcyBkbyAoVjIgZXZlbnQpIDooXG4gIGZvciAoY29uc3QgaGVhZGVyTmFtZSBvZiBPYmplY3Qua2V5cyhldmVudC5oZWFkZXJzKSkge1xuICAgIGlmIChoZWFkZXJOYW1lLnRvTG93ZXJDYXNlKCkgPT09IGhlYWRlci50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICByZXR1cm4gZXZlbnQuaGVhZGVyc1toZWFkZXJOYW1lXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEV4cG9ydGVkIGZvciB1bml0IHRlc3RpbmcuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUJvZHkoZXZlbnQ6IEFXU0xhbWJkYS5BUElHYXRld2F5UHJveHlFdmVudFYyLCBzZWNyZXQ6IGFueSk6IHN0cmluZyB7XG4gIGNvbnN0IHNpZyA9IEJ1ZmZlci5mcm9tKGdldEhlYWRlcihldmVudCwgJ3gtaHViLXNpZ25hdHVyZS0yNTYnKSB8fCAnJywgJ3V0ZjgnKTtcblxuICBpZiAoIWV2ZW50LmJvZHkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGJvZHknKTtcbiAgfVxuXG4gIGxldCBib2R5OiBCdWZmZXI7XG4gIGlmIChldmVudC5pc0Jhc2U2NEVuY29kZWQpIHtcbiAgICBib2R5ID0gQnVmZmVyLmZyb20oZXZlbnQuYm9keSwgJ2Jhc2U2NCcpO1xuICB9IGVsc2Uge1xuICAgIGJvZHkgPSBCdWZmZXIuZnJvbShldmVudC5ib2R5IHx8ICcnLCAndXRmOCcpO1xuICB9XG5cbiAgY29uc3QgaG1hYyA9IGNyeXB0by5jcmVhdGVIbWFjKCdzaGEyNTYnLCBzZWNyZXQpO1xuICBobWFjLnVwZGF0ZShib2R5KTtcbiAgY29uc3QgZXhwZWN0ZWRTaWcgPSBCdWZmZXIuZnJvbShgc2hhMjU2PSR7aG1hYy5kaWdlc3QoJ2hleCcpfWAsICd1dGY4Jyk7XG5cbiAgY29uc29sZS5sb2coJ0NhbGN1bGF0ZWQgc2lnbmF0dXJlOiAnLCBleHBlY3RlZFNpZy50b1N0cmluZygpKTtcblxuICBpZiAoc2lnLmxlbmd0aCAhPT0gZXhwZWN0ZWRTaWcubGVuZ3RoIHx8ICFjcnlwdG8udGltaW5nU2FmZUVxdWFsKHNpZywgZXhwZWN0ZWRTaWcpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBTaWduYXR1cmUgbWlzbWF0Y2guIEV4cGVjdGVkICR7ZXhwZWN0ZWRTaWcudG9TdHJpbmcoKX0gYnV0IGdvdCAke3NpZy50b1N0cmluZygpfWApO1xuICB9XG5cbiAgcmV0dXJuIGJvZHkudG9TdHJpbmcoKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNEZXBsb3ltZW50UGVuZGluZyhwYXlsb2FkOiBhbnkpIHtcbiAgY29uc3Qgc3RhdHVzZXNVcmwgPSBwYXlsb2FkLmRlcGxveW1lbnQ/LnN0YXR1c2VzX3VybDtcbiAgaWYgKHN0YXR1c2VzVXJsID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IHsgb2N0b2tpdCB9ID0gYXdhaXQgZ2V0T2N0b2tpdChwYXlsb2FkLmluc3RhbGxhdGlvbj8uaWQpO1xuICAgIGNvbnN0IHN0YXR1c2VzID0gYXdhaXQgb2N0b2tpdC5yZXF1ZXN0KHN0YXR1c2VzVXJsKTtcblxuICAgIHJldHVybiBzdGF0dXNlcy5kYXRhWzBdPy5zdGF0ZSA9PT0gJ3dhaXRpbmcnO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcignVW5hYmxlIHRvIGNoZWNrIGRlcGxveW1lbnQuIFRyeSBhZGRpbmcgZGVwbG95bWVudCByZWFkIHBlcm1pc3Npb24uJywgZSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoTGFiZWxzVG9Qcm92aWRlcihsYWJlbHM6IHN0cmluZ1tdKSB7XG4gIGNvbnN0IGpvYkxhYmVsU2V0ID0gbGFiZWxzLm1hcCgobGFiZWwpID0+IGxhYmVsLnRvTG93ZXJDYXNlKCkpO1xuICBjb25zdCBzdXBwb3J0ZWRMYWJlbHM6IFN1cHBvcnRlZExhYmVsc1tdID0gSlNPTi5wYXJzZShwcm9jZXNzLmVudi5TVVBQT1JURURfTEFCRUxTISk7XG5cbiAgLy8gaXMgZXZlcnkgbGFiZWwgdGhlIGpvYiByZXF1aXJlcyBhdmFpbGFibGUgaW4gdGhlIHJ1bm5lciBwcm92aWRlcj9cbiAgZm9yIChjb25zdCBzdXBwb3J0ZWRMYWJlbFNldCBvZiBzdXBwb3J0ZWRMYWJlbHMpIHtcbiAgICBjb25zdCBsb3dlckNhc2VkU3VwcG9ydGVkTGFiZWxTZXQgPSBzdXBwb3J0ZWRMYWJlbFNldC5sYWJlbHMubWFwKChsYWJlbCkgPT4gbGFiZWwudG9Mb3dlckNhc2UoKSk7XG4gICAgaWYgKGpvYkxhYmVsU2V0LmV2ZXJ5KGxhYmVsID0+IGxhYmVsID09ICdzZWxmLWhvc3RlZCcgfHwgbG93ZXJDYXNlZFN1cHBvcnRlZExhYmVsU2V0LmluY2x1ZGVzKGxhYmVsKSkpIHtcbiAgICAgIHJldHVybiBzdXBwb3J0ZWRMYWJlbFNldC5wcm92aWRlcjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkFQSUdhdGV3YXlQcm94eUV2ZW50VjIpOiBQcm9taXNlPEFXU0xhbWJkYS5BUElHYXRld2F5UHJveHlSZXN1bHRWMj4ge1xuICBpZiAoIXByb2Nlc3MuZW52LldFQkhPT0tfU0VDUkVUX0FSTiB8fCAhcHJvY2Vzcy5lbnYuU1RFUF9GVU5DVElPTl9BUk4gfHwgIXByb2Nlc3MuZW52LlNVUFBPUlRFRF9MQUJFTFMgfHwgIXByb2Nlc3MuZW52LlJFUVVJUkVfU0VMRl9IT1NURURfTEFCRUwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzJyk7XG4gIH1cblxuICBjb25zdCB3ZWJob29rU2VjcmV0ID0gKGF3YWl0IGdldFNlY3JldEpzb25WYWx1ZShwcm9jZXNzLmVudi5XRUJIT09LX1NFQ1JFVF9BUk4pKS53ZWJob29rU2VjcmV0O1xuXG4gIGxldCBib2R5O1xuICB0cnkge1xuICAgIGJvZHkgPSB2ZXJpZnlCb2R5KGV2ZW50LCB3ZWJob29rU2VjcmV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDQwMyxcbiAgICAgIGJvZHk6ICdCYWQgc2lnbmF0dXJlJyxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGdldEhlYWRlcihldmVudCwgJ2NvbnRlbnQtdHlwZScpICE9PSAnYXBwbGljYXRpb24vanNvbicpIHtcbiAgICBjb25zb2xlLmVycm9yKGBUaGlzIHdlYmhvb2sgb25seSBhY2NlcHRzIEpTT04gcGF5bG9hZHMsIGdvdCAke2dldEhlYWRlcihldmVudCwgJ2NvbnRlbnQtdHlwZScpfWApO1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiA0MDAsXG4gICAgICBib2R5OiAnRXhwZWN0aW5nIEpTT04gcGF5bG9hZCcsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChnZXRIZWFkZXIoZXZlbnQsICd4LWdpdGh1Yi1ldmVudCcpID09PSAncGluZycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgYm9keTogJ1BvbmcnLFxuICAgIH07XG4gIH1cblxuICAvLyBpZiAoZ2V0SGVhZGVyKGV2ZW50LCAneC1naXRodWItZXZlbnQnKSAhPT0gJ3dvcmtmbG93X2pvYicgJiYgZ2V0SGVhZGVyKGV2ZW50LCAneC1naXRodWItZXZlbnQnKSAhPT0gJ3dvcmtmbG93X3J1bicpIHtcbiAgLy8gICAgIGNvbnNvbGUuZXJyb3IoYFRoaXMgd2ViaG9vayBvbmx5IGFjY2VwdHMgd29ya2Zsb3dfam9iIGFuZCB3b3JrZmxvd19ydW4sIGdvdCAke2dldEhlYWRlcihldmVudCwgJ3gtZ2l0aHViLWV2ZW50Jyl9YCk7XG4gIGlmIChnZXRIZWFkZXIoZXZlbnQsICd4LWdpdGh1Yi1ldmVudCcpICE9PSAnd29ya2Zsb3dfam9iJykge1xuICAgIGNvbnNvbGUuZXJyb3IoYFRoaXMgd2ViaG9vayBvbmx5IGFjY2VwdHMgd29ya2Zsb3dfam9iLCBnb3QgJHtnZXRIZWFkZXIoZXZlbnQsICd4LWdpdGh1Yi1ldmVudCcpfWApO1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiA0MDAsXG4gICAgICBib2R5OiAnRXhwZWN0aW5nIHdvcmtmbG93X2pvYicsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IHBheWxvYWQgPSBKU09OLnBhcnNlKGJvZHkpO1xuXG4gIGlmIChwYXlsb2FkLmFjdGlvbiAhPT0gJ3F1ZXVlZCcpIHtcbiAgICBjb25zb2xlLmxvZyh7XG4gICAgICBub3RpY2U6IGBJZ25vcmluZyBhY3Rpb24gXCIke3BheWxvYWQuYWN0aW9ufVwiLCBleHBlY3RpbmcgXCJxdWV1ZWRcImAsXG4gICAgICBqb2I6IHBheWxvYWQud29ya2Zsb3dfam9iLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiAyMDAsXG4gICAgICBib2R5OiAnT0suIE5vIHJ1bm5lciBzdGFydGVkIChhY3Rpb24gaXMgbm90IFwicXVldWVkXCIpLicsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5SRVFVSVJFX1NFTEZfSE9TVEVEX0xBQkVMID09PSAnMScgJiYgIXBheWxvYWQud29ya2Zsb3dfam9iLmxhYmVscy5pbmNsdWRlcygnc2VsZi1ob3N0ZWQnKSkge1xuICAgIGNvbnNvbGUubG9nKHtcbiAgICAgIG5vdGljZTogYElnbm9yaW5nIGxhYmVscyBcIiR7cGF5bG9hZC53b3JrZmxvd19qb2IubGFiZWxzfVwiLCBleHBlY3RpbmcgXCJzZWxmLWhvc3RlZFwiYCxcbiAgICAgIGpvYjogcGF5bG9hZC53b3JrZmxvd19qb2IsXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgIGJvZHk6ICdPSy4gTm8gcnVubmVyIHN0YXJ0ZWQgKG5vIFwic2VsZi1ob3N0ZWRcIiBsYWJlbCkuJyxcbiAgICB9O1xuICB9XG5cbiAgLy8gZG9uJ3Qgc3RhcnQgc3RlcCBmdW5jdGlvbiB1bmxlc3MgbGFiZWxzIG1hdGNoIGEgcnVubmVyIHByb3ZpZGVyXG4gIGNvbnN0IHByb3ZpZGVyID0gbWF0Y2hMYWJlbHNUb1Byb3ZpZGVyKHBheWxvYWQud29ya2Zsb3dfam9iLmxhYmVscyk7XG4gIGlmICghcHJvdmlkZXIpIHtcbiAgICBjb25zb2xlLmxvZyh7XG4gICAgICBub3RpY2U6IGBJZ25vcmluZyBsYWJlbHMgXCIke3BheWxvYWQud29ya2Zsb3dfam9iLmxhYmVsc31cIiwgYXMgdGhleSBkb24ndCBtYXRjaCBhIHN1cHBvcnRlZCBydW5uZXIgcHJvdmlkZXJgLFxuICAgICAgam9iOiBwYXlsb2FkLndvcmtmbG93X2pvYixcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgYm9keTogJ09LLiBObyBydW5uZXIgc3RhcnRlZCAobm8gcHJvdmlkZXIgd2l0aCBtYXRjaGluZyBsYWJlbHMpLicsXG4gICAgfTtcbiAgfVxuXG4gIC8vIGRvbid0IHN0YXJ0IHJ1bm5lcnMgZm9yIGEgZGVwbG95bWVudCB0aGF0J3Mgc3RpbGwgcGVuZGluZyBhcyBHaXRIdWIgd2lsbCBzZW5kIGFub3RoZXIgZXZlbnQgd2hlbiBpdCdzIHJlYWR5XG4gIGlmIChhd2FpdCBpc0RlcGxveW1lbnRQZW5kaW5nKHBheWxvYWQpKSB7XG4gICAgY29uc29sZS5sb2coe1xuICAgICAgbm90aWNlOiAnSWdub3Jpbmcgam9iIGFzIGl0cyBkZXBsb3ltZW50IGlzIHN0aWxsIHBlbmRpbmcnLFxuICAgICAgam9iOiBwYXlsb2FkLndvcmtmbG93X2pvYixcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgYm9keTogJ09LLiBObyBydW5uZXIgc3RhcnRlZCAoZGVwbG95bWVudCBwZW5kaW5nKS4nLFxuICAgIH07XG4gIH1cblxuICAvLyBzZXQgZXhlY3V0aW9uIG5hbWUgd2hpY2ggaXMgYWxzbyB1c2VkIGFzIHJ1bm5lciBuYW1lIHdoaWNoIGFyZSBsaW1pdGVkIHRvIDY0IGNoYXJhY3RlcnNcbiAgbGV0IGV4ZWN1dGlvbk5hbWUgPSBwYXlsb2FkLnJlcG9zaXRvcnkuZnVsbF9uYW1lLnJlcGxhY2UoJy8nLCAnLScpLnNsaWNlKDAsIDUwKTtcbiAgbGV0IGRlbGl2ZXJ5SWQgPSBnZXRIZWFkZXIoZXZlbnQsICd4LWdpdGh1Yi1kZWxpdmVyeScpID8/IGAke01hdGgucmFuZG9tKCl9YDtcbiAgZXhlY3V0aW9uTmFtZSA9IGAke2V4ZWN1dGlvbk5hbWV9LSR7ZGVsaXZlcnlJZC5zbGljZSgwLCA2My1leGVjdXRpb25OYW1lLmxlbmd0aCl9YDtcbiAgLy8gc3RhcnQgZXhlY3V0aW9uXG4gIGNvbnN0IGlucHV0ID0ge1xuICAgIG93bmVyOiBwYXlsb2FkLnJlcG9zaXRvcnkub3duZXIubG9naW4sXG4gICAgcmVwbzogcGF5bG9hZC5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgam9iSWQ6IHBheWxvYWQud29ya2Zsb3dfam9iLmlkLFxuICAgIGpvYlVybDogcGF5bG9hZC53b3JrZmxvd19qb2IuaHRtbF91cmwsXG4gICAgaW5zdGFsbGF0aW9uSWQ6IHBheWxvYWQuaW5zdGFsbGF0aW9uPy5pZCA/PyAtMSwgLy8gYWx3YXlzIHBhc3MgdmFsdWUgYmVjYXVzZSBzdGVwIGZ1bmN0aW9uIGNhbid0IGhhbmRsZSBtaXNzaW5nIGlucHV0XG4gICAgbGFiZWxzOiBwYXlsb2FkLndvcmtmbG93X2pvYi5sYWJlbHMuam9pbignLCcpLFxuICAgIHByb3ZpZGVyOiBwcm92aWRlcixcbiAgfTtcbiAgY29uc3QgZXhlY3V0aW9uID0gYXdhaXQgc2Yuc2VuZChuZXcgU3RhcnRFeGVjdXRpb25Db21tYW5kKHtcbiAgICBzdGF0ZU1hY2hpbmVBcm46IHByb2Nlc3MuZW52LlNURVBfRlVOQ1RJT05fQVJOLFxuICAgIGlucHV0OiBKU09OLnN0cmluZ2lmeShpbnB1dCksXG4gICAgLy8gbmFtZSBpcyBub3QgcmFuZG9tIHNvIG11bHRpcGxlIGV4ZWN1dGlvbiBvZiB0aGlzIHdlYmhvb2sgd29uJ3QgY2F1c2UgbXVsdGlwbGUgYnVpbGRlcnMgdG8gc3RhcnRcbiAgICBuYW1lOiBleGVjdXRpb25OYW1lLFxuICB9KSk7XG5cbiAgY29uc29sZS5sb2coe1xuICAgIG5vdGljZTogJ1N0YXJ0ZWQgb3JjaGVzdHJhdG9yJyxcbiAgICBleGVjdXRpb246IGV4ZWN1dGlvbi5leGVjdXRpb25Bcm4sXG4gICAgc2ZuSW5wdXQ6IGlucHV0LFxuICAgIGpvYjogcGF5bG9hZC53b3JrZmxvd19qb2IsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgc3RhdHVzQ29kZTogMjAyLFxuICAgIGJvZHk6IGV4ZWN1dGlvbk5hbWUsXG4gIH07XG59XG4iXX0=
|
package/lib/webhook.js
CHANGED
|
@@ -5,6 +5,7 @@ const cdk = require("aws-cdk-lib");
|
|
|
5
5
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
6
6
|
const constructs_1 = require("constructs");
|
|
7
7
|
const access_1 = require("./access");
|
|
8
|
+
const utils_1 = require("./utils");
|
|
8
9
|
const webhook_handler_function_1 = require("./webhook-handler-function");
|
|
9
10
|
/**
|
|
10
11
|
* Create a Lambda with a public URL to handle GitHub webhook events. After validating the event with the given secret, the orchestrator step function is called with information about the workflow job.
|
|
@@ -24,8 +25,9 @@ class GithubWebhookHandler extends constructs_1.Construct {
|
|
|
24
25
|
SUPPORTED_LABELS: JSON.stringify(props.supportedLabels),
|
|
25
26
|
REQUIRE_SELF_HOSTED_LABEL: props.requireSelfHostedLabel ? '1' : '0',
|
|
26
27
|
},
|
|
27
|
-
timeout: cdk.Duration.seconds(
|
|
28
|
-
|
|
28
|
+
timeout: cdk.Duration.seconds(31),
|
|
29
|
+
logGroup: (0, utils_1.singletonLogGroup)(this, utils_1.SingletonLogType.ORCHESTRATOR),
|
|
30
|
+
logFormat: aws_cdk_lib_1.aws_lambda.LogFormat.JSON,
|
|
29
31
|
});
|
|
30
32
|
const access = props?.access ?? access_1.LambdaAccess.lambdaUrl();
|
|
31
33
|
this.url = access.bind(this, 'access', this.handler);
|
|
@@ -36,4 +38,4 @@ class GithubWebhookHandler extends constructs_1.Construct {
|
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
exports.GithubWebhookHandler = GithubWebhookHandler;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93ZWJob29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUNuQyw2Q0FBdUY7QUFDdkYsMkNBQXVDO0FBQ3ZDLHFDQUF3QztBQUV4QyxtQ0FBOEQ7QUFDOUQseUVBQW9FO0FBMENwRTs7OztHQUlHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSxzQkFBUztJQVlqRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGlEQUFzQixDQUN2QyxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCO1lBQ0UsV0FBVyxFQUFFLHFEQUFxRDtZQUNsRSxXQUFXLEVBQUU7Z0JBQ1gsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxlQUFlO2dCQUNyRCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTO2dCQUNuRCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUNqRCw2QkFBNkIsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVM7Z0JBQ3ZFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztnQkFDdkQseUJBQXlCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7YUFDcEU7WUFDRCxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFFBQVEsRUFBRSxJQUFBLHlCQUFpQixFQUFDLElBQUksRUFBRSx3QkFBZ0IsQ0FBQyxZQUFZLENBQUM7WUFDaEUsU0FBUyxFQUFFLHdCQUFNLENBQUMsU0FBUyxDQUFDLElBQUk7U0FDakMsQ0FDRixDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLE1BQU0sSUFBSSxxQkFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELEtBQUssQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQTFDRCxvREEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgYXdzX2xhbWJkYSBhcyBsYW1iZGEsIGF3c19zdGVwZnVuY3Rpb25zIGFzIHN0ZXBmdW5jdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IExhbWJkYUFjY2VzcyB9IGZyb20gJy4vYWNjZXNzJztcbmltcG9ydCB7IFNlY3JldHMgfSBmcm9tICcuL3NlY3JldHMnO1xuaW1wb3J0IHsgc2luZ2xldG9uTG9nR3JvdXAsIFNpbmdsZXRvbkxvZ1R5cGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFdlYmhvb2tIYW5kbGVyRnVuY3Rpb24gfSBmcm9tICcuL3dlYmhvb2staGFuZGxlci1mdW5jdGlvbic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydGVkTGFiZWxzIHtcbiAgcmVhZG9ubHkgcHJvdmlkZXI6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWxzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBHaXRodWJXZWJob29rSGFuZGxlclxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YldlYmhvb2tIYW5kbGVyUHJvcHMge1xuICAvKipcbiAgICogU3RlcCBmdW5jdGlvbiBpbiBjaGFyZ2Ugb2YgaGFuZGxpbmcgdGhlIHdvcmtmbG93IGpvYiBldmVudHMgYW5kIHN0YXJ0IHRoZSBydW5uZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JjaGVzdHJhdG9yOiBzdGVwZnVuY3Rpb25zLlN0YXRlTWFjaGluZTtcblxuICAvKipcbiAgICogU2VjcmV0cyB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggR2l0SHViLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0czogU2VjcmV0cztcblxuICAvKipcbiAgICogQ29uZmlndXJlIGFjY2VzcyB0byB3ZWJob29rIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXNzPzogTGFtYmRhQWNjZXNzO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHN1cHBvcnRlZCBsYWJlbCBjb21iaW5hdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBzdXBwb3J0ZWRMYWJlbHM6IFN1cHBvcnRlZExhYmVsc1tdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcXVpcmUgdGhlIFwic2VsZi1ob3N0ZWRcIiBsYWJlbC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVTZWxmSG9zdGVkTGFiZWw6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgTGFtYmRhIHdpdGggYSBwdWJsaWMgVVJMIHRvIGhhbmRsZSBHaXRIdWIgd2ViaG9vayBldmVudHMuIEFmdGVyIHZhbGlkYXRpbmcgdGhlIGV2ZW50IHdpdGggdGhlIGdpdmVuIHNlY3JldCwgdGhlIG9yY2hlc3RyYXRvciBzdGVwIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSB3b3JrZmxvdyBqb2IuXG4gKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRodWJXZWJob29rSGFuZGxlciBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBVUkwgb2Ygd2ViaG9vayB0byBiZSB1c2VkIHdpdGggR2l0SHViLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdlYmhvb2sgZXZlbnQgaGFuZGxlci5cbiAgICovXG4gIHJlYWRvbmx5IGhhbmRsZXI6IFdlYmhvb2tIYW5kbGVyRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEdpdGh1YldlYmhvb2tIYW5kbGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5oYW5kbGVyID0gbmV3IFdlYmhvb2tIYW5kbGVyRnVuY3Rpb24oXG4gICAgICB0aGlzLFxuICAgICAgJ3dlYmhvb2staGFuZGxlcicsXG4gICAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSGFuZGxlIEdpdEh1YiB3ZWJob29rIGFuZCBzdGFydCBydW5uZXIgb3JjaGVzdHJhdG9yJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBTVEVQX0ZVTkNUSU9OX0FSTjogcHJvcHMub3JjaGVzdHJhdG9yLnN0YXRlTWFjaGluZUFybixcbiAgICAgICAgICBXRUJIT09LX1NFQ1JFVF9BUk46IHByb3BzLnNlY3JldHMud2ViaG9vay5zZWNyZXRBcm4sXG4gICAgICAgICAgR0lUSFVCX1NFQ1JFVF9BUk46IHByb3BzLnNlY3JldHMuZ2l0aHViLnNlY3JldEFybixcbiAgICAgICAgICBHSVRIVUJfUFJJVkFURV9LRVlfU0VDUkVUX0FSTjogcHJvcHMuc2VjcmV0cy5naXRodWJQcml2YXRlS2V5LnNlY3JldEFybixcbiAgICAgICAgICBTVVBQT1JURURfTEFCRUxTOiBKU09OLnN0cmluZ2lmeShwcm9wcy5zdXBwb3J0ZWRMYWJlbHMpLFxuICAgICAgICAgIFJFUVVJUkVfU0VMRl9IT1NURURfTEFCRUw6IHByb3BzLnJlcXVpcmVTZWxmSG9zdGVkTGFiZWwgPyAnMScgOiAnMCcsXG4gICAgICAgIH0sXG4gICAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMxKSxcbiAgICAgICAgbG9nR3JvdXA6IHNpbmdsZXRvbkxvZ0dyb3VwKHRoaXMsIFNpbmdsZXRvbkxvZ1R5cGUuT1JDSEVTVFJBVE9SKSxcbiAgICAgICAgbG9nRm9ybWF0OiBsYW1iZGEuTG9nRm9ybWF0LkpTT04sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBhY2Nlc3MgPSBwcm9wcz8uYWNjZXNzID8/IExhbWJkYUFjY2Vzcy5sYW1iZGFVcmwoKTtcbiAgICB0aGlzLnVybCA9IGFjY2Vzcy5iaW5kKHRoaXMsICdhY2Nlc3MnLCB0aGlzLmhhbmRsZXIpO1xuXG4gICAgcHJvcHMuc2VjcmV0cy53ZWJob29rLmdyYW50UmVhZCh0aGlzLmhhbmRsZXIpO1xuICAgIHByb3BzLnNlY3JldHMuZ2l0aHViLmdyYW50UmVhZCh0aGlzLmhhbmRsZXIpO1xuICAgIHByb3BzLnNlY3JldHMuZ2l0aHViUHJpdmF0ZUtleS5ncmFudFJlYWQodGhpcy5oYW5kbGVyKTtcbiAgICBwcm9wcy5vcmNoZXN0cmF0b3IuZ3JhbnRTdGFydEV4ZWN1dGlvbih0aGlzLmhhbmRsZXIpO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -70,16 +70,16 @@
|
|
|
70
70
|
"organization": false
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
-
"@aws-sdk/client-cloudformation": "^3.
|
|
74
|
-
"@aws-sdk/client-codebuild": "^3.
|
|
75
|
-
"@aws-sdk/client-ec2": "^3.
|
|
76
|
-
"@aws-sdk/client-ecr": "^3.
|
|
77
|
-
"@aws-sdk/client-imagebuilder": "^3.
|
|
78
|
-
"@aws-sdk/client-lambda": "^3.
|
|
79
|
-
"@aws-sdk/client-secrets-manager": "^3.
|
|
80
|
-
"@aws-sdk/client-sfn": "^3.
|
|
81
|
-
"@aws-sdk/client-sns": "^3.
|
|
82
|
-
"@aws-sdk/client-ssm": "^3.
|
|
73
|
+
"@aws-sdk/client-cloudformation": "^3.569.0",
|
|
74
|
+
"@aws-sdk/client-codebuild": "^3.569.0",
|
|
75
|
+
"@aws-sdk/client-ec2": "^3.569.0",
|
|
76
|
+
"@aws-sdk/client-ecr": "^3.569.0",
|
|
77
|
+
"@aws-sdk/client-imagebuilder": "^3.569.0",
|
|
78
|
+
"@aws-sdk/client-lambda": "^3.569.0",
|
|
79
|
+
"@aws-sdk/client-secrets-manager": "^3.569.0",
|
|
80
|
+
"@aws-sdk/client-sfn": "^3.569.0",
|
|
81
|
+
"@aws-sdk/client-sns": "^3.569.0",
|
|
82
|
+
"@aws-sdk/client-ssm": "^3.569.0",
|
|
83
83
|
"@octokit/auth-app": "^4.0.13",
|
|
84
84
|
"@octokit/core": "^4.2.4",
|
|
85
85
|
"@octokit/request-error": "^3.0.3",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"@typescript-eslint/eslint-plugin": "^6",
|
|
94
94
|
"@typescript-eslint/parser": "^6",
|
|
95
95
|
"aws-cdk": "^2",
|
|
96
|
-
"aws-cdk-lib": "2.
|
|
96
|
+
"aws-cdk-lib": "2.123.0",
|
|
97
97
|
"bootstrap": "^5.2.0",
|
|
98
98
|
"constructs": "10.0.5",
|
|
99
99
|
"esbuild": "^0.20.2",
|
|
@@ -104,11 +104,11 @@
|
|
|
104
104
|
"jest": "^29",
|
|
105
105
|
"jest-junit": "^15",
|
|
106
106
|
"jsii": "5.3.x",
|
|
107
|
-
"jsii-diff": "^1.
|
|
108
|
-
"jsii-docgen": "^10.
|
|
109
|
-
"jsii-pacmak": "^1.
|
|
107
|
+
"jsii-diff": "^1.98.0",
|
|
108
|
+
"jsii-docgen": "^10.4.4",
|
|
109
|
+
"jsii-pacmak": "^1.98.0",
|
|
110
110
|
"jsii-rosetta": "5.3.x",
|
|
111
|
-
"projen": "^0.
|
|
111
|
+
"projen": "^0.81.5",
|
|
112
112
|
"sass": "^1.54.0",
|
|
113
113
|
"semver": "^7.6.0",
|
|
114
114
|
"standard-version": "^9",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"vite-plugin-singlefile": "^0.13.5"
|
|
123
123
|
},
|
|
124
124
|
"peerDependencies": {
|
|
125
|
-
"aws-cdk-lib": "^2.
|
|
125
|
+
"aws-cdk-lib": "^2.123.0",
|
|
126
126
|
"constructs": "^10.0.5"
|
|
127
127
|
},
|
|
128
128
|
"keywords": [
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"publishConfig": {
|
|
143
143
|
"access": "public"
|
|
144
144
|
},
|
|
145
|
-
"version": "0.
|
|
145
|
+
"version": "0.13.1",
|
|
146
146
|
"jest": {
|
|
147
147
|
"testMatch": [
|
|
148
148
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|