@coraltravelcenter/b2c-landing-builder 2.10.0 → 2.10.1
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 +21 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/src/deploy/reconcile.mjs +1 -1
package/README.md
CHANGED
|
@@ -26,6 +26,9 @@ b2c-landing-vite deploy --dry-run
|
|
|
26
26
|
b2c-landing-vite deploy --update
|
|
27
27
|
b2c-landing-vite deploy --relink
|
|
28
28
|
b2c-landing-vite deploy --publish
|
|
29
|
+
b2c-landing-vite deploy --section hero
|
|
30
|
+
b2c-landing-vite deploy --remote
|
|
31
|
+
b2c-landing-vite deploy --force
|
|
29
32
|
b2c-landing-vite deploy --assets-only
|
|
30
33
|
b2c-landing-vite deploy --assets-only --prune-assets
|
|
31
34
|
b2c-landing-vite block:add hero
|
|
@@ -52,6 +55,20 @@ b2c-landing-vite update
|
|
|
52
55
|
Страница, виджеты, ассеты и локальный deploy-state при этом не изменяются.
|
|
53
56
|
- `deploy --assets-only --dry-run` показывает только план синхронизации ассетов.
|
|
54
57
|
- `deploy --update` обновляет сохранённую версию страницы без создания новой.
|
|
58
|
+
- `deploy --section <key>` меняет только блок с ключом из `order.json`. Builder
|
|
59
|
+
берёт за основу актуальную remote-страницу, поэтому локальные копии соседних
|
|
60
|
+
секций не попадают в payload и не могут затереть изменения из CMS.
|
|
61
|
+
- После успешного deploy builder сохраняет снимок секций в `.b2c/deploy/` как
|
|
62
|
+
достоверный `base`. Следующий deploy структурно сравнивает секции `local`,
|
|
63
|
+
актуальный `remote` и `base`. Изменения разных секций объединяются; изменение
|
|
64
|
+
одной секции с обеих сторон считается конфликтом.
|
|
65
|
+
- Если `base` ещё отсутствует, отличие local от remote считается потенциальным
|
|
66
|
+
конфликтом. Обычный deploy не выполняет silent overwrite и предлагает явно
|
|
67
|
+
сохранить CMS-версию, применить local или отменить операцию.
|
|
68
|
+
- `deploy --remote` не перезаписывает конфликтующие секции локальной версией.
|
|
69
|
+
`deploy --force` осознанно выбирает local. Для section deploy обе стратегии
|
|
70
|
+
ограничены выбранной секцией: `deploy --section hero --remote` или
|
|
71
|
+
`deploy --section hero --force`; соседние remote-секции сохраняются.
|
|
55
72
|
- `deploy --relink` восстанавливает или меняет привязку проекта к существующей
|
|
56
73
|
CMS-странице. Builder предлагает application, поиск страницы по названию или
|
|
57
74
|
URL, версию, HTML-зону и точную позицию. Обычный запуск создаёт checkout для
|
|
@@ -72,6 +89,8 @@ b2c-landing-vite update
|
|
|
72
89
|
`deploy --relink`.
|
|
73
90
|
- Одновременные deploy одного проекта на компьютере блокируются lock-файлом в
|
|
74
91
|
`.b2c/deploy/`; аварийно оставленный lock автоматически признаётся устаревшим.
|
|
92
|
+
- Непосредственно перед первой записью CMS-состояние читается повторно. Если оно
|
|
93
|
+
изменилось во время проверки/выбора стратегии, deploy останавливается.
|
|
75
94
|
- `block:add` создаёт файлы в выбранных форматах разметки и стилей.
|
|
76
95
|
- `block:rename` атомарно переименовывает все файлы блока и обновляет порядок.
|
|
77
96
|
- `update` проверяет npm registry и показывает команду ручного обновления.
|
|
@@ -105,7 +124,7 @@ npm create @coraltravelcenter/b2c-landing-vite
|
|
|
105
124
|
export default {
|
|
106
125
|
schemaVersion: 2,
|
|
107
126
|
builder: {
|
|
108
|
-
minVersion: "2.
|
|
127
|
+
minVersion: "2.10.0",
|
|
109
128
|
},
|
|
110
129
|
project: {
|
|
111
130
|
name: "uae-promo",
|
|
@@ -162,6 +181,7 @@ src/
|
|
|
162
181
|
welcome.css | welcome.scss | welcome.less
|
|
163
182
|
scripts/
|
|
164
183
|
welcome.js | welcome.ts
|
|
184
|
+
utils/ # общие JavaScript-утилиты проекта
|
|
165
185
|
components/ # только для Vue
|
|
166
186
|
public/
|
|
167
187
|
pug.rc # только для Pug
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coraltravelcenter/b2c-landing-builder",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@coraltravelcenter/b2c-landing-builder",
|
|
9
|
-
"version": "2.10.
|
|
9
|
+
"version": "2.10.1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@babel/parser": "7.28.6",
|
package/package.json
CHANGED
package/src/deploy/reconcile.mjs
CHANGED
|
@@ -32,7 +32,7 @@ export function resolveSections({local, remote, base, scope, strategy = "merge"}
|
|
|
32
32
|
const scopedRemote = Object.fromEntries(Object.entries(remote).filter(([id]) => selected.has(id)));
|
|
33
33
|
const scopedBase = base && Object.fromEntries(Object.entries(base).filter(([id]) => selected.has(id)));
|
|
34
34
|
const changes = compareSections({local: scopedLocal, remote: scopedRemote, base: scopedBase});
|
|
35
|
-
const unsafe = changes.filter((change) => change.kind === "conflict" || change.kind === "unknown"
|
|
35
|
+
const unsafe = changes.filter((change) => change.kind === "conflict" || change.kind === "unknown");
|
|
36
36
|
if (strategy === "merge" && unsafe.length) return {changes, unsafe, sections: null};
|
|
37
37
|
const sections = {...remote};
|
|
38
38
|
for (const id of selected) {
|