Skip to content

VexConfig

Defined in: packages/core/src/config/types.ts:591

Resolved Vex CMS configuration after defineServerConfig() layers server settings onto an already-resolved VexClientConfig. Structurally contains every client field via extends (spread, not nested) — every existing server-side or Convex config.collections / config.access reader compiles unchanged against this type.

optional access?: VexAccessConfig<Record<string, SubjectEntry>, readonly AccessResource[], string, string | undefined, Partial<Record<string, CustomActionsInput>>>

Defined in: packages/core/src/config/types.ts:521

VexClientConfig.access


admin: AdminConfig

Defined in: packages/core/src/config/types.ts:520

Resolved admin panel configuration — always fully populated after defaults are applied.

VexClientConfig.admin


optional auth?: object

Defined in: packages/core/src/config/types.ts:602

Auth configuration, present only when the server config registered an adapter. Mirrors storage’s shape: adapter instance under the group. adapter is required within the group — config.auth present ⇔ adapter present, so consumers check the group once and never null-check adapter inside it.

adapter: VexAuthAdapter


authCollections: AuthCollectionConfig[]

Defined in: packages/core/src/config/types.ts:547

Auth collections built by the project’s auth package’s client-safe builder (e.g. betterAuthCollections() from @vexcms/better-auth/client), before merging into collections. Always present; defaults to [] for a project with no auth.

AuthCollectionConfig for the shape

VexClientConfig.authCollections


basePath: string

Defined in: packages/core/src/config/types.ts:549

URL prefix for all admin panel routes — always set after defaults are applied.

VexClientConfig.basePath


collections: CollectionConfig<{ }, { }, string, Record<string, AdminField>, ComponentHKT, boolean, boolean, string>[]

Defined in: packages/core/src/config/types.ts:529

All registered content collections — user-defined collections merged with authCollections and internal collections, in that order. Always an array after defaults are applied.

mergeAuthCollections for the merge order and precedence rules

VexClientConfig.collections


optional editor?: VexEditorAdapter<ComponentHKT>

Defined in: packages/core/src/config/types.ts:576

Resolved root editor adapter — present only when the project configured one. undefined when the project has no rich-text fields.

VexEditorAdapter for the adapter shape

VexClientConfig.editor


fields: VexFieldsConfig

Defined in: packages/core/src/config/types.ts:578

Resolved project-wide field behavior defaults — always fully populated.

VexClientConfig.fields


globals: GlobalConfig<{ }, { }, string, Record<string, AdminField<{ }>>, ComponentHKT, boolean>[]

Defined in: packages/core/src/config/types.ts:531

Resolved global configs. Always present; defaults to [].

VexClientConfig.globals


mediaCollections: MediaCollectionConfig[]

Defined in: packages/core/src/config/types.ts:538

Media collections declared on the client config, validated against upload() field references. Always present; defaults to [].

MediaCollectionConfig for the resolved shape

VexClientConfig.mediaCollections


optional routes?: VexRoutesConfig

Defined in: packages/core/src/config/types.ts:554

Resolved route map. undefined when the project never configured routes — it is opt-in.

VexClientConfig.routes


schema: SchemaConfig

Defined in: packages/core/src/config/types.ts:567

Resolved schema generation configuration — always fully populated after defaults are applied. Consumed by the CLI only; present on the client config because it is inert settings data, not a bundle hazard.

VexClientConfig.schema


storage: object

Defined in: packages/core/src/config/types.ts:604

Storage adapters and client-side upload functions, both always resolved.

adapters: StorageAdapterPresignedUrlInterface[]

clientUploads: ClientUploadMap

VexClientConfig.storage


types: TypesConfig

Defined in: packages/core/src/config/types.ts:569

Resolved type generation configuration — always fully populated after defaults are applied.

VexClientConfig.types