fix(make): пересобирать изменившийся фронтенд в make run
Цель run зависела только от backend, а статика фронтенда попадает в бинарник через go:embed из backend/static, который обновляла лишь цель frontend. Поэтому make run пересобирал Go-код со старым UI. - run теперь зависит от frontend backend; - frontend стала инкрементальной: npm ci только при изменении package.json/ package-lock.json, npm run build и копирование в backend/static — только когда исходники или конфиги новее, чем backend/static/index.html (он же stamp); - проверки вынесены в shell-recipe, т.к. имена SvelteKit-роутов вида (app) ломают разбор имён файлов в make.
This commit is contained in:
@@ -125,7 +125,7 @@ make build # frontend -> backend/static -> go:embed -> bin/galo
|
||||
Отдельные шаги:
|
||||
|
||||
```bash
|
||||
make frontend # npm ci && npm run build, копирует статику в backend/static
|
||||
make frontend # npm run build, копирует статику в backend/static (инкрементально)
|
||||
make backend # CGO_ENABLED=0 go build -tags nodynamic -o bin/galo
|
||||
```
|
||||
|
||||
@@ -133,6 +133,10 @@ make backend # CGO_ENABLED=0 go build -tags nodynamic -o bin/galo
|
||||
> транспилированный в Go libwebp вместо динамической загрузки через purego,
|
||||
> благодаря чему бинарник остаётся полностью статическим.
|
||||
|
||||
`make frontend` собирает только при изменении исходников `frontend/`; `npm ci`
|
||||
запускается лишь когда менялись `package.json`/`package-lock.json`. `make run`
|
||||
и `make build` учитывают это и не пересобирают неизменившийся фронтенд.
|
||||
|
||||
Проверка:
|
||||
|
||||
```bash
|
||||
@@ -151,7 +155,7 @@ make migrate # go run ./cmd/migrate — применяет up-миграци
|
||||
## Локальный запуск
|
||||
|
||||
```bash
|
||||
make run # соберёт backend и запустит ./bin/galo
|
||||
make run # доберёт изменившийся фронтенд, соберёт backend и запустит ./bin/galo
|
||||
# или напрямую:
|
||||
./bin/galo
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user