@gluonjs/quarks


@gluonjs/quarks / packages/quarks/src / ComponentLibraryModuleResolver

Interface: ComponentLibraryModuleResolver

Methods

load()

load(entry): Promise<unknown>

Resolve only the exact public manifest entry requested by the consumer.

Parameters

entry

ComponentLibraryEntry

Returns

Promise<unknown>

Example

Resolve only the already validated, consumer-requested public manifest entry:

ts
import { createComponentLibraryLoader, type ComponentLibraryLoader, type ComponentLibraryLoaderOptions, type ComponentLibraryManifest, type ComponentLibraryModuleResolver, type ComponentLibraryStyleResolver, type ComponentLoadResult, type ComponentLoadStatus } from '@gluonjs/quarks';

const manifest = { schemaVersion: 1, name: '@acme/shop-components', entries: [{ id: 'purchase-action', module: '@acme/shop-components/purchase-action', exportName: 'PurchaseAction', layer: 'atom', styles: [], dependencies: [], accessibility: 'Renders a labelled native button.' }] } as const satisfies ComponentLibraryManifest;
const resolver: ComponentLibraryModuleResolver = { load: async (entry) => ({ entry: entry.id }) };
const styles: ComponentLibraryStyleResolver = { resolve: () => [] };
const options: ComponentLibraryLoaderOptions = { styleTarget: document, styles };
const loader: ComponentLibraryLoader = createComponentLibraryLoader(manifest, resolver, options);
const component: ComponentLoadResult = await loader.load('purchase-action');
const status: ComponentLoadStatus = loader.status('purchase-action');
console.log(status, component.entry.exportName);