11faf086a4
До: 1 chunk index-XXX.js 2 МБ / 703 КБ gzip — любой commit инвалидирует весь. После: 10 chunks. Vendor стабилен и кэшируется, при правке кода только main (18 КБ gz) перезагружается: vendor-react 194 / 60 gz (rare changes) vendor-tanstack 127 / 40 gz vendor-forms 145 / 46 gz (react-hook-form + ajv) vendor-nstart-ui 1229 /465 gz (corp UI — brand assets + stickers) vendor-icons 62 / 13 gz (phosphor) vendor-auth 72 / 19 gz (oidc-client-ts + react-oidc-context) vendor-i18n 56 / 18 gz vendor-net 42 / 17 gz (axios + crypto) vendor-misc 15 / 6 gz index (main) 67 / 19 gz ← наш код vendor-nstart-ui всё ещё 465 КБ gz — доминирует. Это brand assets (stickers, lottie animations) которые eager-imported в библиотеке. Дальнейший win требует tree-shaking в @nstart/ui — отдельная задача.
Ordinis Admin UI
React 19 + Vite 7 + TanStack Router + TanStack Query + Tailwind v4 + i18next.
Локально
cd ordinis-admin-ui
pnpm install
# .env.local: VITE_API_PROXY=http://localhost:8081 (port-forward read-api)
pnpm dev
Контракт API
GET /api/v1/dictionaries(read-api) — список справочниковGET /api/v1/{dictionaryName}/records(read-api) — записи с локализациейPOST /api/v1/dictionaries(writer) — создание справочника (TODO в UI)POST /api/v1/dictionaries/{name}/records(writer) — создание записи (TODO в UI)
Сборка / Docker
docker build -t repo.nstart.cloud/terravault/ordinis-admin-ui:dev .
docker run --rm -p 8088:80 repo.nstart.cloud/terravault/ordinis-admin-ui:dev
# → http://localhost:8088
В кластере nginx проксирует /api/v1/* в ordinis-read-api (GET) и
ordinis-app (POST/PUT/PATCH/DELETE).