Предыдущий фикс (onlyBuiltDependencies в pnpm-workspace.yaml) оказался
недостаточным: Docker-сборка evobgp-web продолжала падать с
ERR_PNPM_IGNORED_BUILDS для esbuild. Причина — в корневом package.json
отсутствовало поле packageManager, а Dockerfile вызывал corepack enable
без пина версии. Corepack активировал устаревшую pnpm, зашитую в образ
node:22-alpine, которая не поддерживает чтение onlyBuiltDependencies из
pnpm-workspace.yaml (эта возможность появилась в pnpm 10.4+).
Двойная защита от рассинхрона версий pnpm между локальной средой,
CI и Docker:
- package.json: packageManager = pnpm@10.33.2 (стандарт corepack).
- Dockerfile: corepack prepare pnpm@10.33.2 --activate — явно ставит
нужную версию даже если package.json ещё не скопирован на момент
первого вызова pnpm.
Локально: typecheck и build @evobgp/web — exit 0.
Co-authored-by: Cursor <cursoragent@cursor.com>
Web UI полностью переведён с SvelteKit на новый стек: React 19,
TanStack Router/Query/Table/Virtual, shadcn/ui (base-nova) и ReUI
enterprise-компоненты (data-grid, filters, autocomplete). Новый код
разложен по слоям: packages/ui (shadcn-примитивы), apps/web
(роуты, shared-обёртки, ReUI-адаптации).
BREAKING CHANGE: меняется структура и инструментинг фронтенда.
- apps/web/ — новый Vite + React-проект (@evobgp/web), file-based
роуты TanStack Router; экраны dashboard, modules, monitoring,
network, operations, schedule, settings, tenant-settings, access,
directories.
- packages/ui/ — shadcn/ui-примитивы (@evobgp/ui) с общими стилями
globals.css и cn-утилитой; CLI shadcn запускается из apps/web.
- apps/web/src/components/reui/ — enterprise-паттерны ReUI.
- pnpm workspace (pnpm-workspace.yaml, pnpm-lock.yaml, tsconfig.base.json)
заменяет npm-проект в web/.
- web/ переименован в web-legacy-svelte/ (архив-референс для миграции);
импорты оттуда запрещены правилом WEB-22.
- CI (.gitea/workflows/ci.yaml): job web переведён на Node 22 + pnpm 10
(typecheck/lint/build через pnpm --filter @evobgp/web); пути триггеров
обновлены под apps/web|packages/ui.
- deploy/docker/evobgp-web/Dockerfile: сборка из корня репозитория,
pnpm install --frozen-lockfile, выход dist из apps/web/dist.
- .cursor/rules/web-shadcn.mdc, context7-stack.mdc, engineering.mdc,
AGENTS.md — обновлены под React-стек (WEB-01..WEB-22, DOC-SYNC-06/07).
Проверки WEB-19 локально: typecheck, lint, build — exit 0.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Modified the NGINX configuration to pass the full request URI in the proxy_pass directive, ensuring proper handling of requests.
- Added a comment to clarify the limitation of using a variable in proxy_pass for URI replacement.
- Refactored the API health check to handle errors more gracefully, providing clearer feedback on loading issues.
- Updated the NGINX configuration to use a dynamic upstream variable for better resilience against IP changes in Docker.
- Enhanced user notifications for API availability and data loading errors, including instructions for local demo setup.
- Added a new target "web-build" to streamline the build process for web artifacts.
- Updated "evobgp-web" and "evobgp-web-all" targets to utilize the new "web-build" context.
- Modified Dockerfile to reflect changes in the build stages and context for web artifacts.
- Revised README to clarify the new build process and dependencies.
Enhanced the CI workflow by adding support for docker-bake.hcl to streamline the building and pushing of Go images. Updated Go version to 1.24 and introduced caching for Go module dependencies. Refactored Dockerfiles for evobgp-agent, evobgp-web, and gobinary to utilize build stages more effectively, improving caching and build performance. Adjusted installation commands and entry points for better clarity and maintainability.