From e5bb88c794695d890b6b76b6301552ba7ec6c5de Mon Sep 17 00:00:00 2001 From: "Andrew A. Barber" Date: Thu, 19 Dec 2024 20:47:34 +0000 Subject: [PATCH 1/4] fix: allow function-specific properties in environment overrides --- types/runtime.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/types/runtime.ts b/types/runtime.ts index 1844dd2..6f56ae0 100644 --- a/types/runtime.ts +++ b/types/runtime.ts @@ -83,5 +83,18 @@ export type GcpConfig = ( ) & { cloud: "gcp"; name?: string; - environmentOverrides?: Partial>>>; + environmentOverrides?: { + [env: string]: Partial< + Omit< + | HttpConfig + | EventConfig + | ScheduleConfig + | QueueConfig + | FirestoreConfig + | StorageConfig + | ScheduledJobConfig, + "type" | "cloud" // Prevent changing the function type or cloud provider in env overrides + > + >; + }; }; From 359095d07f22f5be94879afaa028c738bc4eb7e7 Mon Sep 17 00:00:00 2001 From: "Andrew A. Barber" Date: Thu, 19 Dec 2024 20:53:11 +0000 Subject: [PATCH 2/4] fix: allow function type overrides in environment overrides --- types/runtime.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/runtime.ts b/types/runtime.ts index 6f56ae0..8d1ecf7 100644 --- a/types/runtime.ts +++ b/types/runtime.ts @@ -93,7 +93,7 @@ export type GcpConfig = ( | FirestoreConfig | StorageConfig | ScheduledJobConfig, - "type" | "cloud" // Prevent changing the function type or cloud provider in env overrides + "cloud" // Prevent changing the cloud provider in environment overrides > >; }; From 59a6062a5c18200b32a866a0f4f8f41e239d5c1a Mon Sep 17 00:00:00 2001 From: "Andrew A. Barber" Date: Fri, 20 Dec 2024 09:48:05 +0000 Subject: [PATCH 3/4] fix: restore strict type safety by use of a partial --- types/runtime.ts | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/types/runtime.ts b/types/runtime.ts index 8d1ecf7..f5a5941 100644 --- a/types/runtime.ts +++ b/types/runtime.ts @@ -83,18 +83,15 @@ export type GcpConfig = ( ) & { cloud: "gcp"; name?: string; - environmentOverrides?: { + environmentOverrides?: Partial<{ [env: string]: Partial< - Omit< - | HttpConfig - | EventConfig - | ScheduleConfig - | QueueConfig - | FirestoreConfig - | StorageConfig - | ScheduledJobConfig, - "cloud" // Prevent changing the cloud provider in environment overrides - > + | HttpConfig + | EventConfig + | ScheduleConfig + | QueueConfig + | FirestoreConfig + | StorageConfig + | ScheduledJobConfig >; - }; + }>; }; From d0c60f1738575e41f143f743a59b37c321664fc6 Mon Sep 17 00:00:00 2001 From: "Andrew A. Barber" Date: Fri, 20 Dec 2024 09:58:37 +0000 Subject: [PATCH 4/4] doc: update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebd422d..862be22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/Space48/cloud-seed/compare/v3.0.0...HEAD) +### Changed + +- Enhanced type safety for environment-specific configurations + + ## [v3.0.0](https://github.com/Space48/cloud-seed/compare/v2.1.0...v3.0.0) ### Breaking changes