@inizioevoke/evosynth 1.8.0 → 2.0.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/dist/cli/cli.d.ts +2 -0
- package/dist/cli/cli.js +23 -0
- package/dist/cli/evosynth.d.ts +17 -0
- package/dist/cli/evosynth.js +61 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/web-static-serverless.d.ts +52 -0
- package/dist/cli/web-static-serverless.js +73 -0
- package/dist/constructs/codebuild.d.ts +13 -5
- package/dist/constructs/codebuild.js +21 -6
- package/dist/constructs/codepipeline.js +4 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -2
- package/dist/stacks/web-static-serverless/web-global-stack.d.ts +4 -8
- package/dist/stacks/web-static-serverless/web-global-stack.js +57 -61
- package/dist/types.d.ts +16 -1
- package/package.json +9 -2
- package/readme.md +1 -1
- package/samples/app.ts +1 -1
- package/src/cli/cli.ts +29 -0
- package/src/cli/evosynth.ts +72 -0
- package/src/cli/index.ts +2 -0
- package/src/cli/web-static-serverless.ts +130 -0
- package/src/constructs/codebuild.ts +52 -9
- package/src/constructs/codepipeline.ts +3 -2
- package/src/index.ts +2 -1
- package/src/stacks/web-static-serverless/web-global-stack.ts +57 -72
- package/src/types.d.ts +16 -1
package/dist/cli/cli.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { program } from 'commander';
|
|
3
|
+
import { evosynth } from './evosynth.js';
|
|
4
|
+
program
|
|
5
|
+
.name('evosynth')
|
|
6
|
+
.description('CDK utility')
|
|
7
|
+
.version('2.0.0')
|
|
8
|
+
.option('--profile <profile>', 'The AWS profile');
|
|
9
|
+
// program
|
|
10
|
+
// .command('bootstrap')
|
|
11
|
+
// .action(bootstrap);
|
|
12
|
+
['deploy', 'destroy', 'diff', 'drift', 'rollback', 'synth']
|
|
13
|
+
.forEach((cmd) => {
|
|
14
|
+
program.command(`${cmd} <env>`).action(action);
|
|
15
|
+
});
|
|
16
|
+
program.parse();
|
|
17
|
+
// async function bootstrap(options: Record<string, string>, command: Command) {
|
|
18
|
+
// await evosynth('bootstrap', )
|
|
19
|
+
// }
|
|
20
|
+
async function action(env, options, command) {
|
|
21
|
+
await evosynth(command.name(), env, program.opts());
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBVyxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTztLQUNKLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDaEIsV0FBVyxDQUFDLGFBQWEsQ0FBQztLQUMxQixPQUFPLENBQUMsT0FBTyxDQUFDO0tBQ2hCLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBR3BELFVBQVU7QUFDViwwQkFBMEI7QUFDMUIsd0JBQXdCO0FBRVQsQ0FBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE9BQU8sQ0FBRTtLQUNuRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNmLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQztBQUVMLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUVoQixnRkFBZ0Y7QUFDaEYsa0NBQWtDO0FBQ2xDLElBQUk7QUFDSixLQUFLLFVBQVUsTUFBTSxDQUFDLEdBQVcsRUFBRSxPQUErQixFQUFFLE9BQWdCO0lBQ2xGLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQWdCLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQW1CLENBQUMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBDb21tYW5kLCBwcm9ncmFtIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGV2b3N5bnRoLCBFdm9zeW50aFByb3BzLCBDZGtDb21tYW5kIH0gZnJvbSAnLi9ldm9zeW50aC5qcyc7XG5cbnByb2dyYW1cbiAgLm5hbWUoJ2V2b3N5bnRoJylcbiAgLmRlc2NyaXB0aW9uKCdDREsgdXRpbGl0eScpXG4gIC52ZXJzaW9uKCcyLjAuMCcpXG4gIC5vcHRpb24oJy0tcHJvZmlsZSA8cHJvZmlsZT4nLCAnVGhlIEFXUyBwcm9maWxlJyk7XG5cblxuLy8gcHJvZ3JhbVxuLy8gICAuY29tbWFuZCgnYm9vdHN0cmFwJylcbi8vICAgLmFjdGlvbihib290c3RyYXApO1xuXG4oPENka0NvbW1hbmRbXT5bJ2RlcGxveScsJ2Rlc3Ryb3knLCdkaWZmJywnZHJpZnQnLCdyb2xsYmFjaycsJ3N5bnRoJ10pXG4gIC5mb3JFYWNoKChjbWQpID0+IHtcbiAgICBwcm9ncmFtLmNvbW1hbmQoYCR7Y21kfSA8ZW52PmApLmFjdGlvbihhY3Rpb24pO1xuICB9KTtcblxucHJvZ3JhbS5wYXJzZSgpO1xuXG4vLyBhc3luYyBmdW5jdGlvbiBib290c3RyYXAob3B0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgY29tbWFuZDogQ29tbWFuZCkge1xuLy8gICBhd2FpdCBldm9zeW50aCgnYm9vdHN0cmFwJywgKVxuLy8gfVxuYXN5bmMgZnVuY3Rpb24gYWN0aW9uKGVudjogc3RyaW5nLCBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBjb21tYW5kOiBDb21tYW5kKSB7XG4gIGF3YWl0IGV2b3N5bnRoKGNvbW1hbmQubmFtZSgpIGFzIENka0NvbW1hbmQsIGVudiwgcHJvZ3JhbS5vcHRzKCkgYXMgRXZvc3ludGhQcm9wcyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { EvosynthTagKey } from '../types.js';
|
|
2
|
+
import { WebStaticServerlessAppConfig } from './web-static-serverless.js';
|
|
3
|
+
export { WebStaticServerlessAppConfig };
|
|
4
|
+
export type EnvironmentType = 'dev' | 'test' | 'stage' | 'uat' | 'preprod' | 'prod' | (string & {});
|
|
5
|
+
export type CdkCommand = 'deploy' | 'destroy' | 'diff' | 'drift' | 'rollback' | 'synth';
|
|
6
|
+
export type EvosynthAppType = 'str8r-clm' | 'web-static-serverless';
|
|
7
|
+
export interface EvosynthAppConfig {
|
|
8
|
+
type: EvosynthAppType;
|
|
9
|
+
envType?: EnvironmentType;
|
|
10
|
+
name: string;
|
|
11
|
+
region: 'us-east-1' | 'us-east-2' | 'us-west-1' | 'us-west-2' | (string & {});
|
|
12
|
+
tags?: Record<EvosynthTagKey, string>;
|
|
13
|
+
}
|
|
14
|
+
export interface EvosynthProps {
|
|
15
|
+
profile?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function evosynth(cmd: CdkCommand, env: string, props: EvosynthProps): Promise<void>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
9
|
+
import { readdir } from 'node:fs/promises';
|
|
10
|
+
import { join } from 'node:path';
|
|
11
|
+
import { pathToFileURL } from 'node:url';
|
|
12
|
+
import { runWebStaticServerlessApp } from './web-static-serverless.js';
|
|
13
|
+
export async function evosynth(cmd, env, props) {
|
|
14
|
+
const files = await readdir(process.cwd(), { withFileTypes: true });
|
|
15
|
+
const configFiles = files
|
|
16
|
+
.filter((dirent) => {
|
|
17
|
+
if (dirent.isFile()) {
|
|
18
|
+
return /^\.evosynth(.*?)\.(?:js|mjs|ts|mts)$/i.test(dirent.name);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
.map((dirent) => {
|
|
25
|
+
const parts = dirent.name.split('.').filter(p => p !== '');
|
|
26
|
+
return {
|
|
27
|
+
name: dirent.name,
|
|
28
|
+
env: parts.length > 2 ? parts[1] : undefined,
|
|
29
|
+
dir: dirent.parentPath
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
let configIndex = configFiles.findIndex(c => c.env && env && c.env.toLowerCase() === env.toLowerCase());
|
|
33
|
+
if (configIndex === -1) {
|
|
34
|
+
configIndex = configFiles.findIndex(c => c.env === undefined);
|
|
35
|
+
}
|
|
36
|
+
if (configIndex != -1) {
|
|
37
|
+
const configFile = configFiles[configIndex];
|
|
38
|
+
const module = await import(__rewriteRelativeImportExtension(pathToFileURL(join(configFile.dir, configFile.name)).toString()));
|
|
39
|
+
let config = undefined;
|
|
40
|
+
if (configFile.env) {
|
|
41
|
+
config = module.default;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
config = module[env]?.();
|
|
45
|
+
}
|
|
46
|
+
if (config) {
|
|
47
|
+
if (props.profile) {
|
|
48
|
+
process.env.AWS_PROFILE = props.profile;
|
|
49
|
+
}
|
|
50
|
+
switch (config.type) {
|
|
51
|
+
case 'web-static-serverless':
|
|
52
|
+
await runWebStaticServerlessApp(cmd, config);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
console.error('evosynth config not found!');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvc3ludGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2V2b3N5bnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6QyxPQUFPLEVBQUUseUJBQXlCLEVBQWdDLE1BQU0sNEJBQTRCLENBQUM7QUFtQnJHLE1BQU0sQ0FBQyxLQUFLLFVBQVUsUUFBUSxDQUFDLEdBQWUsRUFBRSxHQUFXLEVBQUUsS0FBb0I7SUFDL0UsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFcEUsTUFBTSxXQUFXLEdBQUcsS0FBSztTQUN0QixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNqQixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sdUNBQXVDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMsQ0FBQztTQUNELEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ2QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE9BQU87WUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDNUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxVQUFVO1NBQ3ZCLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVMLElBQUksV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hHLElBQUksV0FBVyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkIsV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxJQUFJLFdBQVcsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sa0NBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFDLENBQUM7UUFDN0YsSUFBSSxNQUFNLEdBQWtDLFNBQVMsQ0FBQztRQUN0RCxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDMUMsQ0FBQztZQUNELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNwQixLQUFLLHVCQUF1QjtvQkFDMUIsTUFBTSx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsTUFBc0MsQ0FBQyxDQUFDO29CQUM3RSxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7SUFFSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRkaXIgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCB0eXBlIHsgRXZvc3ludGhUYWdLZXkgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBydW5XZWJTdGF0aWNTZXJ2ZXJsZXNzQXBwLCBXZWJTdGF0aWNTZXJ2ZXJsZXNzQXBwQ29uZmlnIH0gZnJvbSAnLi93ZWItc3RhdGljLXNlcnZlcmxlc3MuanMnO1xuXG5leHBvcnQgeyBXZWJTdGF0aWNTZXJ2ZXJsZXNzQXBwQ29uZmlnIH07XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50VHlwZSA9ICdkZXYnIHwgJ3Rlc3QnIHwgJ3N0YWdlJyB8ICd1YXQnIHwgJ3ByZXByb2QnICB8ICdwcm9kJyB8IChzdHJpbmcgJiB7fSk7XG5leHBvcnQgdHlwZSBDZGtDb21tYW5kID0gJ2RlcGxveScgfCAnZGVzdHJveScgfCAnZGlmZicgfCAnZHJpZnQnIHwgJ3JvbGxiYWNrJyB8ICdzeW50aCc7IC8vICdib290c3RyYXAnIHwgXG5leHBvcnQgdHlwZSBFdm9zeW50aEFwcFR5cGUgPSAnc3RyOHItY2xtJyB8ICd3ZWItc3RhdGljLXNlcnZlcmxlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2b3N5bnRoQXBwQ29uZmlnIHtcbiAgdHlwZTogRXZvc3ludGhBcHBUeXBlO1xuICBlbnZUeXBlPzogRW52aXJvbm1lbnRUeXBlO1xuICBuYW1lOiBzdHJpbmc7XG4gIHJlZ2lvbjogJ3VzLWVhc3QtMScgfCAndXMtZWFzdC0yJyB8ICd1cy13ZXN0LTEnIHwgJ3VzLXdlc3QtMicgfCAoc3RyaW5nICYge30pO1xuICB0YWdzPzogUmVjb3JkPEV2b3N5bnRoVGFnS2V5LCBzdHJpbmc+LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2b3N5bnRoUHJvcHMge1xuICBwcm9maWxlPzogc3RyaW5nO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV2b3N5bnRoKGNtZDogQ2RrQ29tbWFuZCwgZW52OiBzdHJpbmcsIHByb3BzOiBFdm9zeW50aFByb3BzKSB7XG4gIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVhZGRpcihwcm9jZXNzLmN3ZCgpLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG5cbiAgY29uc3QgY29uZmlnRmlsZXMgPSBmaWxlc1xuICAgIC5maWx0ZXIoKGRpcmVudCkgPT4ge1xuICAgICAgaWYgKGRpcmVudC5pc0ZpbGUoKSkge1xuICAgICAgICByZXR1cm4gL15cXC5ldm9zeW50aCguKj8pXFwuKD86anN8bWpzfHRzfG10cykkL2kudGVzdChkaXJlbnQubmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSlcbiAgICAubWFwKChkaXJlbnQpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyZW50Lm5hbWUuc3BsaXQoJy4nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBkaXJlbnQubmFtZSxcbiAgICAgICAgZW52OiBwYXJ0cy5sZW5ndGggPiAyID8gcGFydHNbMV0gOiB1bmRlZmluZWQsXG4gICAgICAgIGRpcjogZGlyZW50LnBhcmVudFBhdGhcbiAgICAgIH1cbiAgICB9KTtcbiAgXG4gIGxldCBjb25maWdJbmRleCA9IGNvbmZpZ0ZpbGVzLmZpbmRJbmRleChjID0+IGMuZW52ICYmIGVudiAmJiBjLmVudi50b0xvd2VyQ2FzZSgpID09PSBlbnYudG9Mb3dlckNhc2UoKSk7XG4gIGlmIChjb25maWdJbmRleCA9PT0gLTEpIHtcbiAgICBjb25maWdJbmRleCA9IGNvbmZpZ0ZpbGVzLmZpbmRJbmRleChjID0+IGMuZW52ID09PSB1bmRlZmluZWQpO1xuICB9XG4gIGlmIChjb25maWdJbmRleCAhPSAtMSkge1xuICAgIGNvbnN0IGNvbmZpZ0ZpbGUgPSBjb25maWdGaWxlc1tjb25maWdJbmRleF07XG4gICAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0KHBhdGhUb0ZpbGVVUkwoam9pbihjb25maWdGaWxlLmRpciwgY29uZmlnRmlsZS5uYW1lKSkudG9TdHJpbmcoKSk7XG4gICAgbGV0IGNvbmZpZzogRXZvc3ludGhBcHBDb25maWcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGNvbmZpZ0ZpbGUuZW52KSB7XG4gICAgICBjb25maWcgPSBtb2R1bGUuZGVmYXVsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmlnID0gbW9kdWxlW2Vudl0/LigpO1xuICAgIH1cblxuICAgIGlmIChjb25maWcpIHtcbiAgICAgIGlmIChwcm9wcy5wcm9maWxlKSB7XG4gICAgICAgIHByb2Nlc3MuZW52LkFXU19QUk9GSUxFID0gcHJvcHMucHJvZmlsZTtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAoY29uZmlnLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnd2ViLXN0YXRpYy1zZXJ2ZXJsZXNzJzpcbiAgICAgICAgICBhd2FpdCBydW5XZWJTdGF0aWNTZXJ2ZXJsZXNzQXBwKGNtZCwgY29uZmlnIGFzIFdlYlN0YXRpY1NlcnZlcmxlc3NBcHBDb25maWcpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmVycm9yKCdldm9zeW50aCBjb25maWcgbm90IGZvdW5kIScpO1xuICB9XG59Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './evosynth.js';
|
|
2
|
+
export * from './web-static-serverless.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2V2b3N5bnRoLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vd2ViLXN0YXRpYy1zZXJ2ZXJsZXNzLmpzJzsiXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ResponseHeadersPolicyProps } from 'aws-cdk-lib/aws-cloudfront';
|
|
2
|
+
import { IBuildImage } from 'aws-cdk-lib/aws-codebuild';
|
|
3
|
+
import { CloudFrontFunctionRedirects } from '../constructs/cloudfront.js';
|
|
4
|
+
import { CodeBuildImageId, EcrBuildImage, CodeBuildSsmParameter, CodeBuildComputeType, CodeBuildNodeJs, EnvironmentVariables } from '../constructs/codebuild.ts';
|
|
5
|
+
import type { EvosynthAppConfig, CdkCommand, EvosynthAppType } from './evosynth.ts';
|
|
6
|
+
import type { CloudFrontFunctionEventType, CspHeaders, UUID, AWSManagedResponseHeadersPolicy } from '../types.d.ts';
|
|
7
|
+
export interface WebStaticServerlessAppConfig extends EvosynthAppConfig {
|
|
8
|
+
type: Extract<EvosynthAppType, 'web-static-serverless'>;
|
|
9
|
+
description?: string;
|
|
10
|
+
dns: {
|
|
11
|
+
record: string;
|
|
12
|
+
zone: string;
|
|
13
|
+
};
|
|
14
|
+
security?: {
|
|
15
|
+
basicAuth?: string;
|
|
16
|
+
basicAuthParam?: string;
|
|
17
|
+
webAcl?: string | false;
|
|
18
|
+
webAclParam?: string;
|
|
19
|
+
};
|
|
20
|
+
cloudfront?: {
|
|
21
|
+
responseHeaders?: AWSManagedResponseHeadersPolicy | UUID | false;
|
|
22
|
+
responseHeadersParam?: string;
|
|
23
|
+
responseHeadersPolicy?: ResponseHeadersPolicyProps;
|
|
24
|
+
cspHeaders?: CspHeaders;
|
|
25
|
+
redirects?: CloudFrontFunctionRedirects;
|
|
26
|
+
function?: string | {
|
|
27
|
+
code: string;
|
|
28
|
+
eventType: CloudFrontFunctionEventType[];
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
pipeline?: {
|
|
32
|
+
source: {
|
|
33
|
+
codestarConnection?: string;
|
|
34
|
+
codestarConnectionParam?: string;
|
|
35
|
+
owner: 'evokegroup' | 'meltmedia' | (string & {});
|
|
36
|
+
repo: string;
|
|
37
|
+
branch: string;
|
|
38
|
+
fullClone?: boolean;
|
|
39
|
+
};
|
|
40
|
+
build?: {
|
|
41
|
+
buildSpec?: string | object;
|
|
42
|
+
buildImage?: IBuildImage;
|
|
43
|
+
buildImageEcr?: EcrBuildImage;
|
|
44
|
+
buildImageNodeJS?: CodeBuildNodeJs;
|
|
45
|
+
buildImageId?: CodeBuildImageId;
|
|
46
|
+
computeType?: CodeBuildComputeType;
|
|
47
|
+
environmentVariables?: EnvironmentVariables;
|
|
48
|
+
ssmParameters?: CodeBuildSsmParameter[];
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export declare function runWebStaticServerlessApp(cmd: CdkCommand, config: WebStaticServerlessAppConfig): Promise<void>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import * as core from 'aws-cdk-lib/core';
|
|
3
|
+
import { Toolkit } from '@aws-cdk/toolkit-lib';
|
|
4
|
+
import { getEnv } from '../index.js';
|
|
5
|
+
import { WebStaticServerlessStage } from '../stages/web-static-serverless-stage.js';
|
|
6
|
+
const cdk = new Toolkit();
|
|
7
|
+
export async function runWebStaticServerlessApp(cmd, config) {
|
|
8
|
+
const cx = await cdk.fromAssemblyBuilder(async (props) => {
|
|
9
|
+
const app = new core.App({
|
|
10
|
+
outdir: join(process.cwd(), '.evosynth'),
|
|
11
|
+
});
|
|
12
|
+
const stageProps = {
|
|
13
|
+
env: getEnv(config.region),
|
|
14
|
+
stageName: `${config.name}${config.envType ? `-${config.envType}` : ''}`,
|
|
15
|
+
tags: config.tags,
|
|
16
|
+
envType: config.envType === 'prod' ? 'PROD' : 'NOT_PROD',
|
|
17
|
+
description: `${config.description}${config.envType ? ` ${config.envType.toUpperCase()}` : ''}`,
|
|
18
|
+
hostedZone: config.dns.zone,
|
|
19
|
+
domainName: `${config.dns.record}.${config.dns.zone}`,
|
|
20
|
+
basicAuth: config.security?.basicAuthParam ? { path: config.security?.basicAuthParam } : config.security?.basicAuth,
|
|
21
|
+
webAcl: config.security?.webAclParam ? { path: config.security.webAclParam } : config.security?.webAcl,
|
|
22
|
+
redirects: config.cloudfront?.redirects,
|
|
23
|
+
responseCspHeaders: config.cloudfront?.cspHeaders,
|
|
24
|
+
responseHeadersPolicy: config.cloudfront?.responseHeadersParam ? { path: config.cloudfront.responseHeadersParam } : config.cloudfront?.responseHeaders,
|
|
25
|
+
responseHeadersPolicyProps: config.cloudfront?.responseHeadersPolicy,
|
|
26
|
+
cloudfrontFunction: config.cloudfront?.function && typeof config.cloudfront.function == 'string' ? {
|
|
27
|
+
code: config.cloudfront.function,
|
|
28
|
+
eventType: ['VIEWER_REQUEST', 'VIEWER_RESPONSE'],
|
|
29
|
+
} : config.cloudfront?.function
|
|
30
|
+
};
|
|
31
|
+
if (config.pipeline) {
|
|
32
|
+
stageProps.pipeline = {
|
|
33
|
+
sourceStage: {
|
|
34
|
+
codestarConnection: config.pipeline.source.codestarConnectionParam ? { path: config.pipeline.source.codestarConnectionParam } : config.pipeline.source.codestarConnection,
|
|
35
|
+
repoOwner: config.pipeline.source.owner,
|
|
36
|
+
repo: config.pipeline.source.repo,
|
|
37
|
+
branch: config.pipeline.source.branch,
|
|
38
|
+
fullClone: config.pipeline.source.fullClone
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
if (config.pipeline.build) {
|
|
42
|
+
stageProps.pipeline.buildStage = {
|
|
43
|
+
environmentVariables: config.pipeline.build.environmentVariables
|
|
44
|
+
};
|
|
45
|
+
stageProps.pipeline.codeBuildProject = {
|
|
46
|
+
buildImage: config.pipeline.build.buildImage,
|
|
47
|
+
buildImageId: config.pipeline.build.buildImageId,
|
|
48
|
+
buildImageNodeJS: config.pipeline.build.buildImageNodeJS,
|
|
49
|
+
buildSpec: config.pipeline.build.buildSpec,
|
|
50
|
+
computeType: config.pipeline.build.computeType,
|
|
51
|
+
ecrBuildImage: config.pipeline.build.buildImageEcr,
|
|
52
|
+
ssmParameters: config.pipeline.build.ssmParameters
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
new WebStaticServerlessStage(app, config.type, stageProps);
|
|
57
|
+
return app.synth();
|
|
58
|
+
});
|
|
59
|
+
switch (cmd) {
|
|
60
|
+
// case 'bootstrap':
|
|
61
|
+
// await cdk.bootstrap(BootstrapEnvironments.fromList([`aws://${process.env.CDK_DEFAULT_ACCOUNT}/${config.region}`]));
|
|
62
|
+
// break;
|
|
63
|
+
case 'deploy':
|
|
64
|
+
case 'destroy':
|
|
65
|
+
case 'diff':
|
|
66
|
+
case 'drift':
|
|
67
|
+
case 'rollback':
|
|
68
|
+
case 'synth':
|
|
69
|
+
await cdk[cmd](cx);
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXN0YXRpYy1zZXJ2ZXJsZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS93ZWItc3RhdGljLXNlcnZlcmxlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEtBQUssSUFBSSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBK0MsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPNUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsd0JBQXdCLEVBQWlDLE1BQU0sMENBQTBDLENBQUM7QUFFbkgsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQWdEMUIsTUFBTSxDQUFDLEtBQUssVUFBVSx5QkFBeUIsQ0FBQyxHQUFlLEVBQUUsTUFBb0M7SUFDbkcsTUFBTSxFQUFFLEdBQUcsTUFBTSxHQUFHLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3ZELE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFXLENBQUM7U0FDekMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQW9EO1lBQ2xFLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUMxQixTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxLQUFLLE1BQU0s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LFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVTtvQkFDNUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVk7b0JBQ2hELGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGdCQUFnQjtvQkFDeEQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVM7b0JBQzFDLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXO29CQUM5QyxhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYTtvQkFDbEQsYUFBYSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWE7aUJBQ25ELENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksd0JBQXdCLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFM0QsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ1osb0JBQW9CO1FBQ3BCLHdIQUF3SDtRQUN4SCxXQUFXO1FBQ1gsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFNBQVMsQ0FBQztRQUNmLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLE9BQU87WUFDVixNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuQixNQUFNO0lBQ1YsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCAqIGFzIGNvcmUgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBCb290c3RyYXBFbnZpcm9ubWVudHMsIElDbG91ZEFzc2VtYmx5U291cmNlLCBUb29sa2l0IH0gZnJvbSAnQGF3cy1jZGsvdG9vbGtpdC1saWInO1xuaW1wb3J0IHsgUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgeyBJQnVpbGRJbWFnZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlYnVpbGQnO1xuaW1wb3J0IHsgQ2xvdWRGcm9udEZ1bmN0aW9uUmVkaXJlY3RzIH0gZnJvbSAnLi4vY29uc3RydWN0cy9jbG91ZGZyb250LmpzJztcbmltcG9ydCB7IENvZGVCdWlsZEltYWdlSWQsIEVjckJ1aWxkSW1hZ2UsIENvZGVCdWlsZFNzbVBhcmFtZXRlciwgQ29kZUJ1aWxkQ29tcHV0ZVR5cGUsIENvZGVCdWlsZE5vZGVKcywgRW52aXJvbm1lbnRWYXJpYWJsZXMgfSBmcm9tICcuLi9jb25zdHJ1Y3RzL2NvZGVidWlsZC50cyc7XG5pbXBvcnQgdHlwZSB7IEV2b3N5bnRoQXBwQ29uZmlnLCBDZGtDb21tYW5kLCBFdm9zeW50aEFwcFR5cGUgfSBmcm9tICcuL2V2b3N5bnRoLnRzJztcbmltcG9ydCB0eXBlIHsgQ2xvdWRGcm9udEZ1bmN0aW9uRXZlbnRUeXBlLCBDc3BIZWFkZXJzLCBVVUlELCBBV1NNYW5hZ2VkUmVzcG9uc2VIZWFkZXJzUG9saWN5IH0gZnJvbSAnLi4vdHlwZXMuZC50cyc7XG5pbXBvcnQgeyBnZXRFbnYgfSBmcm9tICcuLi9pbmRleC5qcyc7XG5pbXBvcnQgeyBXZWJTdGF0aWNTZXJ2ZXJsZXNzU3RhZ2UsIFdlYlN0YXRpY1NlcnZlcmxlc3NTdGFnZVByb3BzIH0gZnJvbSAnLi4vc3RhZ2VzL3dlYi1zdGF0aWMtc2VydmVybGVzcy1zdGFnZS5qcyc7XG5cbmNvbnN0IGNkayA9IG5ldyBUb29sa2l0KCk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViU3RhdGljU2VydmVybGVzc0FwcENvbmZpZyBleHRlbmRzIEV2b3N5bnRoQXBwQ29uZmlnIHtcbiAgdHlwZTogRXh0cmFjdDxFdm9zeW50aEFwcFR5cGUsICd3ZWItc3RhdGljLXNlcnZlcmxlc3MnPixcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRuczoge1xuICAgIHJlY29yZDogc3RyaW5nO1xuICAgIHpvbmU6IHN0cmluZztcbiAgfSxcbiAgc2VjdXJpdHk/OiB7XG4gICAgYmFzaWNBdXRoPzogc3RyaW5nO1xuICAgIGJhc2ljQXV0aFBhcmFtPzogc3RyaW5nO1xuICAgIHdlYkFjbD86IHN0cmluZyB8IGZhbHNlO1xuICAgIHdlYkFjbFBhcmFtPzogc3RyaW5nO1xuICB9LFxuICBjbG91ZGZyb250Pzoge1xuICAgIHJlc3BvbnNlSGVhZGVycz86IEFXU01hbmFnZWRSZXNwb25zZUhlYWRlcnNQb2xpY3kgfCBVVUlEIHwgZmFsc2U7XG4gICAgcmVzcG9uc2VIZWFkZXJzUGFyYW0/OiBzdHJpbmc7XG4gICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5PzogUmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM7XG4gICAgY3NwSGVhZGVycz86IENzcEhlYWRlcnM7XG4gICAgcmVkaXJlY3RzPzogQ2xvdWRGcm9udEZ1bmN0aW9uUmVkaXJlY3RzO1xuICAgIGZ1bmN0aW9uPzogc3RyaW5nIHwge1xuICAgICAgY29kZTogc3RyaW5nO1xuICAgICAgZXZlbnRUeXBlOiBDbG91ZEZyb250RnVuY3Rpb25FdmVudFR5cGVbXTtcbiAgICB9XG4gIH0sXG4gIHBpcGVsaW5lPzoge1xuICAgIHNvdXJjZToge1xuICAgICAgY29kZXN0YXJDb25uZWN0aW9uPzogc3RyaW5nO1xuICAgICAgY29kZXN0YXJDb25uZWN0aW9uUGFyYW0/OiBzdHJpbmc7XG4gICAgICBvd25lcjogJ2V2b2tlZ3JvdXAnIHwgJ21lbHRtZWRpYScgfCAoc3RyaW5nICYge30pO1xuICAgICAgcmVwbzogc3RyaW5nO1xuICAgICAgYnJhbmNoOiBzdHJpbmc7XG4gICAgICBmdWxsQ2xvbmU/OiBib29sZWFuO1xuICAgIH0sXG4gICAgYnVpbGQ/OiB7XG4gICAgICBidWlsZFNwZWM/OiBzdHJpbmcgfCBvYmplY3Q7XG4gICAgICBidWlsZEltYWdlPzogSUJ1aWxkSW1hZ2U7XG4gICAgICBidWlsZEltYWdlRWNyPzogRWNyQnVpbGRJbWFnZTtcbiAgICAgIGJ1aWxkSW1hZ2VOb2RlSlM/OiBDb2RlQnVpbGROb2RlSnM7XG4gICAgICBidWlsZEltYWdlSWQ/OiBDb2RlQnVpbGRJbWFnZUlkO1xuICAgICAgY29tcHV0ZVR5cGU/OiBDb2RlQnVpbGRDb21wdXRlVHlwZTtcbiAgICAgIGVudmlyb25tZW50VmFyaWFibGVzPzogRW52aXJvbm1lbnRWYXJpYWJsZXM7XG4gICAgICBzc21QYXJhbWV0ZXJzPzogQ29kZUJ1aWxkU3NtUGFyYW1ldGVyW11cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bldlYlN0YXRpY1NlcnZlcmxlc3NBcHAoY21kOiBDZGtDb21tYW5kLCBjb25maWc6IFdlYlN0YXRpY1NlcnZlcmxlc3NBcHBDb25maWcpIHtcbiAgY29uc3QgY3ggPSBhd2FpdCBjZGsuZnJvbUFzc2VtYmx5QnVpbGRlcihhc3luYyAocHJvcHMpID0+IHtcbiAgICBjb25zdCBhcHAgPSBuZXcgY29yZS5BcHAoe1xuICAgICAgb3V0ZGlyOiBqb2luKHByb2Nlc3MuY3dkKCksICcuZXZvc3ludGgnKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0YWdlUHJvcHM6IFdlYlN0YXRpY1NlcnZlcmxlc3NTdGFnZVByb3BzICYgY29yZS5TdGFnZVByb3BzID0ge1xuICAgICAgZW52OiBnZXRFbnYoY29uZmlnLnJlZ2lvbiksXG4gICAgICBzdGFnZU5hbWU6IGAke2NvbmZpZy5uYW1lfSR7Y29uZmlnLmVudlR5cGUgPyBgLSR7Y29uZmlnLmVudlR5cGV9YCA6ICcnfWAsXG4gICAgICB0YWdzOiBjb25maWcudGFncyxcbiAgICAgIGVudlR5cGU6IGNvbmZpZy5lbnZUeXBlID09PSAncHJvZCcgPyAnUFJPRCcgOiAnTk9UX1BST0QnLFxuICAgICAgZGVzY3JpcHRpb246IGAke2NvbmZpZy5kZXNjcmlwdGlvbn0ke2NvbmZpZy5lbnZUeXBlID8gYCAke2NvbmZpZy5lbnZUeXBlLnRvVXBwZXJDYXNlKCl9YCA6ICcnfWAsXG4gICAgICBob3N0ZWRab25lOiBjb25maWcuZG5zLnpvbmUsXG4gICAgICBkb21haW5OYW1lOiBgJHtjb25maWcuZG5zLnJlY29yZH0uJHtjb25maWcuZG5zLnpvbmV9YCxcbiAgICAgIGJhc2ljQXV0aDogY29uZmlnLnNlY3VyaXR5Py5iYXNpY0F1dGhQYXJhbSA/IHsgcGF0aDogY29uZmlnLnNlY3VyaXR5Py5iYXNpY0F1dGhQYXJhbSB9IDogY29uZmlnLnNlY3VyaXR5Py5iYXNpY0F1dGgsXG4gICAgICB3ZWJBY2w6IGNvbmZpZy5zZWN1cml0eT8ud2ViQWNsUGFyYW0gPyB7IHBhdGg6IGNvbmZpZy5zZWN1cml0eS53ZWJBY2xQYXJhbSB9IDogY29uZmlnLnNlY3VyaXR5Py53ZWJBY2wsXG4gICAgICByZWRpcmVjdHM6IGNvbmZpZy5jbG91ZGZyb250Py5yZWRpcmVjdHMsXG4gICAgICByZXNwb25zZUNzcEhlYWRlcnM6IGNvbmZpZy5jbG91ZGZyb250Py5jc3BIZWFkZXJzLFxuICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5OiBjb25maWcuY2xvdWRmcm9udD8ucmVzcG9uc2VIZWFkZXJzUGFyYW0gPyB7IHBhdGg6IGNvbmZpZy5jbG91ZGZyb250LnJlc3BvbnNlSGVhZGVyc1BhcmFtIH0gOiBjb25maWcuY2xvdWRmcm9udD8ucmVzcG9uc2VIZWFkZXJzLFxuICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM6IGNvbmZpZy5jbG91ZGZyb250Py5yZXNwb25zZUhlYWRlcnNQb2xpY3ksXG4gICAgICBjbG91ZGZyb250RnVuY3Rpb246IGNvbmZpZy5jbG91ZGZyb250Py5mdW5jdGlvbiAmJiB0eXBlb2YgY29uZmlnLmNsb3VkZnJvbnQuZnVuY3Rpb24gPT0gJ3N0cmluZycgPyB7XG4gICAgICAgIGNvZGU6IGNvbmZpZy5jbG91ZGZyb250LmZ1bmN0aW9uLFxuICAgICAgICBldmVudFR5cGU6IFsnVklFV0VSX1JFUVVFU1QnLCdWSUVXRVJfUkVTUE9OU0UnXSxcbiAgICAgIH0gOiBjb25maWcuY2xvdWRmcm9udD8uZnVuY3Rpb24gYXMgYW55XG4gICAgfVxuICAgIGlmIChjb25maWcucGlwZWxpbmUpIHtcbiAgICAgIHN0YWdlUHJvcHMucGlwZWxpbmUgPSB7XG4gICAgICAgIHNvdXJjZVN0YWdlOiB7XG4gICAgICAgICAgY29kZXN0YXJDb25uZWN0aW9uOiBjb25maWcucGlwZWxpbmUuc291cmNlLmNvZGVzdGFyQ29ubmVjdGlvblBhcmFtID8geyBwYXRoOiBjb25maWcucGlwZWxpbmUuc291cmNlLmNvZGVzdGFyQ29ubmVjdGlvblBhcmFtIH0gOiBjb25maWcucGlwZWxpbmUuc291cmNlLmNvZGVzdGFyQ29ubmVjdGlvbiBhcyBzdHJpbmcsXG4gICAgICAgICAgcmVwb093bmVyOiBjb25maWcucGlwZWxpbmUuc291cmNlLm93bmVyLFxuICAgICAgICAgIHJlcG86IGNvbmZpZy5waXBlbGluZS5zb3VyY2UucmVwbyxcbiAgICAgICAgICBicmFuY2g6IGNvbmZpZy5waXBlbGluZS5zb3VyY2UuYnJhbmNoLFxuICAgICAgICAgIGZ1bGxDbG9uZTogY29uZmlnLnBpcGVsaW5lLnNvdXJjZS5mdWxsQ2xvbmVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGNvbmZpZy5waXBlbGluZS5idWlsZCkge1xuICAgICAgICBzdGFnZVByb3BzLnBpcGVsaW5lLmJ1aWxkU3RhZ2UgPSB7XG4gICAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IGNvbmZpZy5waXBlbGluZS5idWlsZC5lbnZpcm9ubWVudFZhcmlhYmxlc1xuICAgICAgICB9O1xuICAgICAgICBzdGFnZVByb3BzLnBpcGVsaW5lLmNvZGVCdWlsZFByb2plY3QgPSB7XG4gICAgICAgICAgYnVpbGRJbWFnZTogY29uZmlnLnBpcGVsaW5lLmJ1aWxkLmJ1aWxkSW1hZ2UsXG4gICAgICAgICAgYnVpbGRJbWFnZUlkOiBjb25maWcucGlwZWxpbmUuYnVpbGQuYnVpbGRJbWFnZUlkLFxuICAgICAgICAgIGJ1aWxkSW1hZ2VOb2RlSlM6IGNvbmZpZy5waXBlbGluZS5idWlsZC5idWlsZEltYWdlTm9kZUpTLFxuICAgICAgICAgIGJ1aWxkU3BlYzogY29uZmlnLnBpcGVsaW5lLmJ1aWxkLmJ1aWxkU3BlYyxcbiAgICAgICAgICBjb21wdXRlVHlwZTogY29uZmlnLnBpcGVsaW5lLmJ1aWxkLmNvbXB1dGVUeXBlLFxuICAgICAgICAgIGVjckJ1aWxkSW1hZ2U6IGNvbmZpZy5waXBlbGluZS5idWlsZC5idWlsZEltYWdlRWNyLFxuICAgICAgICAgIHNzbVBhcmFtZXRlcnM6IGNvbmZpZy5waXBlbGluZS5idWlsZC5zc21QYXJhbWV0ZXJzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgbmV3IFdlYlN0YXRpY1NlcnZlcmxlc3NTdGFnZShhcHAsIGNvbmZpZy50eXBlLCBzdGFnZVByb3BzKTtcblxuICAgIHJldHVybiBhcHAuc3ludGgoKTtcbiAgfSk7XG5cbiAgc3dpdGNoIChjbWQpIHtcbiAgICAvLyBjYXNlICdib290c3RyYXAnOlxuICAgIC8vICAgYXdhaXQgY2RrLmJvb3RzdHJhcChCb290c3RyYXBFbnZpcm9ubWVudHMuZnJvbUxpc3QoW2Bhd3M6Ly8ke3Byb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlR9LyR7Y29uZmlnLnJlZ2lvbn1gXSkpO1xuICAgIC8vICAgYnJlYWs7XG4gICAgY2FzZSAnZGVwbG95JzpcbiAgICBjYXNlICdkZXN0cm95JzpcbiAgICBjYXNlICdkaWZmJzpcbiAgICBjYXNlICdkcmlmdCc6XG4gICAgY2FzZSAncm9sbGJhY2snOlxuICAgIGNhc2UgJ3N5bnRoJzpcbiAgICAgIGF3YWl0IGNka1tjbWRdKGN4KTtcbiAgICAgIGJyZWFrO1xuICB9XG59XG4iXX0=
|
|
@@ -6,7 +6,14 @@ export type EnvironmentVariables = Record<string, {
|
|
|
6
6
|
value: any;
|
|
7
7
|
type?: BuildEnvironmentVariableType;
|
|
8
8
|
}>;
|
|
9
|
-
|
|
9
|
+
export type CodeBuildImageId = 'aws/codebuild/amazonlinux2-aarch64-standard:1.0' | 'aws/codebuild/amazonlinux2-x86_64-standard:2.0' | 'aws/codebuild/amazonlinux2-x86_64-standard:3.0' | 'aws/codebuild/amazonlinux-x86_64-standard:4.0' | 'aws/codebuild/amazonlinux-x86_64-standard:5.0' | 'aws/codebuild/amazonlinux-x86_64-standard:6.0' | 'aws/codebuild/amazonlinux-x86_64-standard:corretto8' | 'aws/codebuild/amazonlinux-x86_64-standard:corretto11' | 'aws/codebuild/amazonlinux-aarch64-standard:2.0' | 'aws/codebuild/amazonlinux-aarch64-standard:3.0' | 'aws/codebuild/standard:3.0' | 'aws/codebuild/standard:4.0' | 'aws/codebuild/standard:5.0' | // nodejs 12, 14
|
|
10
|
+
'aws/codebuild/standard:6.0' | // nodejs 16
|
|
11
|
+
'aws/codebuild/standard:7.0' | // nodejs 18, 20, 22, 24
|
|
12
|
+
'aws/codebuild/standard:8.0' | // nodejs 22, 24
|
|
13
|
+
'aws/codebuild/windows-base:2019-1.0' | 'aws/codebuild/windows-base:2019-2.0' | 'aws/codebuild/windows-base:2019-3.0' | 'aws/codebuild/windows-base:2022-1.0' | (string & {});
|
|
14
|
+
export type CodeBuildComputeType = 'SMALL' | 'MEDIUM' | 'LARGE' | 'X_LARGE' | 'X2_LARGE' | (string & {});
|
|
15
|
+
export type CodeBuildNodeJs = 12 | 14 | 16 | 18 | 20 | 22 | 24 | (number & {});
|
|
16
|
+
export interface CodeBuildSsmParameter extends SsmStringParameter {
|
|
10
17
|
encrypted?: boolean;
|
|
11
18
|
}
|
|
12
19
|
export interface EcrBuildImage {
|
|
@@ -16,16 +23,17 @@ export interface EcrBuildImage {
|
|
|
16
23
|
export interface CodeBuildPipelineProjectProps extends ResourceProps {
|
|
17
24
|
projectName?: string;
|
|
18
25
|
buildSpec?: string | object;
|
|
19
|
-
buildImage?: ('STANDARD_5_0' | 'STANDARD_6_0' | 'STANDARD_7_0') | IBuildImage;
|
|
20
26
|
ecrBuildImage?: EcrBuildImage;
|
|
21
|
-
|
|
27
|
+
buildImage?: IBuildImage;
|
|
28
|
+
buildImageNodeJS?: CodeBuildNodeJs;
|
|
29
|
+
buildImageId?: CodeBuildImageId;
|
|
30
|
+
computeType?: CodeBuildComputeType;
|
|
22
31
|
environmentVariables?: EnvironmentVariables;
|
|
23
32
|
cloudFrontDistributionArn?: string;
|
|
24
33
|
s3BucketName?: string;
|
|
25
|
-
ssmParameters?:
|
|
34
|
+
ssmParameters?: CodeBuildSsmParameter[];
|
|
26
35
|
}
|
|
27
36
|
export declare class CodeBuildPipelineProject extends Construct {
|
|
28
37
|
readonly project: PipelineProject;
|
|
29
38
|
constructor(scope: Construct, id: string, props: CodeBuildPipelineProjectProps);
|
|
30
39
|
}
|
|
31
|
-
export {};
|
|
@@ -31,12 +31,27 @@ export class CodeBuildPipelineProject extends Construct {
|
|
|
31
31
|
buildImage = LinuxBuildImage.fromEcrRepository(repository, props.ecrBuildImage.tag);
|
|
32
32
|
}
|
|
33
33
|
else if (props.buildImage) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
buildImage = props.buildImage;
|
|
35
|
+
}
|
|
36
|
+
else if (props.buildImageNodeJS) {
|
|
37
|
+
let standard = 8;
|
|
38
|
+
switch (props.buildImageNodeJS) {
|
|
39
|
+
case 12:
|
|
40
|
+
case 14:
|
|
41
|
+
standard = 5;
|
|
42
|
+
break;
|
|
43
|
+
case 16:
|
|
44
|
+
standard = 6;
|
|
45
|
+
break;
|
|
46
|
+
case 18:
|
|
47
|
+
case 20:
|
|
48
|
+
standard = 7;
|
|
49
|
+
break;
|
|
39
50
|
}
|
|
51
|
+
buildImage = LinuxBuildImage.fromCodeBuildImageId(`aws/codebuild/standard:${standard}.0`);
|
|
52
|
+
}
|
|
53
|
+
else if (props.buildImageId) {
|
|
54
|
+
buildImage = LinuxBuildImage.fromCodeBuildImageId(props.buildImageId);
|
|
40
55
|
}
|
|
41
56
|
this.project = new PipelineProject(this, 'CodeBuildPipelineProjectProps', {
|
|
42
57
|
projectName: props.projectName,
|
|
@@ -96,4 +111,4 @@ export class CodeBuildPipelineProject extends Construct {
|
|
|
96
111
|
}
|
|
97
112
|
}
|
|
98
113
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvY29kZWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQWdDLFNBQVMsRUFBRSxXQUFXLEVBQWUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBd0I3QyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQUNyQyxPQUFPLENBQWtCO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0M7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUM5RixLQUFLLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLEdBQUc7Z0JBQ3RELEtBQUssRUFBRSxLQUFLLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcs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TCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sUUFBUSxHQUFHLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRTt3QkFDekUsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUN6QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87cUJBQ3ZCLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50VmFyaWFibGVUeXBlLCBCdWlsZFNwZWMsIENvbXB1dGVUeXBlLCBJQnVpbGRJbWFnZSwgTGludXhCdWlsZEltYWdlLCBQaXBlbGluZVByb2plY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgSVN0cmluZ1BhcmFtZXRlciwgU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgdHlwZSB7IFNzbVN0cmluZ1BhcmFtZXRlciB9IGZyb20gXCIuL3NzbS50c1wiO1xuaW1wb3J0IHsgdGFnUmVzb3VyY2UgfSBmcm9tIFwiLi4vbGliL3RhZ3MuanNcIjtcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VQcm9wcyB9IGZyb20gXCIuLi90eXBlcy5kLnRzXCI7XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgeyB2YWx1ZTogYW55LCB0eXBlPzogQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZSB9PjtcblxuaW50ZXJmYWNlIFNzbVBhcmFtZXRlciBleHRlbmRzIFNzbVN0cmluZ1BhcmFtZXRlciB7XG4gIGVuY3J5cHRlZD86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIEVjckJ1aWxkSW1hZ2Uge1xuICByZXBvc2l0b3J5OiBzdHJpbmc7XG4gIHRhZzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcyBleHRlbmRzIFJlc291cmNlUHJvcHMge1xuICBwcm9qZWN0TmFtZT86IHN0cmluZztcbiAgYnVpbGRTcGVjPzogc3RyaW5nIHwgb2JqZWN0O1xuICBidWlsZEltYWdlPzogKCdTVEFOREFSRF81XzAnIHwgJ1NUQU5EQVJEXzZfMCcgfCAnU1RBTkRBUkRfN18wJykgfCBJQnVpbGRJbWFnZTtcbiAgZWNyQnVpbGRJbWFnZT86IEVjckJ1aWxkSW1hZ2UsXG4gIGNvbXB1dGVUeXBlPzogKCdTTUFMTCcgfCAnTUVESVVNJyB8ICdMQVJHRScgfCAnWF9MQVJHRScgfCAnWDJfTEFSR0UnKSB8IHN0cmluZztcbiAgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiBFbnZpcm9ubWVudFZhcmlhYmxlcztcbiAgY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybj86IHN0cmluZztcbiAgczNCdWNrZXROYW1lPzogc3RyaW5nO1xuICBzc21QYXJhbWV0ZXJzPzogU3NtUGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb2RlQnVpbGRQaXBlbGluZVByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogUGlwZWxpbmVQcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzLmVudmlyb25tZW50VmFyaWFibGVzKSB7XG4gICAgICBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcyA9IHt9O1xuICAgIH1cbiAgICBpZiAocHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybiAmJiAhcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZXMuQ0xPVURGUk9OVF9ESVNUUklCVVRJT05fSUQpIHtcbiAgICAgIHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLkNMT1VERlJPTlRfRElTVFJJQlVUSU9OX0lEID0ge1xuICAgICAgICB2YWx1ZTogcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybi5zcGxpdCgnLycpLnBvcCgpXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zM0J1Y2tldE5hbWUgJiYgIXByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLlMzX0JVQ0tFVF9OQU1FKSB7XG4gICAgICBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcy5TM19CVUNLRVRfTkFNRSA9IHtcbiAgICAgICAgdmFsdWU6IHByb3BzLnMzQnVja2V0TmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBsZXQgYnVpbGRJbWFnZTogSUJ1aWxkSW1hZ2UgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHByb3BzLmVjckJ1aWxkSW1hZ2UpIHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkuc3RhcnRzV2l0aCgnYXJuOmF3cycpID8gXG4gICAgICAgIFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4odGhpcywgJ0VjclJlcG9zaXRvcnknLCBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkpIDpcbiAgICAgICAgUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUodGhpcywgJ0VjclJlcG9zaXRvcnknLCBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkpO1xuICAgICAgYnVpbGRJbWFnZSA9IExpbnV4QnVpbGRJbWFnZS5mcm9tRWNyUmVwb3NpdG9yeShyZXBvc2l0b3J5LCBwcm9wcy5lY3JCdWlsZEltYWdlLnRhZyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5idWlsZEltYWdlKSB7XG4gICAgICBpZiAodHlwZW9mIHByb3BzLmJ1aWxkSW1hZ2UgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgYnVpbGRJbWFnZSA9IExpbnV4QnVpbGRJbWFnZVtwcm9wcy5idWlsZEltYWdlID8/ICdTVEFOREFSRF83XzAnXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnVpbGRJbWFnZSA9IHByb3BzLmJ1aWxkSW1hZ2UgYXMgSUJ1aWxkSW1hZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5wcm9qZWN0ID0gbmV3IFBpcGVsaW5lUHJvamVjdCh0aGlzLCAnQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMnLCB7XG4gICAgICBwcm9qZWN0TmFtZTogcHJvcHMucHJvamVjdE5hbWUsXG4gICAgICBidWlsZFNwZWM6IHByb3BzLmJ1aWxkU3BlYyA/IHR5cGVvZiBwcm9wcy5idWlsZFNwZWMgPT0gJ29iamVjdCcgPyBCdWlsZFNwZWMuZnJvbU9iamVjdFRvWWFtbChwcm9wcy5idWlsZFNwZWMpIDogQnVpbGRTcGVjLmZyb21Tb3VyY2VGaWxlbmFtZShwcm9wcy5idWlsZFNwZWMgPz8gJ2J1aWxkc3BlYy55bWwnKSA6IHVuZGVmaW5lZCxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIGJ1aWxkSW1hZ2U6IGJ1aWxkSW1hZ2UgPz8gTGludXhCdWlsZEltYWdlLlNUQU5EQVJEXzdfMCxcbiAgICAgICAgY29tcHV0ZVR5cGU6IENvbXB1dGVUeXBlW3Byb3BzLmNvbXB1dGVUeXBlIGFzIChrZXlvZiB0eXBlb2YgQ29tcHV0ZVR5cGUgfCB1bmRlZmluZWQpID8/ICdTTUFMTCddLFxuICAgICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczogcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZXNcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLnByb2plY3QsIHByb3BzLnRhZ3MpO1xuICAgIGlmICh0eXBlb2YgcHJvcHMuZGVzdHJveSA9PSAnYm9vbGVhbicpIHtcbiAgICAgIHRoaXMucHJvamVjdC5hcHBseVJlbW92YWxQb2xpY3kocHJvcHMuZGVzdHJveSA/IFJlbW92YWxQb2xpY3kuREVTVFJPWSA6IFJlbW92YWxQb2xpY3kuUkVUQUlOKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgQ2xvdWRXYXRjaCBsb2cgcGVybWlzc2lvbnNcbiAgICB0aGlzLnByb2plY3QuYWRkVG9Sb2xlUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnbG9nczpDcmVhdGVMb2dHcm91cCcsXG4gICAgICAgICdsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsXG4gICAgICAgICdsb2dzOlB1dExvZ0V2ZW50cydcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLnByb2plY3QucHJvamVjdEFybl1cbiAgICB9KSk7XG5cbiAgICAvLyBBbGxvdyB0aGUgcHJvamVjdCB0byBjcmVhdGUgYW4gaW52YWxpZGF0aW9uXG4gICAgaWYgKHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Bcm4pIHtcbiAgICAgIHRoaXMucHJvamVjdC5hZGRUb1JvbGVQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnY2xvdWRmcm9udDpDcmVhdGVJbnZhbGlkYXRpb24nXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybl1cbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyB0aGUgcHJvamVjdCB0byBzeW5jIGZpbGVzIHRvIFMzXG4gICAgaWYgKHByb3BzLnMzQnVja2V0TmFtZSkge1xuICAgICAgY29uc3QgczNCdWNrZXQgPSBCdWNrZXQuZnJvbUJ1Y2tldE5hbWUodGhpcywgJ1MzQnVja2V0QnlOYW1lJywgcHJvcHMuczNCdWNrZXROYW1lKTtcbiAgICAgIHMzQnVja2V0LmdyYW50UmVhZFdyaXRlKHRoaXMucHJvamVjdCk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNzbVBhcmFtZXRlcnMpIHtcbiAgICAgIC8vIGRlZHVwXG4gICAgICBwcm9wcy5zc21QYXJhbWV0ZXJzID0gcHJvcHMuc3NtUGFyYW1ldGVycy5maWx0ZXIoKHYsIGksIGEpID0+IHtcbiAgICAgICAgcmV0dXJuIGEuZmluZEluZGV4KHAgPT4gcC5wYXRoID09PSB2LnBhdGgpID09PSBpO1xuICAgICAgfSk7XG4gICAgICBmb3IgKGNvbnN0IHBhcmFtIG9mIHByb3BzLnNzbVBhcmFtZXRlcnMpIHtcbiAgICAgICAgbGV0IHN0clBhcmFtOiBJU3RyaW5nUGFyYW1ldGVyO1xuICAgICAgICBpZiAocGFyYW0uZW5jcnlwdGVkKSB7XG4gICAgICAgICAgc3RyUGFyYW0gPSBTdHJpbmdQYXJhbWV0ZXIuZnJvbVNlY3VyZVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgcGFyYW0ucGF0aCwge1xuICAgICAgICAgICAgcGFyYW1ldGVyTmFtZTogcGFyYW0ucGF0aCxcbiAgICAgICAgICAgIHZlcnNpb246IHBhcmFtLnZlcnNpb25cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHJQYXJhbSA9IFN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyh0aGlzLCBwYXJhbS5wYXRoLCB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiBwYXJhbS5wYXRoLFxuICAgICAgICAgICAgdmVyc2lvbjogcGFyYW0udmVyc2lvblxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHN0clBhcmFtLmdyYW50UmVhZCh0aGlzLnByb2plY3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdfQ==
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvY29kZWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQWdDLFNBQVMsRUFBRSxXQUFXLEVBQWUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBb0Q3QyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsU0FBUztJQUNyQyxPQUFPLENBQWtCO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0M7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUM5RixLQUFLLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLEdBQUc7Z0JBQ3RELEtBQUssRUFBRSxLQUFLLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcs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QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7WUFDSCxLQUFLLE1BQU0sS0FBSyxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxRQUEwQixDQUFDO2dCQUMvQixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDcEIsUUFBUSxHQUFHLGVBQWUsQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRTt3QkFDL0UsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUN6QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87cUJBQ3ZCLENBQUMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sUUFBUSxHQUFHLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRTt3QkFDekUsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUN6QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87cUJBQ3ZCLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50VmFyaWFibGVUeXBlLCBCdWlsZFNwZWMsIENvbXB1dGVUeXBlLCBJQnVpbGRJbWFnZSwgTGludXhCdWlsZEltYWdlLCBQaXBlbGluZVByb2plY3QgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgSVN0cmluZ1BhcmFtZXRlciwgU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgdHlwZSB7IFNzbVN0cmluZ1BhcmFtZXRlciB9IGZyb20gXCIuL3NzbS50c1wiO1xuaW1wb3J0IHsgdGFnUmVzb3VyY2UgfSBmcm9tIFwiLi4vbGliL3RhZ3MuanNcIjtcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VQcm9wcyB9IGZyb20gXCIuLi90eXBlcy5kLnRzXCI7XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgeyB2YWx1ZTogYW55LCB0eXBlPzogQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZSB9PjtcblxuZXhwb3J0IHR5cGUgQ29kZUJ1aWxkSW1hZ2VJZCA9IFxuICAnYXdzL2NvZGVidWlsZC9hbWF6b25saW51eDItYWFyY2g2NC1zdGFuZGFyZDoxLjAnIHwgXG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4Mi14ODZfNjQtc3RhbmRhcmQ6Mi4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4Mi14ODZfNjQtc3RhbmRhcmQ6My4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4LXg4Nl82NC1zdGFuZGFyZDo0LjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgteDg2XzY0LXN0YW5kYXJkOjUuMCcgfFxuICAnYXdzL2NvZGVidWlsZC9hbWF6b25saW51eC14ODZfNjQtc3RhbmRhcmQ6Ni4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL2FtYXpvbmxpbnV4LXg4Nl82NC1zdGFuZGFyZDpjb3JyZXR0bzgnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgteDg2XzY0LXN0YW5kYXJkOmNvcnJldHRvMTEnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgtYWFyY2g2NC1zdGFuZGFyZDoyLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvYW1hem9ubGludXgtYWFyY2g2NC1zdGFuZGFyZDozLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6My4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjQuMCcgfCBcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6NS4wJyB8IC8vIG5vZGVqcyAxMiwgMTRcbiAgJ2F3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6Ni4wJyB8IC8vIG5vZGVqcyAxNlxuICAnYXdzL2NvZGVidWlsZC9zdGFuZGFyZDo3LjAnIHwgLy8gbm9kZWpzIDE4LCAyMCwgMjIsIDI0XG4gICdhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMCcgfCAvLyBub2RlanMgMjIsIDI0XG4gICdhd3MvY29kZWJ1aWxkL3dpbmRvd3MtYmFzZToyMDE5LTEuMCcgfFxuICAnYXdzL2NvZGVidWlsZC93aW5kb3dzLWJhc2U6MjAxOS0yLjAnIHxcbiAgJ2F3cy9jb2RlYnVpbGQvd2luZG93cy1iYXNlOjIwMTktMy4wJyB8XG4gICdhd3MvY29kZWJ1aWxkL3dpbmRvd3MtYmFzZToyMDIyLTEuMCcgfFxuICAoc3RyaW5nICYge30pO1xuXG5leHBvcnQgdHlwZSBDb2RlQnVpbGRDb21wdXRlVHlwZSA9ICdTTUFMTCcgfCAnTUVESVVNJyB8ICdMQVJHRScgfCAnWF9MQVJHRScgfCAnWDJfTEFSR0UnIHwgKHN0cmluZyAmIHt9KTtcbmV4cG9ydCB0eXBlIENvZGVCdWlsZE5vZGVKcyA9IDEyIHwgMTQgfCAxNiB8IDE4IHwgMjAgfCAyMiB8IDI0IHwgKG51bWJlciAmIHt9KTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQnVpbGRTc21QYXJhbWV0ZXIgZXh0ZW5kcyBTc21TdHJpbmdQYXJhbWV0ZXIge1xuICBlbmNyeXB0ZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBFY3JCdWlsZEltYWdlIHtcbiAgcmVwb3NpdG9yeTogc3RyaW5nO1xuICB0YWc6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJ1aWxkUGlwZWxpbmVQcm9qZWN0UHJvcHMgZXh0ZW5kcyBSZXNvdXJjZVByb3BzIHtcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gIGJ1aWxkU3BlYz86IHN0cmluZyB8IG9iamVjdDtcbiAgZWNyQnVpbGRJbWFnZT86IEVjckJ1aWxkSW1hZ2UsXG4gIGJ1aWxkSW1hZ2U/OiBJQnVpbGRJbWFnZTtcbiAgYnVpbGRJbWFnZU5vZGVKUz86IENvZGVCdWlsZE5vZGVKcztcbiAgYnVpbGRJbWFnZUlkPzogQ29kZUJ1aWxkSW1hZ2VJZDtcbiAgY29tcHV0ZVR5cGU/OiBDb2RlQnVpbGRDb21wdXRlVHlwZTtcbiAgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiBFbnZpcm9ubWVudFZhcmlhYmxlcztcbiAgY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybj86IHN0cmluZztcbiAgczNCdWNrZXROYW1lPzogc3RyaW5nO1xuICBzc21QYXJhbWV0ZXJzPzogQ29kZUJ1aWxkU3NtUGFyYW1ldGVyW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb2RlQnVpbGRQaXBlbGluZVByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdDogUGlwZWxpbmVQcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDb2RlQnVpbGRQaXBlbGluZVByb2plY3RQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzLmVudmlyb25tZW50VmFyaWFibGVzKSB7XG4gICAgICBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcyA9IHt9O1xuICAgIH1cbiAgICBpZiAocHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybiAmJiAhcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZXMuQ0xPVURGUk9OVF9ESVNUUklCVVRJT05fSUQpIHtcbiAgICAgIHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLkNMT1VERlJPTlRfRElTVFJJQlVUSU9OX0lEID0ge1xuICAgICAgICB2YWx1ZTogcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvbkFybi5zcGxpdCgnLycpLnBvcCgpXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zM0J1Y2tldE5hbWUgJiYgIXByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLlMzX0JVQ0tFVF9OQU1FKSB7XG4gICAgICBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcy5TM19CVUNLRVRfTkFNRSA9IHtcbiAgICAgICAgdmFsdWU6IHByb3BzLnMzQnVja2V0TmFtZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBsZXQgYnVpbGRJbWFnZTogSUJ1aWxkSW1hZ2UgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHByb3BzLmVjckJ1aWxkSW1hZ2UpIHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkuc3RhcnRzV2l0aCgnYXJuOmF3cycpID8gXG4gICAgICAgIFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4odGhpcywgJ0VjclJlcG9zaXRvcnknLCBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkpIDpcbiAgICAgICAgUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUodGhpcywgJ0VjclJlcG9zaXRvcnknLCBwcm9wcy5lY3JCdWlsZEltYWdlLnJlcG9zaXRvcnkpO1xuICAgICAgYnVpbGRJbWFnZSA9IExpbnV4QnVpbGRJbWFnZS5mcm9tRWNyUmVwb3NpdG9yeShyZXBvc2l0b3J5LCBwcm9wcy5lY3JCdWlsZEltYWdlLnRhZyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5idWlsZEltYWdlKSB7XG4gICAgICBidWlsZEltYWdlID0gcHJvcHMuYnVpbGRJbWFnZSBhcyBJQnVpbGRJbWFnZTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLmJ1aWxkSW1hZ2VOb2RlSlMpIHtcbiAgICAgIGxldCBzdGFuZGFyZCA9IDg7XG4gICAgICBzd2l0Y2ggKHByb3BzLmJ1aWxkSW1hZ2VOb2RlSlMpIHtcbiAgICAgICAgY2FzZSAxMjpcbiAgICAgICAgY2FzZSAxNDpcbiAgICAgICAgICBzdGFuZGFyZCA9IDU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTY6XG4gICAgICAgICAgc3RhbmRhcmQgPSA2O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE4OlxuICAgICAgICBjYXNlIDIwOlxuICAgICAgICAgIHN0YW5kYXJkID0gNztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGJ1aWxkSW1hZ2UgPSBMaW51eEJ1aWxkSW1hZ2UuZnJvbUNvZGVCdWlsZEltYWdlSWQoYGF3cy9jb2RlYnVpbGQvc3RhbmRhcmQ6JHtzdGFuZGFyZH0uMGApO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuYnVpbGRJbWFnZUlkKSB7XG4gICAgICBidWlsZEltYWdlID0gTGludXhCdWlsZEltYWdlLmZyb21Db2RlQnVpbGRJbWFnZUlkKHByb3BzLmJ1aWxkSW1hZ2VJZCk7XG4gICAgfSBcbiAgICBcblxuICAgIHRoaXMucHJvamVjdCA9IG5ldyBQaXBlbGluZVByb2plY3QodGhpcywgJ0NvZGVCdWlsZFBpcGVsaW5lUHJvamVjdFByb3BzJywge1xuICAgICAgcHJvamVjdE5hbWU6IHByb3BzLnByb2plY3ROYW1lLFxuICAgICAgYnVpbGRTcGVjOiBwcm9wcy5idWlsZFNwZWMgPyB0eXBlb2YgcHJvcHMuYnVpbGRTcGVjID09ICdvYmplY3QnID8gQnVpbGRTcGVjLmZyb21PYmplY3RUb1lhbWwocHJvcHMuYnVpbGRTcGVjKSA6IEJ1aWxkU3BlYy5mcm9tU291cmNlRmlsZW5hbWUocHJvcHMuYnVpbGRTcGVjID8/ICdidWlsZHNwZWMueW1sJykgOiB1bmRlZmluZWQsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBidWlsZEltYWdlOiBidWlsZEltYWdlID8/IExpbnV4QnVpbGRJbWFnZS5TVEFOREFSRF83XzAsXG4gICAgICAgIGNvbXB1dGVUeXBlOiBDb21wdXRlVHlwZVtwcm9wcy5jb21wdXRlVHlwZSBhcyAoa2V5b2YgdHlwZW9mIENvbXB1dGVUeXBlIHwgdW5kZWZpbmVkKSA/PyAnU01BTEwnXSxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGFnUmVzb3VyY2UodGhpcy5wcm9qZWN0LCBwcm9wcy50YWdzKTtcbiAgICBpZiAodHlwZW9mIHByb3BzLmRlc3Ryb3kgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLnByb2plY3QuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLmRlc3Ryb3kgPyBSZW1vdmFsUG9saWN5LkRFU1RST1kgOiBSZW1vdmFsUG9saWN5LlJFVEFJTik7XG4gICAgfVxuXG4gICAgLy8gQWRkIENsb3VkV2F0Y2ggbG9nIHBlcm1pc3Npb25zXG4gICAgdGhpcy5wcm9qZWN0LmFkZFRvUm9sZVBvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ2xvZ3M6Q3JlYXRlTG9nR3JvdXAnLFxuICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAnbG9nczpQdXRMb2dFdmVudHMnXG4gICAgICBdLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy5wcm9qZWN0LnByb2plY3RBcm5dXG4gICAgfSkpO1xuXG4gICAgLy8gQWxsb3cgdGhlIHByb2plY3QgdG8gY3JlYXRlIGFuIGludmFsaWRhdGlvblxuICAgIGlmIChwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uQXJuKSB7XG4gICAgICB0aGlzLnByb2plY3QuYWRkVG9Sb2xlUG9saWN5KG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2Nsb3VkZnJvbnQ6Q3JlYXRlSW52YWxpZGF0aW9uJ10sXG4gICAgICAgIHJlc291cmNlczogW3Byb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Bcm5dXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgdGhlIHByb2plY3QgdG8gc3luYyBmaWxlcyB0byBTM1xuICAgIGlmIChwcm9wcy5zM0J1Y2tldE5hbWUpIHtcbiAgICAgIGNvbnN0IHMzQnVja2V0ID0gQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdTM0J1Y2tldEJ5TmFtZScsIHByb3BzLnMzQnVja2V0TmFtZSk7XG4gICAgICBzM0J1Y2tldC5ncmFudFJlYWRXcml0ZSh0aGlzLnByb2plY3QpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zc21QYXJhbWV0ZXJzKSB7XG4gICAgICAvLyBkZWR1cFxuICAgICAgcHJvcHMuc3NtUGFyYW1ldGVycyA9IHByb3BzLnNzbVBhcmFtZXRlcnMuZmlsdGVyKCh2LCBpLCBhKSA9PiB7XG4gICAgICAgIHJldHVybiBhLmZpbmRJbmRleChwID0+IHAucGF0aCA9PT0gdi5wYXRoKSA9PT0gaTtcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBwYXJhbSBvZiBwcm9wcy5zc21QYXJhbWV0ZXJzKSB7XG4gICAgICAgIGxldCBzdHJQYXJhbTogSVN0cmluZ1BhcmFtZXRlcjtcbiAgICAgICAgaWYgKHBhcmFtLmVuY3J5cHRlZCkge1xuICAgICAgICAgIHN0clBhcmFtID0gU3RyaW5nUGFyYW1ldGVyLmZyb21TZWN1cmVTdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKHRoaXMsIHBhcmFtLnBhdGgsIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHBhcmFtLnBhdGgsXG4gICAgICAgICAgICB2ZXJzaW9uOiBwYXJhbS52ZXJzaW9uXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RyUGFyYW0gPSBTdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgcGFyYW0ucGF0aCwge1xuICAgICAgICAgICAgcGFyYW1ldGVyTmFtZTogcGFyYW0ucGF0aCxcbiAgICAgICAgICAgIHZlcnNpb246IHBhcmFtLnZlcnNpb25cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzdHJQYXJhbS5ncmFudFJlYWQodGhpcy5wcm9qZWN0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RemovalPolicy, PhysicalName } from "aws-cdk-lib";
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
|
-
import { Artifact, Pipeline } from "aws-cdk-lib/aws-codepipeline";
|
|
3
|
+
import { Artifact, Pipeline, PipelineType } from "aws-cdk-lib/aws-codepipeline";
|
|
4
4
|
import { CodeBuildAction, CodeStarConnectionsSourceAction } from "aws-cdk-lib/aws-codepipeline-actions";
|
|
5
5
|
import { Bucket } from 'aws-cdk-lib/aws-s3';
|
|
6
6
|
import { StringParameter } from 'aws-cdk-lib/aws-ssm';
|
|
@@ -18,7 +18,8 @@ export class CodePipelineProject extends Construct {
|
|
|
18
18
|
tagResource(this.s3Bucket, props.tags);
|
|
19
19
|
this.pipeline = new Pipeline(this, 'CodePipelineProject', {
|
|
20
20
|
pipelineName: props.pipelineName,
|
|
21
|
-
artifactBucket: this.s3Bucket
|
|
21
|
+
artifactBucket: this.s3Bucket,
|
|
22
|
+
pipelineType: PipelineType.V2
|
|
22
23
|
});
|
|
23
24
|
tagResource(this.pipeline, props.tags);
|
|
24
25
|
if (typeof props.destroy == 'boolean') {
|
|
@@ -60,4 +61,4 @@ export class CodePipelineProject extends Construct {
|
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0cnVjdHMvY29kZXBpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFPLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBcUI3QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUztJQUNoQyxRQUFRLENBQVM7SUFDakIsUUFBUSxDQUFXO0lBRW5DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSw0QkFBNEIsRUFBRTtZQUM3RCxVQUFVLEVBQUUsWUFBWSxDQUFDLGtCQUFrQjtZQUMzQyxhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDckgsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUM3RCxDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDeEQsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUM3QixZQUFZLEVBQUUsWUFBWSxDQUFDLEVBQUU7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksT0FBTyxLQUFLLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pHLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQTRCO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFFaEMsTUFBTSxhQUFhLEdBQVcsT0FBTyxNQUFNLENBQUMsa0JBQWtCLElBQUksUUFBUSxDQUFDLENBQUM7WUFDekUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDM0IsZUFBZSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRyxNQUFNLENBQUMsa0JBQXlDLENBQUMsSUFBSSxFQUFHLE1BQU0sQ0FBQyxrQkFBeUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwSyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNyQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxRQUFRO1lBQ3ZDLE9BQU8sRUFBRTtnQkFDUCxJQUFJLCtCQUErQixDQUFDO29CQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxRQUFRO29CQUN4QyxNQUFNLEVBQUUsUUFBUTtvQkFDaEIsYUFBYTtvQkFDYixLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0JBQ3ZCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO29CQUNyQixvQkFBb0IsRUFBRSxNQUFNLENBQUMsU0FBUztpQkFDdkMsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUEyQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNyQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxPQUFPO1lBQ3RDLE9BQU8sRUFBRTtnQkFDUCxJQUFJLGVBQWUsQ0FBQztvQkFDbEIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLElBQUksT0FBTztvQkFDdkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7b0JBQ2hDLEtBQUssRUFBRSxNQUFNLENBQUMsY0FBYztvQkFDNUIsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLG9CQUFvQjtpQkFDbEQsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSwgUGh5c2ljYWxOYW1lLCBBd3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVByb2plY3QgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiO1xuaW1wb3J0IHsgQXJ0aWZhY3QsIFBpcGVsaW5lLCBQaXBlbGluZVR5cGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZVwiO1xuaW1wb3J0IHsgQ29kZUJ1aWxkQWN0aW9uLCBDb2RlU3RhckNvbm5lY3Rpb25zU291cmNlQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9uc1wiO1xuaW1wb3J0IHsgQnVja2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IFN0cmluZ1BhcmFtZXRlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuXG5pbXBvcnQgdHlwZSB7IEVudmlyb25tZW50VmFyaWFibGVzIH0gZnJvbSAnLi9jb2RlYnVpbGQudHMnO1xuaW1wb3J0IHR5cGUgeyBTc21TdHJpbmdQYXJhbWV0ZXIgfSBmcm9tICcuL3NzbS50cyc7XG5pbXBvcnQgeyB0YWdSZXNvdXJjZSB9IGZyb20gXCIuLi9saWIvdGFncy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVByb3BzIH0gZnJvbSAnLi4vdHlwZXMuZC50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkU291cmNlU3RhZ2VQYXJhbXMge1xuICBzdGFnZU5hbWU/OiBzdHJpbmc7XG4gIGNvZGVzdGFyQ29ubmVjdGlvbjogc3RyaW5nIHwgU3NtU3RyaW5nUGFyYW1ldGVyO1xuICByZXBvT3duZXI6IHN0cmluZztcbiAgcmVwbzogc3RyaW5nO1xuICBicmFuY2g6IHN0cmluZztcbiAgZnVsbENsb25lPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQnVpbGRTdGFnZVBhcmFtcyB7XG4gIHN0YWdlTmFtZT86IHN0cmluZztcbiAgY29kZUJ1aWxkUHJvamVjdDogSVByb2plY3Q7XG4gIHNvdXJjZUFydGlmYWN0OiBBcnRpZmFjdDtcbiAgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiBFbnZpcm9ubWVudFZhcmlhYmxlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlUGlwZWxpbmVQcm9qZWN0UHJvcHMgZXh0ZW5kcyBSZXNvdXJjZVByb3BzIHtcbiAgcGlwZWxpbmVOYW1lPzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIENvZGVQaXBlbGluZVByb2plY3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgczNCdWNrZXQ6IEJ1Y2tldDtcbiAgcHVibGljIHJlYWRvbmx5IHBpcGVsaW5lOiBQaXBlbGluZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZVBpcGVsaW5lUHJvamVjdFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuczNCdWNrZXQgPSBuZXcgQnVja2V0KHRoaXMsICdDb2RlUGlwZWxpbmVBcnRpZmFjdEJ1Y2tldCcsIHtcbiAgICAgIGJ1Y2tldE5hbWU6IFBoeXNpY2FsTmFtZS5HRU5FUkFURV9JRl9ORUVERUQsXG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcy5kZXN0cm95ICE9PSB1bmRlZmluZWQgPyBwcm9wcy5kZXN0cm95ID8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZIDogUmVtb3ZhbFBvbGljeS5SRVRBSU4gOiB1bmRlZmluZWQsXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogcHJvcHMuZGVzdHJveSA9PT0gdHJ1ZSA/IHRydWUgOiB1bmRlZmluZWRcbiAgICB9KTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLnMzQnVja2V0LCBwcm9wcy50YWdzKTtcblxuICAgIHRoaXMucGlwZWxpbmUgPSBuZXcgUGlwZWxpbmUodGhpcywgJ0NvZGVQaXBlbGluZVByb2plY3QnLCB7XG4gICAgICBwaXBlbGluZU5hbWU6IHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgIGFydGlmYWN0QnVja2V0OiB0aGlzLnMzQnVja2V0LFxuICAgICAgcGlwZWxpbmVUeXBlOiBQaXBlbGluZVR5cGUuVjJcbiAgICB9KTtcblxuICAgIHRhZ1Jlc291cmNlKHRoaXMucGlwZWxpbmUsIHByb3BzLnRhZ3MpO1xuICAgIGlmICh0eXBlb2YgcHJvcHMuZGVzdHJveSA9PSAnYm9vbGVhbicpIHtcbiAgICAgIHRoaXMucGlwZWxpbmUuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLmRlc3Ryb3kgPyBSZW1vdmFsUG9saWN5LkRFU1RST1kgOiBSZW1vdmFsUG9saWN5LlJFVEFJTik7XG4gICAgfVxuICB9XG5cbiAgYWRkU291cmNlU3RhZ2UocGFyYW1zOiBBZGRTb3VyY2VTdGFnZVBhcmFtcyk6IEFydGlmYWN0IHtcbiAgICBjb25zdCBhcnRpZmFjdCA9IG5ldyBBcnRpZmFjdCgpO1xuXG4gICAgY29uc3QgY29ubmVjdGlvbkFybjogc3RyaW5nID0gdHlwZW9mIHBhcmFtcy5jb2Rlc3RhckNvbm5lY3Rpb24gPT0gJ3N0cmluZycgP1xuICAgICAgIHBhcmFtcy5jb2Rlc3RhckNvbm5lY3Rpb24gOlxuICAgICAgIFN0cmluZ1BhcmFtZXRlci52YWx1ZUZvclN0cmluZ1BhcmFtZXRlcih0aGlzLCAocGFyYW1zLmNvZGVzdGFyQ29ubmVjdGlvbiBhcyBTc21TdHJpbmdQYXJhbWV0ZXIpLnBhdGgsIChwYXJhbXMuY29kZXN0YXJDb25uZWN0aW9uIGFzIFNzbVN0cmluZ1BhcmFtZXRlcikudmVyc2lvbik7XG5cbiAgICB0aGlzLnBpcGVsaW5lLmFkZFN0YWdlKHtcbiAgICAgIHN0YWdlTmFtZTogcGFyYW1zLnN0YWdlTmFtZSA/PyAnU291cmNlJyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgbmV3IENvZGVTdGFyQ29ubmVjdGlvbnNTb3VyY2VBY3Rpb24oe1xuICAgICAgICAgIGFjdGlvbk5hbWU6IHBhcmFtcy5zdGFnZU5hbWUgPz8gJ1NvdXJjZScsXG4gICAgICAgICAgb3V0cHV0OiBhcnRpZmFjdCxcbiAgICAgICAgICBjb25uZWN0aW9uQXJuLFxuICAgICAgICAgIG93bmVyOiBwYXJhbXMucmVwb093bmVyLFxuICAgICAgICAgIHJlcG86IHBhcmFtcy5yZXBvLFxuICAgICAgICAgIGJyYW5jaDogcGFyYW1zLmJyYW5jaCxcbiAgICAgICAgICBjb2RlQnVpbGRDbG9uZU91dHB1dDogcGFyYW1zLmZ1bGxDbG9uZVxuICAgICAgICB9KVxuICAgICAgXVxuICAgIH0pO1xuICAgIHJldHVybiBhcnRpZmFjdDtcbiAgfVxuXG4gIGFkZEJ1aWxkU3RhZ2UocGFyYW1zOiBBZGRCdWlsZFN0YWdlUGFyYW1zKSB7XG4gICAgdGhpcy5waXBlbGluZS5hZGRTdGFnZSh7XG4gICAgICBzdGFnZU5hbWU6IHBhcmFtcy5zdGFnZU5hbWUgPz8gJ0J1aWxkJyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgbmV3IENvZGVCdWlsZEFjdGlvbih7XG4gICAgICAgICAgYWN0aW9uTmFtZTogcGFyYW1zLnN0YWdlTmFtZSA/PyAnQnVpbGQnLFxuICAgICAgICAgIHByb2plY3Q6IHBhcmFtcy5jb2RlQnVpbGRQcm9qZWN0LFxuICAgICAgICAgIGlucHV0OiBwYXJhbXMuc291cmNlQXJ0aWZhY3QsXG4gICAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHBhcmFtcy5lbnZpcm9ubWVudFZhcmlhYmxlc1xuICAgICAgICB9KVxuICAgICAgXVxuICAgIH0pO1xuICB9XG59Il19
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './lib/tags.js';
|
|
2
|
+
export * from './cli/index.js';
|
|
2
3
|
export function getEnv(env) {
|
|
3
4
|
let account = process.env.CDK_DEFAULT_ACCOUNT || '';
|
|
4
5
|
let region = process.env.CDK_DEFAULT_REGION || 'us-east-1';
|
|
@@ -23,4 +24,4 @@ export function getEnv(env) {
|
|
|
23
24
|
}
|
|
24
25
|
return { account, region };
|
|
25
26
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQVUvQixNQUFNLFVBQVUsTUFBTSxDQUFDLEdBQWtEO0lBQ3ZFLElBQUksT0FBTyxHQUFXLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO0lBQzVELElBQUksTUFBTSxHQUFXLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksV0FBVyxDQUFDO0lBQ25FLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixRQUFRLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3RCLE9BQU8sR0FBRyxHQUFHLENBQUM7Z0JBQ2hCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLEdBQUcsR0FBRyxDQUFDO2dCQUNmLENBQUM7Z0JBQ0QsTUFBTTtZQUNSO2dCQUNFLE9BQU8sR0FBSSxHQUFtQixDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQzdDLE1BQU0sR0FBSSxHQUFtQixDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUM7Z0JBQy9DLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhZ3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGkvaW5kZXguanMnO1xuXG5pbnRlcmZhY2UgR2V0RW52UGFyYW1zIHsgXG4gIGFjY291bnQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gIHJlZ2lvbj86IHN0cmluZzsgXG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RW52KHJlZ2lvbj86IHN0cmluZyk6IEVudmlyb25tZW50O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudihhY2NvdW50Pzogc3RyaW5nIHwgbnVtYmVyKTogRW52aXJvbm1lbnQ7XG5leHBvcnQgZnVuY3Rpb24gZ2V0RW52KHsgYWNjb3VudCwgcmVnaW9uIH06IEdldEVudlBhcmFtcyk6IEVudmlyb25tZW50O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudihlbnY/OiBFbnZpcm9ubWVudCk6IEVudmlyb25tZW50O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudihlbnY/OiBzdHJpbmcgfCBudW1iZXIgfCBHZXRFbnZQYXJhbXMgfCBFbnZpcm9ubWVudCkge1xuICBsZXQgYWNjb3VudDogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCB8fCAnJztcbiAgbGV0IHJlZ2lvbjogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfUkVHSU9OIHx8ICd1cy1lYXN0LTEnO1xuICBpZiAoZW52KSB7XG4gICAgc3dpdGNoICh0eXBlb2YgZW52KSB7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICBhY2NvdW50ID0gZW52LnRvU3RyaW5nKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgaWYgKC9eXFxkKyQvLnRlc3QoZW52KSkge1xuICAgICAgICAgIGFjY291bnQgPSBlbnY7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVnaW9uID0gZW52O1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYWNjb3VudCA9IChlbnYgYXMgRW52aXJvbm1lbnQpLmFjY291bnQgPz8gJyc7XG4gICAgICAgIHJlZ2lvbiA9IChlbnYgYXMgRW52aXJvbm1lbnQpLnJlZ2lvbiA/PyByZWdpb247XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBhY2NvdW50LCByZWdpb24gfTtcbn0iXX0=
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { Stack, StackProps } from 'aws-cdk-lib/core';
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
3
|
import { Certificate } from "aws-cdk-lib/aws-certificatemanager";
|
|
4
|
-
import { Distribution, Function,
|
|
4
|
+
import { Distribution, Function, IResponseHeadersPolicy, ResponseHeadersPolicyProps } from 'aws-cdk-lib/aws-cloudfront';
|
|
5
5
|
import { ARecord, AaaaRecord } from "aws-cdk-lib/aws-route53";
|
|
6
6
|
import { Bucket } from "aws-cdk-lib/aws-s3";
|
|
7
7
|
import { CfnWebACL } from 'aws-cdk-lib/aws-wafv2';
|
|
8
8
|
import { CloudFrontFunctionRedirects } from '../../constructs/cloudfront.js';
|
|
9
9
|
import type { SsmStringParameter } from '../../constructs/ssm.ts';
|
|
10
|
-
import type { BasicAuthCredentials, CspHeaders } from '../../types.d.ts';
|
|
11
|
-
type AWSManagedResponseHeadersPolicy = 'CORS_ALLOW_ALL_ORIGINS' | 'CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS' | 'CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT' | 'CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS' | 'SECURITY_HEADERS';
|
|
12
|
-
type UUID = `${string}-${string}-${string}-${string}-${string}`;
|
|
13
|
-
type CloudFrontFunctionEventType = keyof typeof FunctionEventType;
|
|
10
|
+
import type { BasicAuthCredentials, CspHeaders, CloudFrontFunctionEventType, UUID, AWSManagedResponseHeadersPolicy } from '../../types.d.ts';
|
|
14
11
|
export interface WebGlobalStackProps {
|
|
15
12
|
envType: 'NOT_PROD' | 'PROD';
|
|
16
13
|
description?: string;
|
|
@@ -19,13 +16,13 @@ export interface WebGlobalStackProps {
|
|
|
19
16
|
domainName: string;
|
|
20
17
|
basicAuth?: string | BasicAuthCredentials | SsmStringParameter;
|
|
21
18
|
cloudfrontFunction?: {
|
|
22
|
-
eventType: CloudFrontFunctionEventType[];
|
|
23
19
|
code: string;
|
|
20
|
+
eventType: CloudFrontFunctionEventType[];
|
|
24
21
|
};
|
|
25
22
|
redirects?: CloudFrontFunctionRedirects;
|
|
26
23
|
redirectsCsvPath?: string;
|
|
27
24
|
webAcl?: boolean | string | SsmStringParameter;
|
|
28
|
-
responseHeadersPolicy?: false | AWSManagedResponseHeadersPolicy |
|
|
25
|
+
responseHeadersPolicy?: false | AWSManagedResponseHeadersPolicy | UUID | SsmStringParameter;
|
|
29
26
|
responseHeadersPolicyProps?: ResponseHeadersPolicyProps;
|
|
30
27
|
responseCspHeaders?: CspHeaders;
|
|
31
28
|
destroy?: boolean;
|
|
@@ -42,4 +39,3 @@ export declare class WebGlobalStack extends Stack {
|
|
|
42
39
|
readonly aaaaRecord: AaaaRecord;
|
|
43
40
|
constructor(scope: Construct, id: string, props: WebGlobalStackProps & StackProps);
|
|
44
41
|
}
|
|
45
|
-
export {};
|