приложение собрано каркасом и вшито в бинарник

- заведён каталог web/ — Vue 3, роутер пятой версии, сборка Vite; собранное
  вшивается через go:embed и раздаётся корневым маршрутом: разметка на
  неизвестном пути вне корней сервиса, отказ контракта внутри корня
- перечень корней сервиса стал единой точкой и порождает регистрацию маршрутов,
  а не описывает её; журнал раздачи пишет исход и длину пути, но не сам путь
- шаг front зовёт Node контейнером docker — Biome, юнит-тесты Vue и сборка
  входят в гейт, а в Dockerfile появилась ступень приложения
This commit is contained in:
av
2026-08-15 18:51:05 +03:00
parent c6ffda9aac
commit 663021f712
46 changed files with 5958 additions and 43 deletions
+23
View File
@@ -0,0 +1,23 @@
import vue from '@vitejs/plugin-vue'
// Настройка сборки и настройка проверок живут одним файлом: второй разошёлся бы
// с первым в путях и в наборе подключаемого.
import { defineConfig } from 'vitest/config'
export default defineConfig({
plugins: [vue()],
build: {
// Выходной каталог лежит этажом ниже метки `embed/.gitkeep`: очистка перед
// сборкой метки не касается, и `go build ./...` не отказывает у того, кто
// приложение ни разу не собирал.
outDir: 'embed/dist',
emptyOutDir: true,
// Имя каталога задано явно, а не оставлено умолчанию: на него опираются два
// правила раздачи — отказ вместо разметки на несовпавшем ресурсе и долгий
// срок хранения, — и смена умолчания сборщика выключила бы оба молча.
// Второй дом имени — `controller/http.assetsDir`.
assetsDir: 'assets',
},
test: {
environment: 'happy-dom',
},
})