@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 +21 -0
- package/README.md +102 -2
- package/bin/embed-ui.mjs +2681 -0
- package/dist/meta.json +151 -136
- package/package.json +21 -9
- package/types/widget.d.ts +7 -139
- package/bin/embed-ui-update.mjs +0 -617
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 для
|
|
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
|
Цели встраивания определяют места, где будет размещена разметка виджета, генерируемая расширением.
|