From db00c5c065eac401f36a1ac282776e88e3775189 Mon Sep 17 00:00:00 2001 From: James Xabregas Date: Fri, 7 Jul 2023 02:19:46 +1000 Subject: [PATCH 1/3] Update list of `ALLOWED_SSR_REGIONS` in web frameworks config to include the current list of regions that support gen 2 Cloud Functions. --- src/frameworks/constants.ts | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/frameworks/constants.ts b/src/frameworks/constants.ts index 5d4c8c24296..36efdca8d40 100644 --- a/src/frameworks/constants.ts +++ b/src/frameworks/constants.ts @@ -37,10 +37,34 @@ export const VALID_LOCALE_FORMATS = [/^ALL_[a-z]+$/, /^[a-z]+_ALL$/, /^[a-z]+(_[ export const DEFAULT_REGION = "us-central1"; export const ALLOWED_SSR_REGIONS = [ { name: "us-central1 (Iowa)", value: "us-central1" }, - { name: "us-west1 (Oregon)", value: "us-west1" }, { name: "us-east1 (South Carolina)", value: "us-east1" }, - { name: "europe-west1 (Belgium)", value: "europe-west1" }, + { name: "us-east4 (Northern Virginia)", value: "us-east4" }, + { name: "us-west1 (Oregon)", value: "us-west1" }, + { name: "us-west2 (Los Angeles)", value: "us-west2" }, + { name: "us-west3 (Salt Lake City)", value: "us-west3" }, + { name: "us-west4 (Las Vegas)", value: "us-west4" }, { name: "asia-east1 (Taiwan)", value: "asia-east1" }, + { name: "asia-east2 (Hong Kong)", value: "asia-east2" }, + { name: "asia-northeast1 (Tokyo)", value: "asia-northeast1" }, + { name: "asia-northeast2 (Osaka)", value: "asia-northeast2" }, + { name: "asia-northeast3 (Seoul)", value: "asia-northeast3" }, + { name: "asia-south1 (Mumbai)", value: "asia-south1" }, + { name: "asia-south2 (Delhi)", value: "asia-south2" }, + { name: "asia-southeast1 (Singapore)", value: "asia-southeast1" }, + { name: "asia-southeast2 (Jakarta)", value: "asia-southeast2" }, + { name: "australia-southeast1 (Sydney)", value: "australia-southeast1" }, + { name: "australia-southeast2 (Melbourne)", value: "australia-southeast2" }, + { name: "europe-central2 (Warsaw)", value: "europe-central2" }, + { name: "europe-north1 (Finland)", value: "europe-north1" }, + { name: "europe-west1 (Belgium)", value: "europe-west1" }, + { name: "europe-west2 (London)", value: "europe-west2" }, + { name: "europe-west3 (Frankfurt)", value: "europe-west3" }, + { name: "europe-west4 (Netherlands)", value: "europe-west4" }, + { name: "europe-west6 (Zurich)", value: "europe-west6" }, + { name: "northamerica-northeast1 (Montreal)", value: "northamerica-northeast1" }, + { name: "northamerica-northeast2 (Toronto)", value: "northamerica-northeast2" }, + { name: "southamerica-east1 (São Paulo)", value: "southamerica-east1" }, + { name: "southamerica-west1 (Santiago)", value: "southamerica-west1" }, ]; export const I18N_ROOT = "/"; From 7956e9380ca8920c250eef2e398d6c72cd870b80 Mon Sep 17 00:00:00 2001 From: James Daniels Date: Thu, 7 Dec 2023 11:58:39 -0500 Subject: [PATCH 2/3] Only use recommended regions during hosting init --- src/frameworks/constants.ts | 10 +++++----- src/init/features/hosting/index.ts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/frameworks/constants.ts b/src/frameworks/constants.ts index 5cc81d8f81d..1d0376ed018 100644 --- a/src/frameworks/constants.ts +++ b/src/frameworks/constants.ts @@ -40,14 +40,14 @@ export const VALID_LOCALE_FORMATS = [/^ALL_[a-z]+$/, /^[a-z]+_ALL$/, /^[a-z]+(_[ export const DEFAULT_REGION = "us-central1"; export const ALLOWED_SSR_REGIONS = [ - { name: "us-central1 (Iowa)", value: "us-central1" }, - { name: "us-east1 (South Carolina)", value: "us-east1" }, + { name: "us-central1 (Iowa)", value: "us-central1", recommended: true }, + { name: "us-east1 (South Carolina)", value: "us-east1", recommended: true }, { name: "us-east4 (Northern Virginia)", value: "us-east4" }, - { name: "us-west1 (Oregon)", value: "us-west1" }, + { name: "us-west1 (Oregon)", value: "us-west1", recommended: true }, { name: "us-west2 (Los Angeles)", value: "us-west2" }, { name: "us-west3 (Salt Lake City)", value: "us-west3" }, { name: "us-west4 (Las Vegas)", value: "us-west4" }, - { name: "asia-east1 (Taiwan)", value: "asia-east1" }, + { name: "asia-east1 (Taiwan)", value: "asia-east1", recommended: true }, { name: "asia-east2 (Hong Kong)", value: "asia-east2" }, { name: "asia-northeast1 (Tokyo)", value: "asia-northeast1" }, { name: "asia-northeast2 (Osaka)", value: "asia-northeast2" }, @@ -60,7 +60,7 @@ export const ALLOWED_SSR_REGIONS = [ { name: "australia-southeast2 (Melbourne)", value: "australia-southeast2" }, { name: "europe-central2 (Warsaw)", value: "europe-central2" }, { name: "europe-north1 (Finland)", value: "europe-north1" }, - { name: "europe-west1 (Belgium)", value: "europe-west1" }, + { name: "europe-west1 (Belgium)", value: "europe-west1", recommended: true }, { name: "europe-west2 (London)", value: "europe-west2" }, { name: "europe-west3 (Frankfurt)", value: "europe-west3" }, { name: "europe-west4 (Netherlands)", value: "europe-west4" }, diff --git a/src/init/features/hosting/index.ts b/src/init/features/hosting/index.ts index 3b6a298d0dd..c6d31c08135 100644 --- a/src/init/features/hosting/index.ts +++ b/src/init/features/hosting/index.ts @@ -160,7 +160,7 @@ export async function doSetup(setup: any, config: any, options: Options): Promis type: "list", message: "In which region would you like to host server-side content, if applicable?", default: DEFAULT_REGION, - choices: ALLOWED_SSR_REGIONS, + choices: ALLOWED_SSR_REGIONS.filter((region) => region.recommended), }, setup.hosting ); From cef626e836dd05f4864c658cf159c1cc4d0e660d Mon Sep 17 00:00:00 2001 From: James Daniels Date: Thu, 7 Dec 2023 12:00:18 -0500 Subject: [PATCH 3/3] Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a86d7eb42da..0991a74ca2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,3 +3,4 @@ - Warn if a Web Framework is outside a well known version range on deploy/emulate. (#6562) - Use Web Framework's well known version range in `firebase init hosting`. (#6562) - Limit Web Framework's generated Cloud Function name to 20 characters, fixing deploys for some. (#6260) +- Permit use of more SSR regions in Web Frameworks deploys. (#6086)