From b8eba8219ede8797aa0a75214be0b8f8b3182788 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sun, 15 Nov 2020 21:40:50 +0100 Subject: [PATCH] config-loader: enable validation of required props in d.ts definitions + fix issues --- app-config.yaml | 2 +- packages/backend-common/config.d.ts | 2 +- packages/config-loader/src/lib/schema/collect.ts | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app-config.yaml b/app-config.yaml index 3d0d093536..a331d72d7c 100644 --- a/app-config.yaml +++ b/app-config.yaml @@ -270,7 +270,7 @@ costInsights: homepage: clocks: - label: UTC - timzone: UTC + timezone: UTC - label: NYC timezone: 'America/New_York' - label: STO diff --git a/packages/backend-common/config.d.ts b/packages/backend-common/config.d.ts index 64e883aa26..b6beff12f7 100644 --- a/packages/backend-common/config.d.ts +++ b/packages/backend-common/config.d.ts @@ -15,7 +15,7 @@ */ export interface Config { - frontend: { + app: { baseUrl: string; // defined in core, but repeated here without doc }; diff --git a/packages/config-loader/src/lib/schema/collect.ts b/packages/config-loader/src/lib/schema/collect.ts index dd0776213c..11a7ce4ec2 100644 --- a/packages/config-loader/src/lib/schema/collect.ts +++ b/packages/config-loader/src/lib/schema/collect.ts @@ -150,7 +150,10 @@ function compileTsSchemas(currentDir: string, paths: string[]) { // All schemas should export a `Config` symbol 'Config', // This enables usage of @visibility is doc comments - { validationKeywords: ['visibility'] }, + { + required: true, + validationKeywords: ['visibility'], + }, [schemaFile], ) as JsonObject | null;