@inizioevoke/evosynth 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/evosynth.js +3 -3
- package/package.json +1 -1
- package/samples/.evosynth.env.ts +39 -0
- package/samples/.evosynth.md +43 -0
- package/samples/.evosynth.ts +39 -0
- package/src/cli/evosynth.ts +2 -2
package/dist/cli/evosynth.js
CHANGED
|
@@ -38,10 +38,10 @@ export async function evosynth(cmd, env, props) {
|
|
|
38
38
|
const module = await import(__rewriteRelativeImportExtension(pathToFileURL(join(configFile.dir, configFile.name)).toString()));
|
|
39
39
|
let config = undefined;
|
|
40
40
|
if (configFile.env) {
|
|
41
|
-
config = module.default;
|
|
41
|
+
config = await module.default();
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
config = module[env]?.();
|
|
44
|
+
config = await module[env]?.();
|
|
45
45
|
}
|
|
46
46
|
if (config) {
|
|
47
47
|
if (props.profile) {
|
|
@@ -58,4 +58,4 @@ export async function evosynth(cmd, env, props) {
|
|
|
58
58
|
console.error('evosynth config not found!');
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvc3ludGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2V2b3N5bnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6QyxPQUFPLEVBQUUseUJBQXlCLEVBQWdDLE1BQU0sNEJBQTRCLENBQUM7QUFtQnJHLE1BQU0sQ0FBQyxLQUFLLFVBQVUsUUFBUSxDQUFDLEdBQWUsRUFBRSxHQUFXLEVBQUUsS0FBb0I7SUFDL0UsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFcEUsTUFBTSxXQUFXLEdBQUcsS0FBSztTQUN0QixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNqQixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sdUNBQXVDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMsQ0FBQztTQUNELEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ2QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE9BQU87WUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDNUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxVQUFVO1NBQ3ZCLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVMLElBQUksV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hHLElBQUksV0FBVyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkIsV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxJQUFJLFdBQVcsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sa0NBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFDLENBQUM7UUFDN0YsSUFBSSxNQUFNLEdBQWtDLFNBQVMsQ0FBQztRQUN0RCxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDMUMsQ0FBQztZQUNELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNwQixLQUFLLHVCQUF1QjtvQkFDMUIsTUFBTSx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsTUFBc0MsQ0FBQyxDQUFDO29CQUM3RSxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7SUFFSCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRkaXIgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCB0eXBlIHsgRXZvc3ludGhUYWdLZXkgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBydW5XZWJTdGF0aWNTZXJ2ZXJsZXNzQXBwLCBXZWJTdGF0aWNTZXJ2ZXJsZXNzQXBwQ29uZmlnIH0gZnJvbSAnLi93ZWItc3RhdGljLXNlcnZlcmxlc3MuanMnO1xuXG5leHBvcnQgeyBXZWJTdGF0aWNTZXJ2ZXJsZXNzQXBwQ29uZmlnIH07XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50VHlwZSA9ICdkZXYnIHwgJ3Rlc3QnIHwgJ3N0YWdlJyB8ICd1YXQnIHwgJ3ByZXByb2QnICB8ICdwcm9kJyB8IChzdHJpbmcgJiB7fSk7XG5leHBvcnQgdHlwZSBDZGtDb21tYW5kID0gJ2RlcGxveScgfCAnZGVzdHJveScgfCAnZGlmZicgfCAnZHJpZnQnIHwgJ3JvbGxiYWNrJyB8ICdzeW50aCc7IC8vICdib290c3RyYXAnIHwgXG5leHBvcnQgdHlwZSBFdm9zeW50aEFwcFR5cGUgPSAnc3RyOHItY2xtJyB8ICd3ZWItc3RhdGljLXNlcnZlcmxlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2b3N5bnRoQXBwQ29uZmlnIHtcbiAgdHlwZTogRXZvc3ludGhBcHBUeXBlO1xuICBlbnZUeXBlPzogRW52aXJvbm1lbnRUeXBlO1xuICBuYW1lOiBzdHJpbmc7XG4gIHJlZ2lvbjogJ3VzLWVhc3QtMScgfCAndXMtZWFzdC0yJyB8ICd1cy13ZXN0LTEnIHwgJ3VzLXdlc3QtMicgfCAoc3RyaW5nICYge30pO1xuICB0YWdzPzogUmVjb3JkPEV2b3N5bnRoVGFnS2V5LCBzdHJpbmc+LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2b3N5bnRoUHJvcHMge1xuICBwcm9maWxlPzogc3RyaW5nO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV2b3N5bnRoKGNtZDogQ2RrQ29tbWFuZCwgZW52OiBzdHJpbmcsIHByb3BzOiBFdm9zeW50aFByb3BzKSB7XG4gIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVhZGRpcihwcm9jZXNzLmN3ZCgpLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG5cbiAgY29uc3QgY29uZmlnRmlsZXMgPSBmaWxlc1xuICAgIC5maWx0ZXIoKGRpcmVudCkgPT4ge1xuICAgICAgaWYgKGRpcmVudC5pc0ZpbGUoKSkge1xuICAgICAgICByZXR1cm4gL15cXC5ldm9zeW50aCguKj8pXFwuKD86anN8bWpzfHRzfG10cykkL2kudGVzdChkaXJlbnQubmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSlcbiAgICAubWFwKChkaXJlbnQpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlyZW50Lm5hbWUuc3BsaXQoJy4nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBkaXJlbnQubmFtZSxcbiAgICAgICAgZW52OiBwYXJ0cy5sZW5ndGggPiAyID8gcGFydHNbMV0gOiB1bmRlZmluZWQsXG4gICAgICAgIGRpcjogZGlyZW50LnBhcmVudFBhdGhcbiAgICAgIH1cbiAgICB9KTtcbiAgXG4gIGxldCBjb25maWdJbmRleCA9IGNvbmZpZ0ZpbGVzLmZpbmRJbmRleChjID0+IGMuZW52ICYmIGVudiAmJiBjLmVudi50b0xvd2VyQ2FzZSgpID09PSBlbnYudG9Mb3dlckNhc2UoKSk7XG4gIGlmIChjb25maWdJbmRleCA9PT0gLTEpIHtcbiAgICBjb25maWdJbmRleCA9IGNvbmZpZ0ZpbGVzLmZpbmRJbmRleChjID0+IGMuZW52ID09PSB1bmRlZmluZWQpO1xuICB9XG4gIGlmIChjb25maWdJbmRleCAhPSAtMSkge1xuICAgIGNvbnN0IGNvbmZpZ0ZpbGUgPSBjb25maWdGaWxlc1tjb25maWdJbmRleF07XG4gICAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0KHBhdGhUb0ZpbGVVUkwoam9pbihjb25maWdGaWxlLmRpciwgY29uZmlnRmlsZS5uYW1lKSkudG9TdHJpbmcoKSk7XG4gICAgbGV0IGNvbmZpZzogRXZvc3ludGhBcHBDb25maWcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGNvbmZpZ0ZpbGUuZW52KSB7XG4gICAgICBjb25maWcgPSBhd2FpdCBtb2R1bGUuZGVmYXVsdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWcgPSBhd2FpdCBtb2R1bGVbZW52XT8uKCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgaWYgKHByb3BzLnByb2ZpbGUpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuQVdTX1BST0ZJTEUgPSBwcm9wcy5wcm9maWxlO1xuICAgICAgfVxuICAgICAgc3dpdGNoIChjb25maWcudHlwZSkge1xuICAgICAgICBjYXNlICd3ZWItc3RhdGljLXNlcnZlcmxlc3MnOlxuICAgICAgICAgIGF3YWl0IHJ1bldlYlN0YXRpY1NlcnZlcmxlc3NBcHAoY21kLCBjb25maWcgYXMgV2ViU3RhdGljU2VydmVybGVzc0FwcENvbmZpZyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2V2b3N5bnRoIGNvbmZpZyBub3QgZm91bmQhJyk7XG4gIH1cbn0iXX0=
|
package/package.json
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { WebStaticServerlessAppConfig } from '@inizioevoke/evosynth';
|
|
2
|
+
|
|
3
|
+
export default async function(): Promise<WebStaticServerlessAppConfig> {
|
|
4
|
+
return {
|
|
5
|
+
type: 'web-static-serverless',
|
|
6
|
+
envType: 'dev',
|
|
7
|
+
name: 'myproject-v1',
|
|
8
|
+
description: 'My Project',
|
|
9
|
+
region: 'us-east-1',
|
|
10
|
+
tags: {
|
|
11
|
+
Account: 'Account Name',
|
|
12
|
+
Brand: 'Brand Name'
|
|
13
|
+
},
|
|
14
|
+
dns: {
|
|
15
|
+
record: 'livdelzi-hcp-iva-v2.gilead',
|
|
16
|
+
zone: 'evodev.net'
|
|
17
|
+
},
|
|
18
|
+
security: {
|
|
19
|
+
basicAuthParam: '/evosynth/web/security/basicauth',
|
|
20
|
+
webAclParam: '/evosynth/web/security/webacl'
|
|
21
|
+
},
|
|
22
|
+
// cloudfront: {
|
|
23
|
+
// redirects: {
|
|
24
|
+
// paths: {
|
|
25
|
+
// '/hello': '/world',
|
|
26
|
+
// '/redirect': ['/here', 302]
|
|
27
|
+
// }
|
|
28
|
+
// }
|
|
29
|
+
// },
|
|
30
|
+
pipeline: {
|
|
31
|
+
source: {
|
|
32
|
+
codestarConnectionParam: '/evosynth/provider/codeconnection',
|
|
33
|
+
owner: 'orgname',
|
|
34
|
+
repo: 'myproject-v1',
|
|
35
|
+
branch: 'develop'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# .evosynth Config Files
|
|
2
|
+
|
|
3
|
+
When using `.evosynth` config files, place the files in the root of your project. There are 2 different formats you can use.
|
|
4
|
+
|
|
5
|
+
## Supported file extensions
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
.js
|
|
9
|
+
.mjs
|
|
10
|
+
.ts
|
|
11
|
+
.mts
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Single file
|
|
15
|
+
|
|
16
|
+
If you want to use a single file, use the name of your environment as the name of the exported function.
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
// .evosynth.ts
|
|
20
|
+
export async function dev() {
|
|
21
|
+
// ...
|
|
22
|
+
}
|
|
23
|
+
export async function prod() {
|
|
24
|
+
// ...
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Per environment files
|
|
29
|
+
|
|
30
|
+
If you want to have a file for each environment, append the environment name to the file name after `.evosynth` and export a default function.
|
|
31
|
+
|
|
32
|
+
```javascript
|
|
33
|
+
// .evosynth.dev.ts
|
|
34
|
+
export async default function() {
|
|
35
|
+
// ...
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
```javascript
|
|
39
|
+
// .evosynth.prod.ts
|
|
40
|
+
export async default function() {
|
|
41
|
+
// ...
|
|
42
|
+
}
|
|
43
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { WebStaticServerlessAppConfig } from '@inizioevoke/evosynth';
|
|
2
|
+
|
|
3
|
+
export async function dev(): Promise<WebStaticServerlessAppConfig> {
|
|
4
|
+
return {
|
|
5
|
+
type: 'web-static-serverless',
|
|
6
|
+
envType: 'dev',
|
|
7
|
+
name: 'myproject-v1',
|
|
8
|
+
description: 'My Project',
|
|
9
|
+
region: 'us-east-1',
|
|
10
|
+
tags: {
|
|
11
|
+
Account: 'Account Name',
|
|
12
|
+
Brand: 'Brand Name'
|
|
13
|
+
},
|
|
14
|
+
dns: {
|
|
15
|
+
record: 'livdelzi-hcp-iva-v2.gilead',
|
|
16
|
+
zone: 'evodev.net'
|
|
17
|
+
},
|
|
18
|
+
security: {
|
|
19
|
+
basicAuthParam: '/evosynth/web/security/basicauth',
|
|
20
|
+
webAclParam: '/evosynth/web/security/webacl'
|
|
21
|
+
},
|
|
22
|
+
// cloudfront: {
|
|
23
|
+
// redirects: {
|
|
24
|
+
// paths: {
|
|
25
|
+
// '/hello': '/world',
|
|
26
|
+
// '/redirect': ['/here', 302]
|
|
27
|
+
// }
|
|
28
|
+
// }
|
|
29
|
+
// },
|
|
30
|
+
pipeline: {
|
|
31
|
+
source: {
|
|
32
|
+
codestarConnectionParam: '/evosynth/provider/codeconnection',
|
|
33
|
+
owner: 'orgname',
|
|
34
|
+
repo: 'myproject-v1',
|
|
35
|
+
branch: 'develop'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
package/src/cli/evosynth.ts
CHANGED
|
@@ -50,9 +50,9 @@ export async function evosynth(cmd: CdkCommand, env: string, props: EvosynthProp
|
|
|
50
50
|
const module = await import(pathToFileURL(join(configFile.dir, configFile.name)).toString());
|
|
51
51
|
let config: EvosynthAppConfig | undefined = undefined;
|
|
52
52
|
if (configFile.env) {
|
|
53
|
-
config = module.default;
|
|
53
|
+
config = await module.default();
|
|
54
54
|
} else {
|
|
55
|
-
config = module[env]?.();
|
|
55
|
+
config = await module[env]?.();
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
if (config) {
|