Конфигурация и регистр имён

Регистр следует границе схемы. Никогда не преобразуйте объект конфигурации рекурсивно.

Граница Правило Примеры
Имена требований бэкенд-фасада верхний уровень в lower_case_with_underscore custom_css, css_variables
Поля реестра каждое поле следует своей документированной схеме реестра base_path, entry_point, tag_name
Вложенная фронтенд-конфигурация, переносимая бэкендовым YAML сохраняет нижний camelCase customCSS, themeConfig, iconifyIcons
Фронтенд AppConfig и метаданные пакета нижний camelCase configOverrides, hostCssKeys
config_overrides:
  customization:
    customCSS: ""
    cssVariables: {}
  routePrefix: /admin

proxy:
  injections:
    css:
      themeConfig: true
      customCss: true
      iframe: true

В этом примере в snake case записаны только ключи бэкенд-обёртки. Вложенные фронтенд-объекты передаются как есть и сохраняют свой определённый регистр.

Временное исключение mountRoute

meta.mountRoute — текущая ошибка совместимости на бэкенде. Предполагаемое поле бэкенда — meta.mount_route, но существующие развёртывания требуют mountRoute, пока не выйдет исправление бэкенда. Считайте это одним явным исключением, а не доказательством того, что поля реестра или бэкенда в целом записываются в camelCase.

Проверки соответствия должны версионировать это исключение, чтобы его можно было убрать при изменении схемы бэкенда.