@wolsok/spa-cdk-stack 1.0.40 → 1.0.42
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/package.json
CHANGED
|
@@ -6,6 +6,13 @@ export interface SpaProps {
|
|
|
6
6
|
buildOutputPath: string;
|
|
7
7
|
bucketRemovalPolicy?: RemovalPolicy;
|
|
8
8
|
extraAllowedOrigins?: string[];
|
|
9
|
+
/**
|
|
10
|
+
* Files that keep their names across releases, such as a service worker,
|
|
11
|
+
* its ngsw.json or an import map, as globs relative to buildOutputPath.
|
|
12
|
+
* They are served with no-cache instead of the one year max-age the hashed
|
|
13
|
+
* bundles get, and are uploaded after those bundles.
|
|
14
|
+
*/
|
|
15
|
+
noCacheFiles?: string[];
|
|
9
16
|
}
|
|
10
17
|
/**
|
|
11
18
|
* SPA infrastructure, which deploys spa content to an S3 bucket.
|
|
@@ -21,7 +21,7 @@ export class SpaConstruct extends Construct {
|
|
|
21
21
|
this.spaName = spaName;
|
|
22
22
|
this.bucketDeployments = [];
|
|
23
23
|
const removalPolicy = props.bucketRemovalPolicy ?? defaultBucketRemovalPolicy;
|
|
24
|
-
const { buildOutputPath, extraAllowedOrigins } = props;
|
|
24
|
+
const { buildOutputPath, extraAllowedOrigins, noCacheFiles = [] } = props;
|
|
25
25
|
const { mainDomain, siteDomain } = this.extractDomains(props.domainName);
|
|
26
26
|
const zone = HostedZone.fromLookup(this, spaName, {
|
|
27
27
|
privateZone: false,
|
|
@@ -44,12 +44,19 @@ export class SpaConstruct extends Construct {
|
|
|
44
44
|
});
|
|
45
45
|
this.bucketDeployments.push(this.createBucketDeployment([indexAsset], CacheControl.noCache(), true, this.bucket, this.distribution));
|
|
46
46
|
const deploymentAssets = Source.asset(buildOutputPath, {
|
|
47
|
-
exclude: ['index.html'],
|
|
47
|
+
exclude: ['index.html', ...noCacheFiles],
|
|
48
48
|
});
|
|
49
49
|
this.bucketDeployments.push(this.createBucketDeployment([deploymentAssets], CacheControl.maxAge(Duration.days(365)), false, this.bucket, this.distribution));
|
|
50
50
|
// Make sure that the index.html is deployed last, as it's needed to
|
|
51
51
|
// serve the SPA so chain the deployments
|
|
52
52
|
this.bucketDeployments[1].node.addDependency(this.bucketDeployments[0]);
|
|
53
|
+
if (noCacheFiles.length > 0) {
|
|
54
|
+
this.addExtraAssets([
|
|
55
|
+
Source.asset(buildOutputPath, {
|
|
56
|
+
exclude: ['**', ...noCacheFiles.map((file) => '!' + file)],
|
|
57
|
+
}),
|
|
58
|
+
], CacheControl.noCache());
|
|
59
|
+
}
|
|
53
60
|
}
|
|
54
61
|
/**
|
|
55
62
|
* Add some additional assets to the bucket of the SPA
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spa.construct.js","sourceRoot":"","sources":["../../../../../../../libs/public/spa-cdk-stack/src/lib/spa/spa.construct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACL,WAAW,EACX,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EAEX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EACL,OAAO,EACP,UAAU,EAEV,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAW,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,MAAM,GACP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"spa.construct.js","sourceRoot":"","sources":["../../../../../../../libs/public/spa-cdk-stack/src/lib/spa/spa.construct.ts"],"names":[],"mappings":"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"}
|