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
+14 -9
View File
@@ -63,15 +63,16 @@ Windows и macOS можно использовать для редактиров
и сверяет каждый архив с контрольной суммой из `versions.env`.
6. Выполняет `verify_versions_contract`: рассинхрон версий роняет сборку до создания tarball.
7. Прогоняет тесты и типы оркестратора (`bun test`, `tsc --noEmit`).
8. Разрешает upstream-версию Hysteria, берёт ожидаемый SHA-256 из upstream `hashes.txt` и сверяет с ним скачанный артефакт.
9. Проходит compatibility gate: реальный бинарник Hysteria должен принять канонический конфиг HY2XS.
10. Копирует package skeleton.
11. Собирает install-only orchestrator в standalone binary.
12. Собирает frontend и backend HY2XS admin в Linux amd64 binary, проставляя версию админки через ldflags.
13. Прогоняет `go vet` и `go test` для HY2XS admin (после сборки frontend, потому что `go:embed all:dist` требует готовых ассетов).
14. Записывает metadata и checksums.
15. Создаёт `dist/hy2xs-install-<version>.tar.gz`.
16. Проверяет архив и прогоняет acceptance-проверки.
8. Рано прогоняет dependency-free контракты панели.
9. Разрешает upstream-версию Hysteria, берёт ожидаемый SHA-256 из upstream `hashes.txt` и сверяет с ним скачанный артефакт.
10. Проходит compatibility gate: реальный бинарник Hysteria должен принять канонический конфиг HY2XS.
11. Копирует package skeleton и собирает install-only orchestrator.
12. Устанавливает frozen frontend lock-граф, runtime-компилирует все сообщения RU/EN реальным `vue-i18n`, проверяет типы и собирает production bundle.
13. Собирает backend HY2XS admin в Linux amd64 binary, проставляя версию через ldflags.
14. Прогоняет `go vet` и `go test` для HY2XS admin (после сборки frontend, потому что `go:embed all:dist` требует готовых ассетов).
15. Проверяет зависимости через `govulncheck ./...` и `pnpm audit` по всему lock-графу.
16. Записывает metadata и checksums.
17. Создаёт архив и прогоняет его acceptance-проверки.
## Контракт версий
@@ -99,6 +100,10 @@ Go-коде больше нет: она уже успела разъехатьс
только политика `HYSTERIA_CHANNEL`, результат резолва — в
[`hysteria-lock.env`](hysteria-lock.env)).
Security overrides frontend находятся в `apps/frontend/pnpm-workspace.yaml`:
это канонический файл настроек pnpm. Поле `pnpm` в `package.json` для этой цели
не используется, потому что новые версии package manager его игнорируют.
## Версия Hysteria: разрешение и compatibility gate
Builder не хранит версию Hysteria вручную. По умолчанию он определяет последнюю стабильную версию сам и замораживает её в пакете.