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() }),
    },
  },
});