TypeScript API / @laikacms/astro/loader / DocumentsLoaderOptions
Interface: DocumentsLoaderOptions
Extends
Properties
catalog?
optional catalog?: CatalogChoice;Which catalog maps a collection to a directory. Defaults to 'convention'. Ignored when repositories is given.
Inherited from
LaikaRepositoryOptions.catalog
collection?
optional collection?: string;The Laika collection key. Defaults to the Astro collection name.
configKey?
optional configKey?: string;Where the Decap config lives, for catalog: 'decap'. Defaults to 'config'.
Inherited from
LaikaRepositoryOptions.configKey
defaultExtension?
optional defaultExtension?: string;File extension applied to keys without one. Defaults to 'json'.
Inherited from
LaikaRepositoryOptions.defaultExtension
dir?
optional dir?: string;Directory the default filesystem repository reads, resolved relative to the Astro project root. Ignored when storage or repositories is given. Defaults to 'content'.
Inherited from
documents?
optional documents?: DocumentsRepository;The documents repository to read. Highest precedence — when given, no repository is constructed and the rest of LaikaRepositoryOptions is ignored. This is how you read from a remote Laika server: pass a DocumentsJsonApiProxyRepository.
entry?
optional entry?: EntryOptions;name?
optional name?: string;Loader name, which is what refreshContent({ loaders }) targets. Defaults to 'laikacms'.
render?
optional render?: RenderOptions;repositories?
optional repositories?: any;Bring your own repositories. Highest precedence — nothing else in this struct is read when it is set.
Inherited from
LaikaRepositoryOptions.repositories
root?
optional root?: string;Astro project root, for resolving a relative dir before load runs.
select?
optional select?: DocumentSelectOptions;serializers?
optional serializers?: StorageSerializerRegistry;Serializer registry for the default filesystem repository.
Inherited from
LaikaRepositoryOptions.serializers
storage?
optional storage?: StorageRepository;Provide only the storage repository; the documents and assets repositories are derived from it via Catalog. Ignored when repositories is given.
Inherited from
LaikaRepositoryOptions.storage
sync?
optional sync?: SyncOptions;z?
optional z?: ZodNamespace;The z from astro:content.
Supplying it — together with an explicit collection and a catalog that can describe the collection's fields — lets the loader derive the collection schema from the catalog instead of you restating it here. Astro also generates entry types from it, so entry.data stays fully typed.
Omit it and the collection is unvalidated unless you pass your own schema to defineCollection.