@inizioevoke/evosynth 1.8.1 → 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/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 +3 -7
- package/dist/stacks/web-static-serverless/web-global-stack.js +2 -1
- package/dist/types.d.ts +16 -1
- package/package.json +9 -2
- package/readme.md +1 -1
- package/samples/.evosynth.env.ts +39 -0
- package/samples/.evosynth.md +43 -0
- package/samples/.evosynth.ts +39 -0
- 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 +3 -13
- package/src/types.d.ts +16 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RemovalPolicy, PhysicalName, Aws } from "aws-cdk-lib";
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
3
|
import { IProject } from "aws-cdk-lib/aws-codebuild";
|
|
4
|
-
import { Artifact, Pipeline } from "aws-cdk-lib/aws-codepipeline";
|
|
4
|
+
import { Artifact, Pipeline, PipelineType } from "aws-cdk-lib/aws-codepipeline";
|
|
5
5
|
import { CodeBuildAction, CodeStarConnectionsSourceAction } from "aws-cdk-lib/aws-codepipeline-actions";
|
|
6
6
|
import { Bucket } from 'aws-cdk-lib/aws-s3';
|
|
7
7
|
import { StringParameter } from 'aws-cdk-lib/aws-ssm';
|
|
@@ -45,7 +45,8 @@ export class CodePipelineProject extends Construct {
|
|
|
45
45
|
|
|
46
46
|
this.pipeline = new Pipeline(this, 'CodePipelineProject', {
|
|
47
47
|
pipelineName: props.pipelineName,
|
|
48
|
-
artifactBucket: this.s3Bucket
|
|
48
|
+
artifactBucket: this.s3Bucket,
|
|
49
|
+
pipelineType: PipelineType.V2
|
|
49
50
|
});
|
|
50
51
|
|
|
51
52
|
tagResource(this.pipeline, props.tags);
|
package/src/index.ts
CHANGED
|
@@ -17,18 +17,7 @@ import { CloudFrontWebAcl } from '../../constructs/waf.js';
|
|
|
17
17
|
import { domainAsId } from '../../lib/utils.js';
|
|
18
18
|
import { addEvoStackTags } from '../../lib/tags.ts';
|
|
19
19
|
import { S3BucketOrigin } from 'aws-cdk-lib/aws-cloudfront-origins';
|
|
20
|
-
import type { BasicAuthCredentials, CspHeaders } from '../../types.d.ts';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
type AWSManagedResponseHeadersPolicy =
|
|
24
|
-
'CORS_ALLOW_ALL_ORIGINS' |
|
|
25
|
-
'CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS' |
|
|
26
|
-
'CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT' |
|
|
27
|
-
'CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS' |
|
|
28
|
-
'SECURITY_HEADERS';
|
|
29
|
-
|
|
30
|
-
type UUID = `${string}-${string}-${string}-${string}-${string}`;
|
|
31
|
-
type CloudFrontFunctionEventType = keyof typeof FunctionEventType;
|
|
20
|
+
import type { BasicAuthCredentials, CspHeaders, CloudFrontFunctionEventType, UUID, AWSManagedResponseHeadersPolicy } from '../../types.d.ts';
|
|
32
21
|
|
|
33
22
|
export interface WebGlobalStackProps {
|
|
34
23
|
envType: 'NOT_PROD' | 'PROD';
|
|
@@ -38,8 +27,8 @@ export interface WebGlobalStackProps {
|
|
|
38
27
|
domainName: string;
|
|
39
28
|
basicAuth?: string | BasicAuthCredentials | SsmStringParameter;
|
|
40
29
|
cloudfrontFunction?: {
|
|
41
|
-
eventType: CloudFrontFunctionEventType[];
|
|
42
30
|
code: string;
|
|
31
|
+
eventType: CloudFrontFunctionEventType[];
|
|
43
32
|
}
|
|
44
33
|
redirects?: CloudFrontFunctionRedirects;
|
|
45
34
|
redirectsCsvPath?: string;
|
|
@@ -139,6 +128,7 @@ export class WebGlobalStack extends Stack {
|
|
|
139
128
|
});
|
|
140
129
|
}
|
|
141
130
|
}
|
|
131
|
+
// TODO: Figure out why the the policy is not getting updated in the CloudFront behavior
|
|
142
132
|
this.responseHeadersPolicy = responseHeadersPolicy;
|
|
143
133
|
|
|
144
134
|
const defaultBehavior: BehaviorOptions = {
|
package/src/types.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
import { FunctionEventType } from 'aws-cdk-lib/aws-cloudfront';
|
|
3
|
+
|
|
1
4
|
export type DeepPartial<T> = T extends object ? {
|
|
2
5
|
[P in keyof T]?: DeepPartial<T[P]>;
|
|
3
6
|
} : T;
|
|
@@ -6,6 +9,11 @@ export type WithRequiredProperty<Type, Key extends keyof Type> = Omit<Type, Key>
|
|
|
6
9
|
[Property in Key]-?: Type[Property];
|
|
7
10
|
};
|
|
8
11
|
|
|
12
|
+
export type UUID = `${string}-${string}-${string}-${string}-${string}`; // & { readonly __brand: unique symbol };
|
|
13
|
+
|
|
14
|
+
export type EvosynthTagKey = 'Account' | 'Brand' | (string & {});
|
|
15
|
+
export type CloudFrontFunctionEventType = keyof typeof FunctionEventType;
|
|
16
|
+
|
|
9
17
|
export interface ResourceProps {
|
|
10
18
|
destroy?: boolean;
|
|
11
19
|
tags?: Record<string, string>;
|
|
@@ -18,4 +26,11 @@ export interface BasicAuthCredentials {
|
|
|
18
26
|
|
|
19
27
|
export type CspDirective = 'connect-src' | 'default-src' | 'font-src' | 'frame-src' | 'img-src' | 'media-src' | 'object-src' | 'script-src' | 'style-src';
|
|
20
28
|
export type CspDirectiveValue = "'self'" | "'none'" | "'unsafe-inline'" | "https:";
|
|
21
|
-
export type CspHeaders = Partial<Record<CspDirective, CspDirectiveValue[] | string[]>>;
|
|
29
|
+
export type CspHeaders = Partial<Record<CspDirective, CspDirectiveValue[] | string[]>>;
|
|
30
|
+
|
|
31
|
+
export type AWSManagedResponseHeadersPolicy =
|
|
32
|
+
'CORS_ALLOW_ALL_ORIGINS' |
|
|
33
|
+
'CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS' |
|
|
34
|
+
'CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT' |
|
|
35
|
+
'CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS' |
|
|
36
|
+
'SECURITY_HEADERS';
|