diff --git a/container-runtime/src/Adapters/Systems/SystemForEmbassy/index.ts b/container-runtime/src/Adapters/Systems/SystemForEmbassy/index.ts index 2b32afd85..9cefcde2e 100644 --- a/container-runtime/src/Adapters/Systems/SystemForEmbassy/index.ts +++ b/container-runtime/src/Adapters/Systems/SystemForEmbassy/index.ts @@ -974,7 +974,7 @@ export class SystemForEmbassy implements System { })) as U.Config if (!oldConfig) return const moduleCode = await this.moduleCode - const method = moduleCode.dependencies?.[id]?.autoConfigure + const method = moduleCode?.dependencies?.[id]?.autoConfigure if (!method) return const newConfig = (await method( polyfillEffects(effects, this.manifest), diff --git a/container-runtime/src/Adapters/Systems/SystemForEmbassy/transformConfigSpec.ts b/container-runtime/src/Adapters/Systems/SystemForEmbassy/transformConfigSpec.ts index 1eb2ea508..eca2879b3 100644 --- a/container-runtime/src/Adapters/Systems/SystemForEmbassy/transformConfigSpec.ts +++ b/container-runtime/src/Adapters/Systems/SystemForEmbassy/transformConfigSpec.ts @@ -146,6 +146,7 @@ export function transformOldConfigToNew( spec: OldConfigSpec, config: Record, ): Record { + if (!config) return config return Object.entries(spec).reduce((obj, [key, val]) => { let newVal = config[key] @@ -157,7 +158,12 @@ export function transformOldConfigToNew( } if (isUnion(val)) { - const selection = config[key][val.tag.id] + if (!config[key]) return obj + + const selection = config[key]?.[val.tag.id] + + if (!selection) return obj + delete config[key][val.tag.id] newVal = { @@ -170,6 +176,8 @@ export function transformOldConfigToNew( } if (isList(val) && isObjectList(val)) { + if (!config[key]) return obj + newVal = (config[key] as object[]).map((obj) => transformOldConfigToNew( matchOldConfigSpec.unsafeCast(val.spec.spec),