From 0434853a56773420e72f8d8507e0ad48f87aa29a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 15 Mar 2021 21:32:29 +0100 Subject: [PATCH] Reformulate the json types to break type recursion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/loud-masks-smash.md | 5 +++++ packages/config/src/index.ts | 3 ++- packages/config/src/types.ts | 11 +++-------- 3 files changed, 10 insertions(+), 9 deletions(-) create mode 100644 .changeset/loud-masks-smash.md diff --git a/.changeset/loud-masks-smash.md b/.changeset/loud-masks-smash.md new file mode 100644 index 0000000000..e1631fa3ef --- /dev/null +++ b/.changeset/loud-masks-smash.md @@ -0,0 +1,5 @@ +--- +'@backstage/config': patch +--- + +Reformulate the json types to break type recursion diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts index d873bc93a9..70a6a7a29b 100644 --- a/packages/config/src/index.ts +++ b/packages/config/src/index.ts @@ -14,11 +14,12 @@ * limitations under the License. */ +export { ConfigReader } from './reader'; export type { AppConfig, Config, JsonArray, JsonObject, + JsonPrimitive, JsonValue, } from './types'; -export { ConfigReader } from './reader'; diff --git a/packages/config/src/types.ts b/packages/config/src/types.ts index 92293a3f26..76bbc2f9bf 100644 --- a/packages/config/src/types.ts +++ b/packages/config/src/types.ts @@ -14,15 +14,10 @@ * limitations under the License. */ +export type JsonPrimitive = number | string | boolean | null; export type JsonObject = { [key in string]?: JsonValue }; -export type JsonArray = JsonValue[]; -export type JsonValue = - | JsonObject - | JsonArray - | number - | string - | boolean - | null; +export interface JsonArray extends Array {} +export type JsonValue = JsonObject | JsonArray | JsonPrimitive; export type AppConfig = { context: string;