Function: defineConfig()
function defineConfig<TSchemas extends Record<string, StandardSchema>, TOutputs extends { [TName in keyof TSchemas]: unknown; }, TFiles extends { [TName in keyof TSchemas]: unknown; }, const TReferences extends { readonly [TName in keyof TSchemas]?: { readonly [TPath in ReferencePath<InferOutput<TSchemas[TName]>>]?: keyof TSchemas & string; }; } = Record<never, never>>(config: {
collections: { [TName in keyof TSchemas]: {
schema: TSchemas[TName] & StandardSchema<object>;
}; } & { [TName in keyof TFiles]: {
loader: Loader<FileOf<TFiles[TName]>>;
}; } & { [TName in keyof TOutputs]: {
transform?: (source: Source<InferOutput<TSchemas[TName & keyof TSchemas]>, FileOf<TFiles[TName & keyof TFiles]>>, context: TransformContext<TName & string>) => TOutputs[TName];
}; };
references?: TReferences;
}): Config<InferredCollections<TSchemas, TOutputs, TFiles>, TReferences>;Defined in: index.ts:546
Defines the collections tomekit loads. Use it as the default export of tomekit.config.ts.
Parameters
config
{ collections: { [TName in keyof TSchemas]: { schema: TSchemas[TName] & StandardSchema<object>; }; } & { [TName in keyof TFiles]: { loader: Loader<FileOf<TFiles[TName]>>; }; } & { [TName in keyof TOutputs]: { transform?: (source: Source<InferOutput<TSchemas[TName & keyof TSchemas]>, FileOf<TFiles[TName & keyof TFiles]>>, context: TransformContext<TName & string>) => TOutputs[TName]; }; }; references?: TReferences; }
Returns
Config<InferredCollections<TSchemas, TOutputs, TFiles>, TReferences>
Example
export default defineConfig({
collections: {
posts: {
loader: directory("content/posts"),
schema: z.object({ title: z.string(), date: z.coerce.date() }),
},
},
});