perf: Preconnect to CDN

This commit is contained in:
Tom Moor
2023-07-08 14:19:28 -04:00
parent cf32d227e6
commit 21d446881e
3 changed files with 35 additions and 6 deletions

View File

@@ -568,6 +568,22 @@ export class Environment {
public AWS_S3_UPLOAD_MAX_SIZE =
this.toOptionalNumber(process.env.AWS_S3_UPLOAD_MAX_SIZE) ?? 100000000;
/**
* Optional AWS S3 endpoint URL for file attachments.
*/
@IsOptional()
public AWS_S3_ACCELERATE_URL = this.toOptionalString(
process.env.AWS_S3_ACCELERATE_URL
);
/**
* Optional AWS S3 endpoint URL for file attachments.
*/
@IsOptional()
public AWS_S3_UPLOAD_BUCKET_URL = this.toOptionalString(
process.env.AWS_S3_UPLOAD_BUCKET_URL
);
/**
* Set default AWS S3 ACL for file attachments.
*/

View File

@@ -10,8 +10,8 @@ export default function present(
): PublicEnv {
return {
URL: env.URL.replace(/\/$/, ""),
AWS_S3_UPLOAD_BUCKET_URL: process.env.AWS_S3_UPLOAD_BUCKET_URL || "",
AWS_S3_ACCELERATE_URL: process.env.AWS_S3_ACCELERATE_URL || "",
AWS_S3_UPLOAD_BUCKET_URL: env.AWS_S3_UPLOAD_BUCKET_URL || "",
AWS_S3_ACCELERATE_URL: env.AWS_S3_ACCELERATE_URL || "",
CDN_URL: (env.CDN_URL || "").replace(/\/$/, ""),
COLLABORATION_URL: (env.COLLABORATION_URL || env.URL)
.replace(/\/$/, "")

View File

@@ -7,14 +7,27 @@ const isProduction = env.ENVIRONMENT === "production";
const prefetchTags = [];
if (process.env.AWS_S3_UPLOAD_BUCKET_URL) {
if (env.AWS_S3_ACCELERATE_URL) {
prefetchTags.push(
<link
rel="dns-prefetch"
href={process.env.AWS_S3_UPLOAD_BUCKET_URL}
key="dns"
rel="preconnect"
href={env.AWS_S3_ACCELERATE_URL}
key={env.AWS_S3_ACCELERATE_URL}
/>
);
} else if (env.AWS_S3_UPLOAD_BUCKET_URL) {
prefetchTags.push(
<link
rel="preconnect"
href={env.AWS_S3_UPLOAD_BUCKET_URL}
key={env.AWS_S3_UPLOAD_BUCKET_URL}
/>
);
}
if (env.CDN_URL) {
prefetchTags.push(
<link rel="preconnect" href={env.CDN_URL} key={env.CDN_URL} />
);
}
if (isProduction) {