projen-modules 5.1.1 → 5.2.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/.jsii +2 -2
- package/lib/components/github/deployments.js +21 -5
- package/lib/components/readme/elements/section.js +1 -1
- package/lib/components/readme/index.js +2 -2
- package/lib/projects/cdk-ts/index.js +1 -1
- package/lib/projects/jsii/index.js +1 -1
- package/lib/projects/npm/index.js +1 -1
- package/lib/projects/python/index.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -11843,6 +11843,6 @@
|
|
|
11843
11843
|
"symbolId": "src/components/readme/elements/section:SectionOptions"
|
|
11844
11844
|
}
|
|
11845
11845
|
},
|
|
11846
|
-
"version": "5.
|
|
11847
|
-
"fingerprint": "
|
|
11846
|
+
"version": "5.2.0",
|
|
11847
|
+
"fingerprint": "PWwVscjFnc6qYiNcRGPu5aonUHqf0j0bZamaqxiHzFg="
|
|
11848
11848
|
}
|
|
@@ -18,6 +18,20 @@ exports.AWS_ACTIONS_CONFIGURE_AWS_CREDENTIALS = 'aws-actions/configure-aws-crede
|
|
|
18
18
|
const DEFAULT_ROLE_SECRET = 'AWS_DEPLOYMENT_ROLE_ARN';
|
|
19
19
|
const RELEASE_JOB_ID = 'release';
|
|
20
20
|
const capitalise = (value) => value.charAt(0).toUpperCase() + value.slice(1);
|
|
21
|
+
const SECRET_REFERENCE = /\$\{\{\s*secrets\.([A-Za-z_][A-Za-z0-9_]*)\s*\}\}/g;
|
|
22
|
+
/**
|
|
23
|
+
* The secrets a deployment needs: its role ARN secret, then those its env
|
|
24
|
+
* values reference, in order of appearance and without duplicates
|
|
25
|
+
*/
|
|
26
|
+
function deploymentSecrets(deployment) {
|
|
27
|
+
const secrets = new Set([deployment.roleSecret ?? DEFAULT_ROLE_SECRET]);
|
|
28
|
+
for (const value of Object.values(deployment.env ?? {})) {
|
|
29
|
+
for (const [, name] of value.matchAll(SECRET_REFERENCE)) {
|
|
30
|
+
secrets.add(name);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return [...secrets];
|
|
34
|
+
}
|
|
21
35
|
/**
|
|
22
36
|
* Adds a job per deployment environment to the default branch's release
|
|
23
37
|
* workflow, each one deploying after the release job and the previous
|
|
@@ -103,11 +117,13 @@ function addDeployments(project, options) {
|
|
|
103
117
|
readme_1.Readme.of(project)?.addSection('Deployment', [
|
|
104
118
|
'After each release, the release workflow deploys to these GitHub environments in order, each after the previous one succeeds:',
|
|
105
119
|
'',
|
|
106
|
-
'| Environment | Region |
|
|
107
|
-
'| ----------- | ------ |
|
|
108
|
-
...deployments.map((d) => `| ${d.environment} | ${d.region} |
|
|
120
|
+
'| Environment | Region | Secrets |',
|
|
121
|
+
'| ----------- | ------ | ------- |',
|
|
122
|
+
...deployments.map((d) => `| ${d.environment} | ${d.region} | ${deploymentSecrets(d)
|
|
123
|
+
.map((name) => `\`${name}\``)
|
|
124
|
+
.join(', ')} |`),
|
|
109
125
|
'',
|
|
110
|
-
'Each environment needs
|
|
126
|
+
'Each environment needs these secrets set, the first being the ARN of a role that trusts GitHub\'s OIDC provider.',
|
|
111
127
|
].join('\n'), { order: readme_1.ReadmeOrder.USAGE });
|
|
112
128
|
}
|
|
113
129
|
/**
|
|
@@ -167,4 +183,4 @@ function deployCommand(pm) {
|
|
|
167
183
|
return 'bun run deploy';
|
|
168
184
|
}
|
|
169
185
|
}
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naXRodWIvZGVwbG95bWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNkNBLHdDQTZHQztBQTFKRCxtQ0FBZ0M7QUFDaEMsMkRBQWtFO0FBQ2xFLHVFQUEyRTtBQUMzRSxzREFBd0U7QUFDeEUscURBQXdFO0FBRXhFLHNDQUFnRDtBQUVoRCxpRkFBaUY7QUFDakYsaUZBQWlGO0FBQ2pGLHVGQUF1RjtBQUN2RixtQ0FBbUM7QUFDdEIsUUFBQSxrQkFBa0IsR0FDN0IsNkRBQTZELENBQUM7QUFDaEUsc0RBQXNEO0FBQ3pDLFFBQUEscUNBQXFDLEdBQ2hELGdGQUFnRixDQUFDO0FBRW5GLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQUM7QUFDdEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBa0JqQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQ25DLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixPQUFvQixFQUNwQixPQUEyQjtJQUUzQixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2hDLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxTQUFTLENBQUM7SUFDOUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FB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Q0FBQztBQUNmLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsYUFBYSxDQUFDLEVBQXNCO0lBQzNDLElBQUksSUFBQSxvQkFBYSxFQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUEsa0JBQVcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxRQUFRLEVBQUUsRUFBRSxDQUFDO1FBQ1gsS0FBSywrQkFBa0IsQ0FBQyxHQUFHO1lBQ3pCLE9BQU8sbUJBQW1CLENBQUM7UUFDN0IsS0FBSywrQkFBa0IsQ0FBQyxJQUFJO1lBQzFCLGtEQUFrRDtZQUNsRCxPQUFPLGlCQUFpQixDQUFDO1FBQzNCO1lBQ0UsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdpdGh1YiB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBCVUlMRF9BUlRJRkFDVF9OQU1FIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvY29uc3RhbnRzJztcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24sIEpvYlN0ZXAgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgTm9kZVBhY2thZ2VNYW5hZ2VyLCBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBpc1lhcm5CZXJyeSwgaXNZYXJuQ2xhc3NpYyB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdC91dGlsJztcbmltcG9ydCB7IERlcGxveW1lbnRFbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL3Byb2plY3RzL2Nkay10cy9kZXBsb3ltZW50LWVudmlyb25tZW50JztcbmltcG9ydCB7IFJlYWRtZSwgUmVhZG1lT3JkZXIgfSBmcm9tICcuLi9yZWFkbWUnO1xuXG4vLyBwcm9qZW4gb25seSBwaW5zIHRoZXNlIGJ5IHRhZywgc28gdGhleSBhcmUgcGlubmVkIGJ5IFNIQSBoZXJlLiBTdGVwcyByZWZlcmVuY2Vcbi8vIHRoZW0gYnkgYG5hbWVAc2hhYCwgd2hpY2ggcHJvamVjdC5naXRodWIuYWN0aW9ucyByZXNvbHZlcyB3aGVuIHRoZSB3b3JrZmxvdyBpc1xuLy8gcmVuZGVyZWQsIHNvIGBwcm9qZWN0LmdpdGh1Yi5hY3Rpb25zLnNldCgnYWN0aW9ucy9zZXR1cC1ub2RlJywgLi4uKWAgb3ZlcnJpZGVzIHRoZW0uXG4vKiogYWN0aW9ucy9zZXR1cC1ub2RlIGF0IHY3LjAuMCAqL1xuZXhwb3J0IGNvbnN0IEFDVElPTlNfU0VUVVBfTk9ERSA9XG4gICdhY3Rpb25zL3NldHVwLW5vZGVAODIwNzYyNzg2MDI2NzQwYzc2ZjM2MDg1YjBlZmM0N2EzMWZlNTAyMCc7XG4vKiogYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFscyBhdCB2Ni4zLjAgKi9cbmV4cG9ydCBjb25zdCBBV1NfQUNUSU9OU19DT05GSUdVUkVfQVdTX0NSRURFTlRJQUxTID1cbiAgJ2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAZTEyNTM4MjRlNWMxMGZmOWRmNDY4NzRmODFlZDNlYzkyOWUxOWNmZCc7XG5cbmNvbnN0IERFRkFVTFRfUk9MRV9TRUNSRVQgPSAnQVdTX0RFUExPWU1FTlRfUk9MRV9BUk4nO1xuY29uc3QgUkVMRUFTRV9KT0JfSUQgPSAncmVsZWFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudHNPcHRpb25zIHtcbiAgcmVhZG9ubHkgZGVwbG95bWVudHM6IEFycmF5PERlcGxveW1lbnRFbnZpcm9ubWVudD47XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSByZWxlYXNlIHdvcmtmbG93IGZvciB0aGUgZGVmYXVsdCBicmFuY2hcbiAgICpcbiAgICogQGRlZmF1bHQgJ3JlbGVhc2UnXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogTm9kZS5qcyB2ZXJzaW9uIHRoYXQgdGhlIHJlbGVhc2Ugd29ya2Zsb3cgc2V0cyB1cFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBydW5uZXIncyB2ZXJzaW9uXG4gICAqL1xuICByZWFkb25seSBub2RlVmVyc2lvbj86IHN0cmluZztcbn1cblxuY29uc3QgY2FwaXRhbGlzZSA9ICh2YWx1ZTogc3RyaW5nKSA9PlxuICB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnNsaWNlKDEpO1xuXG4vKipcbiAqIEFkZHMgYSBqb2IgcGVyIGRlcGxveW1lbnQgZW52aXJvbm1lbnQgdG8gdGhlIGRlZmF1bHQgYnJhbmNoJ3MgcmVsZWFzZVxuICogd29ya2Zsb3csIGVhY2ggb25lIGRlcGxveWluZyBhZnRlciB0aGUgcmVsZWFzZSBqb2IgYW5kIHRoZSBwcmV2aW91c1xuICogZW52aXJvbm1lbnQncyBqb2JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZERlcGxveW1lbnRzKFxuICBwcm9qZWN0OiBOb2RlUHJvamVjdCxcbiAgb3B0aW9uczogRGVwbG95bWVudHNPcHRpb25zLFxuKSB7XG4gIGNvbnN0IHsgZGVwbG95bWVudHMgfSA9IG9wdGlvbnM7XG4gIGlmIChkZXBsb3ltZW50cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB3b3JrZmxvd05hbWUgPSBvcHRpb25zLnJlbGVhc2VXb3JrZmxvd05hbWUgPz8gJ3JlbGVhc2UnO1xuICBjb25zdCB3b3JrZmxvdyA9IHByb2plY3QuZ2l0aHViPy50cnlGaW5kV29ya2Zsb3cod29ya2Zsb3dOYW1lKTtcbiAgaWYgKCFwcm9qZWN0LnJlbGVhc2UgfHwgIXdvcmtmbG93KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYGRlcGxveW1lbnRzIG5lZWQgYSBcIiR7d29ya2Zsb3dOYW1lfVwiIEdpdEh1YiB3b3JrZmxvdywgc28gdGhlIHByb2plY3QgbXVzdCBoYXZlIHJlbGVhc2UgZW5hYmxlZCBhbmQgR2l0SHViIHdvcmtmbG93cyBlbmFibGVkYCxcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBmb3IgKGNvbnN0IHsgZW52aXJvbm1lbnQgfSBvZiBkZXBsb3ltZW50cykge1xuICAgIGlmICghL15bQS1aYS16MC05Xy1dKyQvLnRlc3QoZW52aXJvbm1lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBEZXBsb3ltZW50IGVudmlyb25tZW50IFwiJHtlbnZpcm9ubWVudH1cIiBtdXN0IGJlIG5vbi1lbXB0eSBhbmQgb25seSBjb250YWluIGxldHRlcnMsIGRpZ2l0cywgXCJfXCIgYW5kIFwiLVwiLCBhcyBpdCBpcyB1c2VkIGluIHRoZSBqb2IgaWRgLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHNlZW4uaGFzKGVudmlyb25tZW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXBsb3ltZW50IGVudmlyb25tZW50IFwiJHtlbnZpcm9ubWVudH1cIiBpcyBkdXBsaWNhdGVkYCk7XG4gICAgfVxuICAgIHNlZW4uYWRkKGVudmlyb25tZW50KTtcbiAgfVxuXG4gIC8vIGRlcGxveSBqb2JzIHJ1biBvbiB0aGUgc2FtZSBydW5uZXJzIGFzIHRoZSByZWxlYXNlIGpvYlxuICBjb25zdCByZWxlYXNlSm9iID0gd29ya2Zsb3cuZ2V0Sm9iKFJFTEVBU0VfSk9CX0lEKSBhcyBnaXRodWIud29ya2Zsb3dzLkpvYjtcbiAgY29uc3Qgc2V0dXBTdGVwcyA9IHBhY2thZ2VNYW5hZ2VyU2V0dXBTdGVwcyhwcm9qZWN0LCBvcHRpb25zLm5vZGVWZXJzaW9uKTtcbiAgLy8gcm9sZSBzZXNzaW9uIG5hbWVzIG9ubHkgYWxsb3cgW1xcdys9LC5ALV1cbiAgY29uc3Qgcm9sZVNlc3Npb25OYW1lID0gYCR7cHJvamVjdC5uYW1lfS1kZXBsb3lgLnJlcGxhY2UoXG4gICAgL1teXFx3Kz0sLkAtXS9nLFxuICAgICctJyxcbiAgKTtcblxuICBsZXQgcHJldmlvdXNKb2JJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IGRlcGxveW1lbnQgb2YgZGVwbG95bWVudHMpIHtcbiAgICBjb25zdCBqb2JJZCA9IGBkZXBsb3lfJHtkZXBsb3ltZW50LmVudmlyb25tZW50fWA7XG4gICAgY29uc3Qgcm9sZVNlY3JldCA9IGRlcGxveW1lbnQucm9sZVNlY3JldCA/PyBERUZBVUxUX1JPTEVfU0VDUkVUO1xuICAgIGNvbnN0IGVudiA9IGRlcGxveW1lbnQuZW52ID8/IHt9O1xuICAgIHdvcmtmbG93LmFkZEpvYihqb2JJZCwge1xuICAgICAgbmFtZTpcbiAgICAgICAgZGVwbG95bWVudC5uYW1lID8/IGBEZXBsb3kgdG8gJHtjYXBpdGFsaXNlKGRlcGxveW1lbnQuZW52aXJvbm1lbnQpfWAsXG4gICAgICBlbnZpcm9ubWVudDogZGVwbG95bWVudC5lbnZpcm9ubWVudCxcbiAgICAgIC8vIHJlbGVhc2UgaXMgbGlzdGVkIGV4cGxpY2l0bHksIGFzIHRoZSBjb25kaXRpb24gcmVhZHMgaXRzIG91dHB1dHNcbiAgICAgIG5lZWRzOiBwcmV2aW91c0pvYklkID8gW1JFTEVBU0VfSk9CX0lELCBwcmV2aW91c0pvYklkXSA6IFtSRUxFQVNFX0pPQl9JRF0sXG4gICAgICBydW5zT246IHJlbGVhc2VKb2IucnVuc09uLFxuICAgICAgcnVuc09uR3JvdXA6IHJlbGVhc2VKb2IucnVuc09uR3JvdXAsXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgfSxcbiAgICAgIGlmOiBgbmVlZHMuJHtSRUxFQVNFX0pPQl9JRH0ub3V0cHV0cy50YWdfZXhpc3RzICE9ICd0cnVlJ2AsXG4gICAgICAvLyBUaGUgY29tbWl0IGlzIG5vdCByZWJ1aWx0OiB0aGUgcmVsZWFzZSBqb2IgYWxyZWFkeSBidWlsdCBhbmQgdGVzdGVkIGl0LFxuICAgICAgLy8gYW5kIGNkayBkZXBsb3kgYnVuZGxlcyB0aGUgTGFtYmRhcyBpdHNlbGYgdGhyb3VnaCB0aGUgYnVpbGQgaG9vayBpblxuICAgICAgLy8gY2RrLmpzb24uIFRoZSByZWxlYXNlJ3MgYXJ0aWZhY3QgKHdpdGggcmVsZWFzZXRhZy50eHQpIGlzIHN0aWxsXG4gICAgICAvLyBkb3dubG9hZGVkLCBzbyB0aGUgYXBwIGNhbiByZWFkIHRoZSByZWxlYXNlZCB2ZXJzaW9uLlxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgdXNlczogZ2l0aHViLkFjdGlvblJlZnMuQUNUSU9OU19DSEVDS09VVCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdEb3dubG9hZCBidWlsZCBhcnRpZmFjdHMnLFxuICAgICAgICAgIHVzZXM6IGdpdGh1Yi5BY3Rpb25SZWZzLkFDVElPTlNfRE9XTkxPQURfQVJUSUZBQ1QsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgbmFtZTogQlVJTERfQVJUSUZBQ1RfTkFNRSxcbiAgICAgICAgICAgIHBhdGg6IHByb2plY3QucmVsZWFzZS5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uc2V0dXBTdGVwcyxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjb25maWd1cmUgYXdzIGNyZWRlbnRpYWxzJyxcbiAgICAgICAgICB1c2VzOiBBV1NfQUNUSU9OU19DT05GSUdVUkVfQVdTX0NSRURFTlRJQUxTLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IGBcXCR7eyBzZWNyZXRzLiR7cm9sZVNlY3JldH0gfX1gLFxuICAgICAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogcm9sZVNlc3Npb25OYW1lLFxuICAgICAgICAgICAgJ2F3cy1yZWdpb24nOiBkZXBsb3ltZW50LnJlZ2lvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RlcGxveScsXG4gICAgICAgICAgcnVuOiBgJHtkZXBsb3lDb21tYW5kKHByb2plY3QucGFja2FnZS5wYWNrYWdlTWFuYWdlcil9IC0tcmVxdWlyZS1hcHByb3ZhbCAke2RlcGxveW1lbnQucmVxdWlyZUFwcHJvdmFsID8/ICduZXZlcid9YCxcbiAgICAgICAgICAuLi4oT2JqZWN0LmtleXMoZW52KS5sZW5ndGggPiAwICYmIHsgZW52IH0pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICBwcmV2aW91c0pvYklkID0gam9iSWQ7XG4gIH1cblxuICBSZWFkbWUub2YocHJvamVjdCk/LmFkZFNlY3Rpb24oXG4gICAgJ0RlcGxveW1lbnQnLFxuICAgIFtcbiAgICAgICdBZnRlciBlYWNoIHJlbGVhc2UsIHRoZSByZWxlYXNlIHdvcmtmbG93IGRlcGxveXMgdG8gdGhlc2UgR2l0SHViIGVudmlyb25tZW50cyBpbiBvcmRlciwgZWFjaCBhZnRlciB0aGUgcHJldmlvdXMgb25lIHN1Y2NlZWRzOicsXG4gICAgICAnJyxcbiAgICAgICd8IEVudmlyb25tZW50IHwgUmVnaW9uIHwgUm9sZSBBUk4gc2VjcmV0IHwnLFxuICAgICAgJ3wgLS0tLS0tLS0tLS0gfCAtLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0gfCcsXG4gICAgICAuLi5kZXBsb3ltZW50cy5tYXAoXG4gICAgICAgIChkKSA9PlxuICAgICAgICAgIGB8ICR7ZC5lbnZpcm9ubWVudH0gfCAke2QucmVnaW9ufSB8IFxcYCR7ZC5yb2xlU2VjcmV0ID8/IERFRkFVTFRfUk9MRV9TRUNSRVR9XFxgIHxgLFxuICAgICAgKSxcbiAgICAgICcnLFxuICAgICAgJ0VhY2ggZW52aXJvbm1lbnQgbmVlZHMgaXRzIHJvbGUgQVJOIHNlY3JldCwgZm9yIGEgcm9sZSB0aGF0IHRydXN0cyBHaXRIdWJcXCdzIE9JREMgcHJvdmlkZXIuJyxcbiAgICBdLmpvaW4oJ1xcbicpLFxuICAgIHsgb3JkZXI6IFJlYWRtZU9yZGVyLlVTQUdFIH0sXG4gICk7XG59XG5cbi8qKlxuICogU3RlcHMgdGhhdCBpbnN0YWxsIHRoZSBwcm9qZWN0J3MgZGVwZW5kZW5jaWVzLCBtaXJyb3JpbmcgcHJvamVuJ3Mgb3duXG4gKiB3b3JrZmxvdyBzZXR1cCBidXQgd2l0aCBzZXR1cC1ub2RlIHBpbm5lZCBieSBTSEFcbiAqL1xuZnVuY3Rpb24gcGFja2FnZU1hbmFnZXJTZXR1cFN0ZXBzKFxuICBwcm9qZWN0OiBOb2RlUHJvamVjdCxcbiAgbm9kZVZlcnNpb24/OiBzdHJpbmcsXG4pOiBBcnJheTxKb2JTdGVwPiB7XG4gIGNvbnN0IHBtID0gcHJvamVjdC5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyO1xuICBjb25zdCBzdGVwcyA9IG5ldyBBcnJheTxKb2JTdGVwPigpO1xuICBpZiAocG0gPT09IE5vZGVQYWNrYWdlTWFuYWdlci5CVU4pIHtcbiAgICBzdGVwcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdTZXR1cCBidW4nLFxuICAgICAgdXNlczogZ2l0aHViLkFjdGlvblJlZnMuT1ZFTl9TSF9TRVRVUF9CVU4sXG4gICAgICB3aXRoOiB7ICdidW4tdmVyc2lvbic6IHByb2plY3QucGFja2FnZS5idW5WZXJzaW9uIH0sXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGlzWWFybkJlcnJ5KHBtKSkge1xuICAgICAgc3RlcHMucHVzaCh7IG5hbWU6ICdFbmFibGUgY29yZXBhY2snLCBydW46ICdjb3JlcGFjayBlbmFibGUnIH0pO1xuICAgIH0gZWxzZSBpZiAocG0gPT09IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNKSB7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ1NldHVwIHBucG0nLFxuICAgICAgICB1c2VzOiBnaXRodWIuQWN0aW9uUmVmcy5QTlBNX0FDVElPTl9TRVRVUCxcbiAgICAgICAgd2l0aDogeyB2ZXJzaW9uOiBwcm9qZWN0LnBhY2thZ2UucG5wbVZlcnNpb24gfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBzdGVwcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICAgIHVzZXM6IEFDVElPTlNfU0VUVVBfTk9ERSxcbiAgICAgIHdpdGg6IHtcbiAgICAgICAgLi4uKG5vZGVWZXJzaW9uICYmIHsgJ25vZGUtdmVyc2lvbic6IG5vZGVWZXJzaW9uIH0pLFxuICAgICAgICBjYWNoZTogaXNZYXJuQ2xhc3NpYyhwbSkgfHwgaXNZYXJuQmVycnkocG0pID8gJ3lhcm4nIDogcG0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHN0ZXBzLnB1c2goe1xuICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgcnVuOiBwcm9qZWN0LnBhY2thZ2UuaW5zdGFsbENvbW1hbmQsXG4gIH0pO1xuICByZXR1cm4gc3RlcHM7XG59XG5cbi8qKlxuICogUnVucyB0aGUgcHJvamVjdCdzIGRlcGxveSB0YXNrLCBwYXNzaW5nIG9uIHRoZSBhcmd1bWVudHMgdGhhdCBmb2xsb3dcbiAqL1xuZnVuY3Rpb24gZGVwbG95Q29tbWFuZChwbTogTm9kZVBhY2thZ2VNYW5hZ2VyKSB7XG4gIGlmIChpc1lhcm5DbGFzc2ljKHBtKSB8fCBpc1lhcm5CZXJyeShwbSkpIHtcbiAgICByZXR1cm4gJ3lhcm4gZGVwbG95JztcbiAgfVxuICBzd2l0Y2ggKHBtKSB7XG4gICAgY2FzZSBOb2RlUGFja2FnZU1hbmFnZXIuTlBNOlxuICAgICAgcmV0dXJuICducG0gcnVuIGRlcGxveSAtLSc7XG4gICAgY2FzZSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTTpcbiAgICAgIC8vIGBwbnBtIGRlcGxveWAgaXMgYSBwbnBtIGNvbW1hbmQsIG5vdCB0aGUgc2NyaXB0XG4gICAgICByZXR1cm4gJ3BucG0gcnVuIGRlcGxveSc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnYnVuIHJ1biBkZXBsb3knO1xuICB9XG59XG4iXX0=
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9naXRodWIvZGVwbG95bWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNkRBLHdDQStHQztBQTVLRCxtQ0FBZ0M7QUFDaEMsMkRBQWtFO0FBQ2xFLHVFQUEyRTtBQUMzRSxzREFBd0U7QUFDeEUscURBQXdFO0FBRXhFLHNDQUFnRDtBQUVoRCxpRkFBaUY7QUFDakYsaUZBQWlGO0FBQ2pGLHVGQUF1RjtBQUN2RixtQ0FBbUM7QUFDdEIsUUFBQSxrQkFBa0IsR0FDN0IsNkRBQTZELENBQUM7QUFDaEUsc0RBQXNEO0FBQ3pDLFFBQUEscUNBQXFDLEdBQ2hELGdGQUFnRixDQUFDO0FBRW5GLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQUM7QUFDdEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBa0JqQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQ25DLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVqRCxNQUFNLGdCQUFnQixHQUFHLG9EQUFvRCxDQUFDO0FBRTlFOzs7R0FHRztBQUNILFNBQVMsaUJBQWlCLENBQUMsVUFBaUM7SUFDMUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUN4RSxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3hELEtBQUssTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDeEQs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dWIgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQlVJTERfQVJUSUZBQ1RfTkFNRSB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uLCBKb2JTdGVwIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVQYWNrYWdlTWFuYWdlciwgTm9kZVByb2plY3QgfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQnO1xuaW1wb3J0IHsgaXNZYXJuQmVycnksIGlzWWFybkNsYXNzaWMgfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQvdXRpbCc7XG5pbXBvcnQgeyBEZXBsb3ltZW50RW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9wcm9qZWN0cy9jZGstdHMvZGVwbG95bWVudC1lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBSZWFkbWUsIFJlYWRtZU9yZGVyIH0gZnJvbSAnLi4vcmVhZG1lJztcblxuLy8gcHJvamVuIG9ubHkgcGlucyB0aGVzZSBieSB0YWcsIHNvIHRoZXkgYXJlIHBpbm5lZCBieSBTSEEgaGVyZS4gU3RlcHMgcmVmZXJlbmNlXG4vLyB0aGVtIGJ5IGBuYW1lQHNoYWAsIHdoaWNoIHByb2plY3QuZ2l0aHViLmFjdGlvbnMgcmVzb2x2ZXMgd2hlbiB0aGUgd29ya2Zsb3cgaXNcbi8vIHJlbmRlcmVkLCBzbyBgcHJvamVjdC5naXRodWIuYWN0aW9ucy5zZXQoJ2FjdGlvbnMvc2V0dXAtbm9kZScsIC4uLilgIG92ZXJyaWRlcyB0aGVtLlxuLyoqIGFjdGlvbnMvc2V0dXAtbm9kZSBhdCB2Ny4wLjAgKi9cbmV4cG9ydCBjb25zdCBBQ1RJT05TX1NFVFVQX05PREUgPVxuICAnYWN0aW9ucy9zZXR1cC1ub2RlQDgyMDc2Mjc4NjAyNjc0MGM3NmYzNjA4NWIwZWZjNDdhMzFmZTUwMjAnO1xuLyoqIGF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHMgYXQgdjYuMy4wICovXG5leHBvcnQgY29uc3QgQVdTX0FDVElPTlNfQ09ORklHVVJFX0FXU19DUkVERU5USUFMUyA9XG4gICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQGUxMjUzODI0ZTVjMTBmZjlkZjQ2ODc0ZjgxZWQzZWM5MjllMTljZmQnO1xuXG5jb25zdCBERUZBVUxUX1JPTEVfU0VDUkVUID0gJ0FXU19ERVBMT1lNRU5UX1JPTEVfQVJOJztcbmNvbnN0IFJFTEVBU0VfSk9CX0lEID0gJ3JlbGVhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveW1lbnRzT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGRlcGxveW1lbnRzOiBBcnJheTxEZXBsb3ltZW50RW52aXJvbm1lbnQ+O1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgcmVsZWFzZSB3b3JrZmxvdyBmb3IgdGhlIGRlZmF1bHQgYnJhbmNoXG4gICAqXG4gICAqIEBkZWZhdWx0ICdyZWxlYXNlJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIE5vZGUuanMgdmVyc2lvbiB0aGF0IHRoZSByZWxlYXNlIHdvcmtmbG93IHNldHMgdXBcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgcnVubmVyJ3MgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgbm9kZVZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmNvbnN0IGNhcGl0YWxpc2UgPSAodmFsdWU6IHN0cmluZykgPT5cbiAgdmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB2YWx1ZS5zbGljZSgxKTtcblxuY29uc3QgU0VDUkVUX1JFRkVSRU5DRSA9IC9cXCRcXHtcXHtcXHMqc2VjcmV0c1xcLihbQS1aYS16X11bQS1aYS16MC05X10qKVxccypcXH1cXH0vZztcblxuLyoqXG4gKiBUaGUgc2VjcmV0cyBhIGRlcGxveW1lbnQgbmVlZHM6IGl0cyByb2xlIEFSTiBzZWNyZXQsIHRoZW4gdGhvc2UgaXRzIGVudlxuICogdmFsdWVzIHJlZmVyZW5jZSwgaW4gb3JkZXIgb2YgYXBwZWFyYW5jZSBhbmQgd2l0aG91dCBkdXBsaWNhdGVzXG4gKi9cbmZ1bmN0aW9uIGRlcGxveW1lbnRTZWNyZXRzKGRlcGxveW1lbnQ6IERlcGxveW1lbnRFbnZpcm9ubWVudCk6IEFycmF5PHN0cmluZz4ge1xuICBjb25zdCBzZWNyZXRzID0gbmV3IFNldChbZGVwbG95bWVudC5yb2xlU2VjcmV0ID8/IERFRkFVTFRfUk9MRV9TRUNSRVRdKTtcbiAgZm9yIChjb25zdCB2YWx1ZSBvZiBPYmplY3QudmFsdWVzKGRlcGxveW1lbnQuZW52ID8/IHt9KSkge1xuICAgIGZvciAoY29uc3QgWywgbmFtZV0gb2YgdmFsdWUubWF0Y2hBbGwoU0VDUkVUX1JFRkVSRU5DRSkpIHtcbiAgICAgIHNlY3JldHMuYWRkKG5hbWUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gWy4uLnNlY3JldHNdO1xufVxuXG4vKipcbiAqIEFkZHMgYSBqb2IgcGVyIGRlcGxveW1lbnQgZW52aXJvbm1lbnQgdG8gdGhlIGRlZmF1bHQgYnJhbmNoJ3MgcmVsZWFzZVxuICogd29ya2Zsb3csIGVhY2ggb25lIGRlcGxveWluZyBhZnRlciB0aGUgcmVsZWFzZSBqb2IgYW5kIHRoZSBwcmV2aW91c1xuICogZW52aXJvbm1lbnQncyBqb2JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZERlcGxveW1lbnRzKFxuICBwcm9qZWN0OiBOb2RlUHJvamVjdCxcbiAgb3B0aW9uczogRGVwbG95bWVudHNPcHRpb25zLFxuKSB7XG4gIGNvbnN0IHsgZGVwbG95bWVudHMgfSA9IG9wdGlvbnM7XG4gIGlmIChkZXBsb3ltZW50cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB3b3JrZmxvd05hbWUgPSBvcHRpb25zLnJlbGVhc2VXb3JrZmxvd05hbWUgPz8gJ3JlbGVhc2UnO1xuICBjb25zdCB3b3JrZmxvdyA9IHByb2plY3QuZ2l0aHViPy50cnlGaW5kV29ya2Zsb3cod29ya2Zsb3dOYW1lKTtcbiAgaWYgKCFwcm9qZWN0LnJlbGVhc2UgfHwgIXdvcmtmbG93KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYGRlcGxveW1lbnRzIG5lZWQgYSBcIiR7d29ya2Zsb3dOYW1lfVwiIEdpdEh1YiB3b3JrZmxvdywgc28gdGhlIHByb2plY3QgbXVzdCBoYXZlIHJlbGVhc2UgZW5hYmxlZCBhbmQgR2l0SHViIHdvcmtmbG93cyBlbmFibGVkYCxcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBmb3IgKGNvbnN0IHsgZW52aXJvbm1lbnQgfSBvZiBkZXBsb3ltZW50cykge1xuICAgIGlmICghL15bQS1aYS16MC05Xy1dKyQvLnRlc3QoZW52aXJvbm1lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBEZXBsb3ltZW50IGVudmlyb25tZW50IFwiJHtlbnZpcm9ubWVudH1cIiBtdXN0IGJlIG5vbi1lbXB0eSBhbmQgb25seSBjb250YWluIGxldHRlcnMsIGRpZ2l0cywgXCJfXCIgYW5kIFwiLVwiLCBhcyBpdCBpcyB1c2VkIGluIHRoZSBqb2IgaWRgLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHNlZW4uaGFzKGVudmlyb25tZW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXBsb3ltZW50IGVudmlyb25tZW50IFwiJHtlbnZpcm9ubWVudH1cIiBpcyBkdXBsaWNhdGVkYCk7XG4gICAgfVxuICAgIHNlZW4uYWRkKGVudmlyb25tZW50KTtcbiAgfVxuXG4gIC8vIGRlcGxveSBqb2JzIHJ1biBvbiB0aGUgc2FtZSBydW5uZXJzIGFzIHRoZSByZWxlYXNlIGpvYlxuICBjb25zdCByZWxlYXNlSm9iID0gd29ya2Zsb3cuZ2V0Sm9iKFJFTEVBU0VfSk9CX0lEKSBhcyBnaXRodWIud29ya2Zsb3dzLkpvYjtcbiAgY29uc3Qgc2V0dXBTdGVwcyA9IHBhY2thZ2VNYW5hZ2VyU2V0dXBTdGVwcyhwcm9qZWN0LCBvcHRpb25zLm5vZGVWZXJzaW9uKTtcbiAgLy8gcm9sZSBzZXNzaW9uIG5hbWVzIG9ubHkgYWxsb3cgW1xcdys9LC5ALV1cbiAgY29uc3Qgcm9sZVNlc3Npb25OYW1lID0gYCR7cHJvamVjdC5uYW1lfS1kZXBsb3lgLnJlcGxhY2UoXG4gICAgL1teXFx3Kz0sLkAtXS9nLFxuICAgICctJyxcbiAgKTtcblxuICBsZXQgcHJldmlvdXNKb2JJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IGRlcGxveW1lbnQgb2YgZGVwbG95bWVudHMpIHtcbiAgICBjb25zdCBqb2JJZCA9IGBkZXBsb3lfJHtkZXBsb3ltZW50LmVudmlyb25tZW50fWA7XG4gICAgY29uc3Qgcm9sZVNlY3JldCA9IGRlcGxveW1lbnQucm9sZVNlY3JldCA/PyBERUZBVUxUX1JPTEVfU0VDUkVUO1xuICAgIGNvbnN0IGVudiA9IGRlcGxveW1lbnQuZW52ID8/IHt9O1xuICAgIHdvcmtmbG93LmFkZEpvYihqb2JJZCwge1xuICAgICAgbmFtZTpcbiAgICAgICAgZGVwbG95bWVudC5uYW1lID8/IGBEZXBsb3kgdG8gJHtjYXBpdGFsaXNlKGRlcGxveW1lbnQuZW52aXJvbm1lbnQpfWAsXG4gICAgICBlbnZpcm9ubWVudDogZGVwbG95bWVudC5lbnZpcm9ubWVudCxcbiAgICAgIC8vIHJlbGVhc2UgaXMgbGlzdGVkIGV4cGxpY2l0bHksIGFzIHRoZSBjb25kaXRpb24gcmVhZHMgaXRzIG91dHB1dHNcbiAgICAgIG5lZWRzOiBwcmV2aW91c0pvYklkID8gW1JFTEVBU0VfSk9CX0lELCBwcmV2aW91c0pvYklkXSA6IFtSRUxFQVNFX0pPQl9JRF0sXG4gICAgICBydW5zT246IHJlbGVhc2VKb2IucnVuc09uLFxuICAgICAgcnVuc09uR3JvdXA6IHJlbGVhc2VKb2IucnVuc09uR3JvdXAsXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgfSxcbiAgICAgIGlmOiBgbmVlZHMuJHtSRUxFQVNFX0pPQl9JRH0ub3V0cHV0cy50YWdfZXhpc3RzICE9ICd0cnVlJ2AsXG4gICAgICAvLyBUaGUgY29tbWl0IGlzIG5vdCByZWJ1aWx0OiB0aGUgcmVsZWFzZSBqb2IgYWxyZWFkeSBidWlsdCBhbmQgdGVzdGVkIGl0LFxuICAgICAgLy8gYW5kIGNkayBkZXBsb3kgYnVuZGxlcyB0aGUgTGFtYmRhcyBpdHNlbGYgdGhyb3VnaCB0aGUgYnVpbGQgaG9vayBpblxuICAgICAgLy8gY2RrLmpzb24uIFRoZSByZWxlYXNlJ3MgYXJ0aWZhY3QgKHdpdGggcmVsZWFzZXRhZy50eHQpIGlzIHN0aWxsXG4gICAgICAvLyBkb3dubG9hZGVkLCBzbyB0aGUgYXBwIGNhbiByZWFkIHRoZSByZWxlYXNlZCB2ZXJzaW9uLlxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgdXNlczogZ2l0aHViLkFjdGlvblJlZnMuQUNUSU9OU19DSEVDS09VVCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdEb3dubG9hZCBidWlsZCBhcnRpZmFjdHMnLFxuICAgICAgICAgIHVzZXM6IGdpdGh1Yi5BY3Rpb25SZWZzLkFDVElPTlNfRE9XTkxPQURfQVJUSUZBQ1QsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgbmFtZTogQlVJTERfQVJUSUZBQ1RfTkFNRSxcbiAgICAgICAgICAgIHBhdGg6IHByb2plY3QucmVsZWFzZS5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uc2V0dXBTdGVwcyxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjb25maWd1cmUgYXdzIGNyZWRlbnRpYWxzJyxcbiAgICAgICAgICB1c2VzOiBBV1NfQUNUSU9OU19DT05GSUdVUkVfQVdTX0NSRURFTlRJQUxTLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IGBcXCR7eyBzZWNyZXRzLiR7cm9sZVNlY3JldH0gfX1gLFxuICAgICAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogcm9sZVNlc3Npb25OYW1lLFxuICAgICAgICAgICAgJ2F3cy1yZWdpb24nOiBkZXBsb3ltZW50LnJlZ2lvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RlcGxveScsXG4gICAgICAgICAgcnVuOiBgJHtkZXBsb3lDb21tYW5kKHByb2plY3QucGFja2FnZS5wYWNrYWdlTWFuYWdlcil9IC0tcmVxdWlyZS1hcHByb3ZhbCAke2RlcGxveW1lbnQucmVxdWlyZUFwcHJvdmFsID8/ICduZXZlcid9YCxcbiAgICAgICAgICAuLi4oT2JqZWN0LmtleXMoZW52KS5sZW5ndGggPiAwICYmIHsgZW52IH0pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICBwcmV2aW91c0pvYklkID0gam9iSWQ7XG4gIH1cblxuICBSZWFkbWUub2YocHJvamVjdCk/LmFkZFNlY3Rpb24oXG4gICAgJ0RlcGxveW1lbnQnLFxuICAgIFtcbiAgICAgICdBZnRlciBlYWNoIHJlbGVhc2UsIHRoZSByZWxlYXNlIHdvcmtmbG93IGRlcGxveXMgdG8gdGhlc2UgR2l0SHViIGVudmlyb25tZW50cyBpbiBvcmRlciwgZWFjaCBhZnRlciB0aGUgcHJldmlvdXMgb25lIHN1Y2NlZWRzOicsXG4gICAgICAnJyxcbiAgICAgICd8IEVudmlyb25tZW50IHwgUmVnaW9uIHwgU2VjcmV0cyB8JyxcbiAgICAgICd8IC0tLS0tLS0tLS0tIHwgLS0tLS0tIHwgLS0tLS0tLSB8JyxcbiAgICAgIC4uLmRlcGxveW1lbnRzLm1hcChcbiAgICAgICAgKGQpID0+XG4gICAgICAgICAgYHwgJHtkLmVudmlyb25tZW50fSB8ICR7ZC5yZWdpb259IHwgJHtkZXBsb3ltZW50U2VjcmV0cyhkKVxuICAgICAgICAgICAgLm1hcCgobmFtZSkgPT4gYFxcYCR7bmFtZX1cXGBgKVxuICAgICAgICAgICAgLmpvaW4oJywgJyl9IHxgLFxuICAgICAgKSxcbiAgICAgICcnLFxuICAgICAgJ0VhY2ggZW52aXJvbm1lbnQgbmVlZHMgdGhlc2Ugc2VjcmV0cyBzZXQsIHRoZSBmaXJzdCBiZWluZyB0aGUgQVJOIG9mIGEgcm9sZSB0aGF0IHRydXN0cyBHaXRIdWJcXCdzIE9JREMgcHJvdmlkZXIuJyxcbiAgICBdLmpvaW4oJ1xcbicpLFxuICAgIHsgb3JkZXI6IFJlYWRtZU9yZGVyLlVTQUdFIH0sXG4gICk7XG59XG5cbi8qKlxuICogU3RlcHMgdGhhdCBpbnN0YWxsIHRoZSBwcm9qZWN0J3MgZGVwZW5kZW5jaWVzLCBtaXJyb3JpbmcgcHJvamVuJ3Mgb3duXG4gKiB3b3JrZmxvdyBzZXR1cCBidXQgd2l0aCBzZXR1cC1ub2RlIHBpbm5lZCBieSBTSEFcbiAqL1xuZnVuY3Rpb24gcGFja2FnZU1hbmFnZXJTZXR1cFN0ZXBzKFxuICBwcm9qZWN0OiBOb2RlUHJvamVjdCxcbiAgbm9kZVZlcnNpb24/OiBzdHJpbmcsXG4pOiBBcnJheTxKb2JTdGVwPiB7XG4gIGNvbnN0IHBtID0gcHJvamVjdC5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyO1xuICBjb25zdCBzdGVwcyA9IG5ldyBBcnJheTxKb2JTdGVwPigpO1xuICBpZiAocG0gPT09IE5vZGVQYWNrYWdlTWFuYWdlci5CVU4pIHtcbiAgICBzdGVwcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdTZXR1cCBidW4nLFxuICAgICAgdXNlczogZ2l0aHViLkFjdGlvblJlZnMuT1ZFTl9TSF9TRVRVUF9CVU4sXG4gICAgICB3aXRoOiB7ICdidW4tdmVyc2lvbic6IHByb2plY3QucGFja2FnZS5idW5WZXJzaW9uIH0sXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGlzWWFybkJlcnJ5KHBtKSkge1xuICAgICAgc3RlcHMucHVzaCh7IG5hbWU6ICdFbmFibGUgY29yZXBhY2snLCBydW46ICdjb3JlcGFjayBlbmFibGUnIH0pO1xuICAgIH0gZWxzZSBpZiAocG0gPT09IE5vZGVQYWNrYWdlTWFuYWdlci5QTlBNKSB7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ1NldHVwIHBucG0nLFxuICAgICAgICB1c2VzOiBnaXRodWIuQWN0aW9uUmVmcy5QTlBNX0FDVElPTl9TRVRVUCxcbiAgICAgICAgd2l0aDogeyB2ZXJzaW9uOiBwcm9qZWN0LnBhY2thZ2UucG5wbVZlcnNpb24gfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBzdGVwcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICAgIHVzZXM6IEFDVElPTlNfU0VUVVBfTk9ERSxcbiAgICAgIHdpdGg6IHtcbiAgICAgICAgLi4uKG5vZGVWZXJzaW9uICYmIHsgJ25vZGUtdmVyc2lvbic6IG5vZGVWZXJzaW9uIH0pLFxuICAgICAgICBjYWNoZTogaXNZYXJuQ2xhc3NpYyhwbSkgfHwgaXNZYXJuQmVycnkocG0pID8gJ3lhcm4nIDogcG0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHN0ZXBzLnB1c2goe1xuICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgcnVuOiBwcm9qZWN0LnBhY2thZ2UuaW5zdGFsbENvbW1hbmQsXG4gIH0pO1xuICByZXR1cm4gc3RlcHM7XG59XG5cbi8qKlxuICogUnVucyB0aGUgcHJvamVjdCdzIGRlcGxveSB0YXNrLCBwYXNzaW5nIG9uIHRoZSBhcmd1bWVudHMgdGhhdCBmb2xsb3dcbiAqL1xuZnVuY3Rpb24gZGVwbG95Q29tbWFuZChwbTogTm9kZVBhY2thZ2VNYW5hZ2VyKSB7XG4gIGlmIChpc1lhcm5DbGFzc2ljKHBtKSB8fCBpc1lhcm5CZXJyeShwbSkpIHtcbiAgICByZXR1cm4gJ3lhcm4gZGVwbG95JztcbiAgfVxuICBzd2l0Y2ggKHBtKSB7XG4gICAgY2FzZSBOb2RlUGFja2FnZU1hbmFnZXIuTlBNOlxuICAgICAgcmV0dXJuICducG0gcnVuIGRlcGxveSAtLSc7XG4gICAgY2FzZSBOb2RlUGFja2FnZU1hbmFnZXIuUE5QTTpcbiAgICAgIC8vIGBwbnBtIGRlcGxveWAgaXMgYSBwbnBtIGNvbW1hbmQsIG5vdCB0aGUgc2NyaXB0XG4gICAgICByZXR1cm4gJ3BucG0gcnVuIGRlcGxveSc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnYnVuIHJ1biBkZXBsb3knO1xuICB9XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Section = void 0;
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
5
|
class Section {
|
|
6
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Section", version: "5.
|
|
6
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Section", version: "5.2.0" };
|
|
7
7
|
options;
|
|
8
8
|
constructor(options) {
|
|
9
9
|
this.options = options;
|
|
@@ -9,7 +9,7 @@ const section_1 = require("./elements/section");
|
|
|
9
9
|
* in between
|
|
10
10
|
*/
|
|
11
11
|
class ReadmeOrder {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.ReadmeOrder", version: "5.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.ReadmeOrder", version: "5.2.0" };
|
|
13
13
|
/**
|
|
14
14
|
* Sections a reader needs first, such as getting started
|
|
15
15
|
*/
|
|
@@ -30,7 +30,7 @@ class ReadmeOrder {
|
|
|
30
30
|
}
|
|
31
31
|
exports.ReadmeOrder = ReadmeOrder;
|
|
32
32
|
class Readme extends projen_1.FileBase {
|
|
33
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Readme", version: "5.
|
|
33
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.Readme", version: "5.2.0" };
|
|
34
34
|
/**
|
|
35
35
|
* The README of a project, if it has one
|
|
36
36
|
*/
|
|
@@ -61,7 +61,7 @@ function getOptions(options) {
|
|
|
61
61
|
* @pjid cdk-typescript-app
|
|
62
62
|
*/
|
|
63
63
|
class CdkTypeScriptApp extends awscdk_1.AwsCdkTypeScriptApp {
|
|
64
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.CdkTypeScriptApp", version: "5.
|
|
64
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.CdkTypeScriptApp", version: "5.2.0" };
|
|
65
65
|
readme;
|
|
66
66
|
constructor(options) {
|
|
67
67
|
const mergedOptions = getOptions(options);
|
|
@@ -48,7 +48,7 @@ function getOptions(options) {
|
|
|
48
48
|
* @pjid jsii-project
|
|
49
49
|
*/
|
|
50
50
|
class JsiiProject extends projen_1.cdk.JsiiProject {
|
|
51
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.JsiiProject", version: "5.
|
|
51
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.JsiiProject", version: "5.2.0" };
|
|
52
52
|
readme;
|
|
53
53
|
constructor(options) {
|
|
54
54
|
const mergedOptions = getOptions(options);
|
|
@@ -47,7 +47,7 @@ function getOptions(options) {
|
|
|
47
47
|
* @pjid npm-package
|
|
48
48
|
*/
|
|
49
49
|
class NpmPackage extends projen_1.typescript.TypeScriptProject {
|
|
50
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.NpmPackage", version: "5.
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.NpmPackage", version: "5.2.0" };
|
|
51
51
|
readme;
|
|
52
52
|
constructor(options) {
|
|
53
53
|
const mergedOptions = getOptions(options);
|
|
@@ -43,7 +43,7 @@ function getOptions(options) {
|
|
|
43
43
|
* @pjid python-package
|
|
44
44
|
*/
|
|
45
45
|
class PythonPackage extends python_1.PythonProject {
|
|
46
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.PythonPackage", version: "5.
|
|
46
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen-modules.PythonPackage", version: "5.2.0" };
|
|
47
47
|
autoMerge;
|
|
48
48
|
readme;
|
|
49
49
|
constructor(options) {
|