fix(rc5): harden frontend runtime and diagnostics

This commit is contained in:
2026-09-08 05:22:06 +05:00
parent 079094591b
commit b7e478f014
26 changed files with 707 additions and 169 deletions
+10 -4
View File
@@ -18,9 +18,12 @@ cd apps && go vet ./... && go test ./...
# Проверка типов и сборка frontend
cd apps/frontend && pnpm install --frozen-lockfile && pnpm run verify
# Контракты панели: спрайт иконок, словари локализации, коды ошибок, атрибуция
# Dependency-free контракты панели
bun test tools/test/frontend-sprite.test.ts tools/test/frontend-contract.test.ts
# Runtime-компиляция всех RU/EN-сообщений реальным vue-i18n
cd apps/frontend && bun test test/i18n-runtime.test.ts
# Сверка среды разработки с versions.env (ничего не меняет)
./tools/dev/doctor.sh
@@ -36,9 +39,12 @@ HYSTERIA_BIN=/usr/local/bin/hysteria ./tools/test/e2e-hysteria.sh
## Почему контракты панели проверяет Bun, а не vitest
Проверяемые модули (`SvgIcon/symbol.ts`, `constants/branding.ts`, словари
локализации) намеренно чистые: ни Vite, ни DOM в них нет, поэтому их можно
выполнить вне браузера уже закреплённым в `versions.env` Bun.
Dependency-free модули (`SvgIcon/symbol.ts`, frontend constants и словари
локализации) намеренно чистые: ни Vite, ни DOM в них нет. Отдельный
`i18n-runtime.test.ts` запускается после `pnpm install`, потому что обязан
использовать именно `vue-i18n` из frozen lock-графа. Он обходит каждую строку
обоих словарей и считает отказом и исключение, и compiler diagnostics в
`console.error`.
Vitest с jsdom не вычисляет `currentColor` и визуальной корректности всё равно
не доказал бы, зато привёл бы в граф `pnpm audit` — а его порог считается по