diff --git a/packages/host/app/services/card-type-service.ts b/packages/host/app/services/card-type-service.ts index 85e4d88b692..b6c1ab43139 100644 --- a/packages/host/app/services/card-type-service.ts +++ b/packages/host/app/services/card-type-service.ts @@ -11,6 +11,7 @@ import { getAncestor, SupportedMimeType, isResolvedCodeRef, + cardIdToURL, type ResolvedCodeRef, } from '@cardstack/runtime-common'; import { isCodeRef, type CodeRef } from '@cardstack/runtime-common/code-ref'; @@ -121,7 +122,7 @@ export default class CardTypeService extends Service { let moduleIdentifier = moduleFrom(ref); let moduleInfo = this.moduleInfoCache.get(moduleIdentifier) ?? - (await this.fetchModuleInfo(new URL(moduleIdentifier))); + (await this.fetchModuleInfo(cardIdToURL(moduleIdentifier))); let api = await loader.import(`${baseRealm.url}card-api`); let { id: _remove, ...fields } = api.getFields(card, { diff --git a/packages/host/app/services/store.ts b/packages/host/app/services/store.ts index 5f10f4ee948..d9d82956f7f 100644 --- a/packages/host/app/services/store.ts +++ b/packages/host/app/services/store.ts @@ -2132,7 +2132,7 @@ async function withStubbedRenderTimers(cb: () => Promise): Promise { // - a directory function resolveDocUrl(id?: string, realm?: string, local?: string) { if (id) { - return id; + return isRegisteredPrefix(id) ? cardIdToURL(id).href : id; } if (!realm) { throw new Error('Cannot resolve target url without a realm');