@coraltravelcenter/b2c-landing-builder 2.5.2 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,6 +21,9 @@ Builder устанавливается один раз и не копирует
21
21
  b2c-landing-vite check
22
22
  b2c-landing-vite dev
23
23
  b2c-landing-vite build
24
+ b2c-landing-vite deploy
25
+ b2c-landing-vite deploy --update
26
+ b2c-landing-vite deploy --assets-only
24
27
  b2c-landing-vite block:add hero
25
28
  b2c-landing-vite block:rename hero main-hero
26
29
  b2c-landing-vite update
@@ -29,6 +32,15 @@ b2c-landing-vite update
29
32
  - `check` проверяет конфигурацию, `order.json` и контракт JS-блоков.
30
33
  - `dev` запускает Vite и userscript для Tampermonkey.
31
34
  - `build` создаёт CMS-файлы в `@CMS/` и переписывает пути ассетов на CDN.
35
+ - `deploy --assets-only` выполняет свежую сборку и загружает только изменённые
36
+ deploy-ассеты. При первом запуске builder запрашивает backoffice-логин и
37
+ скрытый пароль через ADFS. На диск сохраняется только токен (не пароль), токен
38
+ автоматически используется до истечения. Для CI можно передать
39
+ `B2C_BACKOFFICE_TOKEN`.
40
+ - `deploy` при первом запуске предлагает выбрать application, layout и HTML-зону,
41
+ создаёт CMS-страницу и размещает блоки в порядке `order.json`. При повторном
42
+ запуске для опубликованной страницы создаётся checkout-версия.
43
+ - `deploy --update` обновляет сохранённую версию страницы без создания новой.
32
44
  - `block:add` создаёт файлы в выбранных форматах разметки и стилей.
33
45
  - `block:rename` атомарно переименовывает все файлы блока и обновляет порядок.
34
46
  - `update` проверяет npm registry и показывает команду ручного обновления.
@@ -93,6 +105,12 @@ export default {
93
105
  Builder загружает Vue-плагин из проекта, поэтому Vue-зависимости не
94
106
  устанавливаются вместе с глобальным builder.
95
107
 
108
+ Перед подготовкой deploy-артефактов builder рекурсивно проверяет `public/`.
109
+ Изображения JPG, JPEG и PNG конвертируются в WebP с качеством 80, а ссылки в
110
+ CMS-файлах автоматически переключаются на новые имена. Исходные файлы в
111
+ `public/` не изменяются. Если WebP с таким именем уже существует, используется
112
+ он. SVG, GIF, шрифты и остальные файлы копируются без преобразования.
113
+
96
114
  Monkey URL, контейнер и CDN prefix не задаются вручную:
97
115
 
98
116
  - URL: `https://<домен-пресета>/monkey/*`;
@@ -128,10 +146,15 @@ package.json
128
146
 
129
147
  ```json
130
148
  {
149
+ "folder": "uae-promo",
131
150
  "blocks": ["hero", "welcome"]
132
151
  }
133
152
  ```
134
153
 
154
+ `folder` задаёт единственную папку проекта на CDN. Она должна быть безопасным
155
+ именем без вложенных путей. Итоговый префикс ассетов:
156
+ `<assetsBase>/landing-pages/<folder>/`.
157
+
135
158
  Для каждого ключа обязательны разметка и стиль с тем же именем. JS/TS-файл
136
159
  необязателен. Форматы определяются `landing.config.mjs`; отсутствие обязательного
137
160
  файла блокирует `check`, `dev` и `build` с указанием ожидаемого пути.