@retailcrm/embed-ui 0.9.21 → 0.9.22-alpha.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/CHANGELOG.md CHANGED
@@ -1,6 +1,27 @@
1
1
  # Changelog
2
2
 
3
3
 
4
+ ## [0.9.22-alpha.1](https://github.com/retailcrm/embed-ui/compare/v0.9.21...v0.9.22-alpha.1) (2026-05-18)
5
+
6
+ ### Features
7
+
8
+ * Embed UI init interactive mode added ([76d04fc](https://github.com/retailcrm/embed-ui/commit/76d04fc29755e03fd3ea56c2a5b495c854d8024f))
9
+ * Embed UI initialization CLI added ([2770cfd](https://github.com/retailcrm/embed-ui/commit/2770cfde193b3816b20bd19705bf8c86bfcb20f4))
10
+ * Embed UI project initialization added ([b6ec6ba](https://github.com/retailcrm/embed-ui/commit/b6ec6bae6cde10f8720b64568133f396b199ea67))
11
+ * Endpoint target metadata generation added ([b52632d](https://github.com/retailcrm/embed-ui/commit/b52632d311b22ccc42199e99d5e543e7473e0050))
12
+ * Init preflight diagnostics expanded ([771485a](https://github.com/retailcrm/embed-ui/commit/771485a8b52fad233162745bc257e7bee6fae982))
13
+ * **v1-components:** UiLogicTree component was added ([63d46b9](https://github.com/retailcrm/embed-ui/commit/63d46b990339e00377c1d862b9831c8c7f86282b))
14
+ * **v1-components:** UiPopconfirm component was added ([0999220](https://github.com/retailcrm/embed-ui/commit/09992203cd300c363419d4321aca8ba3ff91d261))
15
+ * **v1-endpoint:** MCP project config initialization added ([a79082b](https://github.com/retailcrm/embed-ui/commit/a79082b963abf66e5dd2dd4246c6a1323d6da7c6))
16
+ * **v1-endpoint:** MCP target resources and agent setup added ([8d7b620](https://github.com/retailcrm/embed-ui/commit/8d7b62026500b328fc3d199dbefb9e52c907924a))
17
+
18
+ ### Bug Fixes
19
+
20
+ * Generated init project lint issues corrected ([d7d80f2](https://github.com/retailcrm/embed-ui/commit/d7d80f29264b57b71bcf7354ee0aa10c5335113e))
21
+ * resolved embed-ui agents docs path ([7117caf](https://github.com/retailcrm/embed-ui/commit/7117caf92b0efc8c9ee43176162da36e5d47f21c))
22
+ * **v1-components:** Storybook serve allowed hosts were updated ([259f493](https://github.com/retailcrm/embed-ui/commit/259f49315ae5388fd74da3c4faf0fef5d099b5bc))
23
+ * Vue remote peer dependency ownership corrected ([cebeaa0](https://github.com/retailcrm/embed-ui/commit/cebeaa00d725035e69381e5cd9a1013b4b8db914))
24
+ * Vue remote runtime dependency restored ([0ec71e0](https://github.com/retailcrm/embed-ui/commit/0ec71e0991451bbad9b3fa8f545ff5e5d97b691a))
4
25
  ## [0.9.21](https://github.com/retailcrm/embed-ui/compare/v0.9.20...v0.9.21) (2026-04-30)
5
26
 
6
27
  ### Bug Fixes
package/README.md CHANGED
@@ -10,7 +10,7 @@ API и компоненты для создания расширений инт
10
10
 
11
11
  - `v1-components` — UI-компоненты и сопутствующая документация, [README.md пакета](./packages/v1-components/README.md).
12
12
  - `v1-contexts` — реактивные контексты и доступ к данным RetailCRM JS API, [README.md пакета](./packages/v1-contexts/README.md).
13
- - `v1-endpoint` — endpoint API для remote-страниц и виджетов, [README.md пакета](./packages/v1-endpoint/README.md).
13
+ - `v1-endpoint` — endpoint API для встраиваемых страниц и виджетов, [README.md пакета](./packages/v1-endpoint/README.md).
14
14
  - `v1-testing` — тестовые утилиты и вспомогательные типы для интеграций, [README.md пакета](./packages/v1-testing/README.md).
15
15
  - `v1-types` — базовые type declarations для публичного API, [README.md пакета](./packages/v1-types/README.md).
16
16
 
@@ -21,7 +21,102 @@ API и компоненты для создания расширений инт
21
21
  npx @retailcrm/embed-ui-v1-components init-agents
22
22
  ```
23
23
 
24
- ## Обновление версий в целевом проекте
24
+ ## CLI `@retailcrm/embed-ui`
25
+
26
+ Пакет поставляет бинарник `embed-ui`, который можно запускать через `npx`.
27
+ CLI умеет обновлять версии пакетов, добавлять пакеты в существующий проект и выполнять начальную инициализацию
28
+ фронтенда расширения.
29
+
30
+ ```bash
31
+ npx @retailcrm/embed-ui --help
32
+ ```
33
+
34
+ ### Начальная Инициализация
35
+
36
+ Команда `init` создает или дополняет проект фронтенда расширения:
37
+
38
+ - добавляет `package.json`, если его еще нет;
39
+ - добавляет зависимости `@retailcrm/embed-ui*`, `vue`, `pinia`, `vue-i18n` и dev-зависимости для Vite, TypeScript и ESLint;
40
+ - создает `tsconfig.json`, `vite.config.ts`, `eslint.config.js`, `env.d.ts`;
41
+ - создает стартовые файлы во frontend-каталоге: endpoint worker, страницу настроек, виджет заказа, i18n JSON-сообщения;
42
+ - добавляет `extensionrc.json` и `scripts/publish-extension.mjs`;
43
+ - добавляет `AGENTS.md` и MCP-настройки пакетов, если они не отключены флагами.
44
+
45
+ ```bash
46
+ npx @retailcrm/embed-ui init ./web --package-manager yarn
47
+ ```
48
+
49
+ Если не указывать дополнительные флаги, `init` работает так:
50
+
51
+ - корень проекта — текущий рабочий каталог;
52
+ - frontend-каталог — позиционный аргумент команды, а если его нет, то `./src` для нового проекта или `./web`, если `./src` уже существует;
53
+ - версия пакетов — последняя опубликованная версия из npm;
54
+ - package manager — определяется по единственному lock-файлу в корне проекта, в интерактивном терминале запрашивается у пользователя, в неинтерактивном режиме используется `npm`;
55
+ - пакеты — `@retailcrm/embed-ui`, `v1-components`, `v1-contexts`, `v1-types` и `v1-endpoint`;
56
+ - установка зависимостей — запускается автоматически после изменения `package.json`;
57
+ - шаблон — создается стартовая конфигурация для страницы настроек и виджета `order/card:common.after`;
58
+ - каталоги — создаются `endpoint`, `pages`, `widgets`, `shared`, `i18n` и `i18n/locales` внутри frontend-каталога;
59
+ - `AGENTS.md` — создается или дополняется инструкциями корневого пакета и выбранных пакетов;
60
+ - MCP — добавляется `.mcp.json` для `v1-endpoint`;
61
+ - client configs для Cursor, Junie и VS Code — не создаются без `--mcp-client-configs`;
62
+ - существующие файлы не перезаписываются, а зависимости с потенциальным конфликтом не заменяются без явных force-флагов.
63
+
64
+ По умолчанию команда использует текущий рабочий каталог как корень проекта. Его можно задать явно:
65
+
66
+ ```bash
67
+ npx @retailcrm/embed-ui init ./web --cwd ./my-project --package-manager npm
68
+ ```
69
+
70
+ Если в проекте уже есть `src`, для нового фронтенда расширения удобнее использовать отдельный каталог, например
71
+ `./web`. CLI не перезаписывает существующие файлы без явного разрешения и выводит предупреждения о пропущенных шагах.
72
+
73
+ Полезные флаги:
74
+
75
+ - `--no-install` — не запускать установку зависимостей после изменения `package.json`.
76
+ - `--interactive` — задать основные параметры через вопросы в TTY, сохранив флаги как явные ограничения.
77
+ - `--version 0.9.21` — использовать указанную версию пакетов вместо последней версии из npm.
78
+ - `--exact` — записывать точные версии вместо диапазонов.
79
+ - `--packages embed-ui,components,contexts,types,endpoint` — явно выбрать пакеты для установки и настройки.
80
+ - `--force-deps` — заменить несовместимые версии зависимостей.
81
+ - `--fix-sections` — перенести зависимости в ожидаемые секции `dependencies`/`devDependencies`.
82
+ - `--force-files` — перезаписать генерируемые стартовые файлы.
83
+ - `--no-configs` — не создавать `tsconfig.json`, `vite.config.ts`, `eslint.config.js` и `env.d.ts`.
84
+ - `--no-template` — не создавать стартовые Vue-файлы и `extensionrc.json`.
85
+ - `--no-agents` — не создавать и не дополнять `AGENTS.md`.
86
+ - `--no-mcp` — не добавлять MCP-настройки пакетов.
87
+ - `--mcp-client-configs cursor,junie,vscode` — дополнительно создать project-level конфиги поддерживаемых AI-клиентов.
88
+
89
+ `--force` включает силовой режим для управляемых частей, но учитывает флаги `--no-*`. Например, можно обновить только
90
+ агентские инструкции и MCP-настройки без перегенерации стартовых файлов:
91
+
92
+ ```bash
93
+ npx @retailcrm/embed-ui init ./web --force --no-install --no-template
94
+ ```
95
+
96
+ ### AGENTS.md И MCP
97
+
98
+ При `init` CLI добавляет общий раздел в `AGENTS.md`, а пакеты могут добавить свои инструкции. Сейчас это используют:
99
+
100
+ - `@retailcrm/embed-ui-v1-components` — добавляет порядок чтения README, AI-документации и YAML-профилей компонентов.
101
+ - `@retailcrm/embed-ui-v1-endpoint` — добавляет инструкции по целям виджетов и MCP-ресурсам.
102
+
103
+ Для `v1-endpoint` также создается `.mcp.json` с сервером `retailcrm-embed-ui-v1-endpoint`. Он отдает AI-friendly
104
+ описания целей виджетов через ресурсы:
105
+
106
+ - `embed-ui-v1-endpoint://targets`;
107
+ - `embed-ui-v1-endpoint://targets/<encoded-target>`.
108
+
109
+ Конфиги конкретных клиентов не создаются по умолчанию, потому что в них чаще бывают пользовательские правки.
110
+ Чтобы добавить только поддерживаемые project-level конфиги, укажите:
111
+
112
+ ```bash
113
+ npx @retailcrm/embed-ui init ./web --no-install --mcp-client-configs cursor,junie,vscode
114
+ ```
115
+
116
+ Повторный запуск без `--force` не дублирует управляемые секции и записи MCP. При `--force` обновляются только записи
117
+ этого пакета, ручные серверы и соседние разделы не удаляются.
118
+
119
+ ### Обновление Версий
25
120
 
26
121
  Можно запустить бинарник через `npx`, чтобы обновить пакеты `@retailcrm/embed-ui*` во всех `package.json`
27
122
  текущего рабочего дерева или выбранного поддерева
@@ -37,6 +132,8 @@ npx @retailcrm/embed-ui --target ./my-project --dry-run
37
132
  По умолчанию используется последняя версия из npm. Флаг `--exact` переключает формат обновления на точную версию.
38
133
  CLI сохраняет исходные отступы и переводы строк в каждом изменяемом `package.json`.
39
134
 
135
+ ### Добавление Пакетов
136
+
40
137
  Для точечного добавления пакетов только в один `package.json` есть флаг `--add`.
41
138
  Если не передать `--packages`, CLI откроет интерактивный режим с выбором пакетов и кратким описанием.
42
139
 
@@ -46,6 +143,9 @@ npx @retailcrm/embed-ui --add --packages components,contexts
46
143
  npx @retailcrm/embed-ui --add --target ./my-project --version 0.9.11
47
144
  ```
48
145
 
146
+ Доступные идентификаторы пакетов: `embed-ui`, `components`, `contexts`, `types`, `endpoint`.
147
+ Пакет `testing` пока не добавляется через публичную инициализацию.
148
+
49
149
  ## Цели встраивания
50
150
 
51
151
  Цели встраивания определяют места, где будет размещена разметка виджета, генерируемая расширением.