Skip to content

@gluonjs/core / packages/quarks/src / ComponentLibraryManifest

Interface: ComponentLibraryManifest ​

Properties ​

entries ​

readonly entries: readonly ComponentLibraryEntry[]


name ​

readonly name: string


schemaVersion ​

readonly schemaVersion: 1

Example ​

Publish a versioned, serializable inventory without importing modules or registering elements as a side effect:

ts
import { validateComponentLibraryManifest, type ComponentLibraryEntry, type ComponentLibraryManifest, type ComponentLibraryManifestValidation } from '@gluonjs/quarks';

const entry = {
  id: 'product-configurator',
  module: '@acme/shop-components/product-configurator',
  exportName: 'ProductConfigurator',
  layer: 'element',
  tag: 'acme-product-configurator',
  styles: ['acme-product-configurator'],
  dependencies: [],
  accessibility: 'Uses labelled native choices.',
} as const satisfies ComponentLibraryEntry;
const manifest = { schemaVersion: 1, name: '@acme/shop-components', entries: [entry] } as const satisfies ComponentLibraryManifest;
const result: ComponentLibraryManifestValidation = validateComponentLibraryManifest(manifest);
if (!result.valid) throw new Error(result.errors.join('\n'));
console.log(manifest.entries[0]?.module);

Version-matched documentation. Examples are checked against the public package contracts.