diff --git a/src/registry/domain/options-sanitiser.ts b/src/registry/domain/options-sanitiser.ts index 7b29d8cf..44a20f96 100644 --- a/src/registry/domain/options-sanitiser.ts +++ b/src/registry/domain/options-sanitiser.ts @@ -164,6 +164,7 @@ export default function optionsSanitiser(input: RegistryOptions): Config { const gzip = zlib.gzipSync(minified, { level: 7 }); options.compiledClient = { ...compiled, + imports: clientOptions.imports, code: { minified, gzip, diff --git a/src/registry/routes/component-preview.ts b/src/registry/routes/component-preview.ts index 91d1d709..73d264e1 100644 --- a/src/registry/routes/component-preview.ts +++ b/src/registry/routes/component-preview.ts @@ -34,7 +34,9 @@ function componentPreview( previewView({ robots: res.conf.discovery.robots, component, - importmap: getOcConfig(res.conf.path)?.development?.importmap, + imports: + getOcConfig(res.conf.path)?.development?.importmap?.imports || + res.conf.compiledClient?.imports, fallbackClient: res.conf.fallbackClient ? `${res.conf.fallbackRegistryUrl.replace(/\/$/, '')}/oc-client/client.dev.js` : undefined, diff --git a/src/registry/views/preview.ts b/src/registry/views/preview.ts index a9e1830a..62e62e38 100644 --- a/src/registry/views/preview.ts +++ b/src/registry/views/preview.ts @@ -8,14 +8,12 @@ export default function preview(vm: { liveReload: string; templates: TemplateInfo[]; robots: boolean; - importmap?: { - imports?: Record; - }; + imports?: Record; preload?: string; }): string { const baseUrl = vm.href.replace('http://', '//').replace('https://', '//'); const { name, version } = vm.component; - const imports = vm.importmap?.imports || vm.component.oc.files.imports; + const imports = vm.imports || vm.component.oc.files.imports; const componentHref = `${baseUrl}${name}/${version}/${vm.qs}`; const clientHref = vm.fallbackClient || `${baseUrl}oc-client/client.js`; const id = `oc-${name}@${version}`; diff --git a/src/types.ts b/src/types.ts index 7831368e..d7ee3103 100644 --- a/src/types.ts +++ b/src/types.ts @@ -174,6 +174,7 @@ export interface Config { * @internal */ compiledClient?: { + imports?: Record; code: { gzip: Buffer; brotli: Buffer; minified: string }; map: string; dev: string;