Files
mdm-ordinis/ordinis-admin-ui
Zimin A.N. 11faf086a4 perf(admin-ui): manualChunks splits vendor по domain → лучше кэширование
До: 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 — отдельная задача.
2026-05-05 17:32:33 +03:00
..

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).