@wocart/theme / index / ThemeManifest
Interface: ThemeManifest
The serializable theme contract.
contractVersionidentifies this manifest's schema and interpretation contract (currently1). It versions the format, not the theme.key/versionidentify the theme (same values asThemeDefinition).surfacesdeclares what the theme can render (possibly empty).componentsis the data-only catalogue, keyed by component type.
Three versioned contracts coexist and must not be confused:
contractVersion (this manifest), ThemeDefinition.version (the theme's
semver), and PageData.version (the page-document envelope, currently 1).
Properties
areas
areas: readonly
AreaSpec[]
The parts every page shares (possibly none).
components
components:
Record<string,ComponentSpec>
content
content:
Readonly<Record<LocaleCode,Readonly<Record<string,string>>>>
The theme's content packs, by language (possibly none).
contractVersion
contractVersion:
1
key
key:
string
locales
locales: readonly
string[]
The languages the theme's packs cover (possibly none declared).
preview
preview:
boolean
Whether the theme serves a preview route (THEME_PREVIEW_PATH).
sdkVersion?
optionalsdkVersion?:string
The @wocart/theme version that generated the manifest — the renderer the
theme ships with. An editor writes a feature only for renderers that read
it (a hidden section needs 1.5.0). Absent from manifests made before 1.5.0.
settings
settings: readonly
SettingsGroup[]
The theme's global settings (possibly none).
style?
optionalstyle?:ThemeStyle
The sizes the theme gives the style steps (absent: none).
surfaces
surfaces: readonly
SurfaceSpec[]
version
version:
string